CMake에서 GoogleTest 사용하기

출처 구성은 아래와 같이 되어 있다고 한다. src 폴더 아래가 테스트 대상 코드, test 폴더 아래는 테스트 코드 클래스 단위로 파일이 나누어져 있다고 가정한다. mk.sh을 실행하면 build/src/ 에 응용 프로그램의 실행 파일, build/test/ 에 테스트의 실행 파일이 만들어진다. ├── CMakeLists.txt...
더 읽기

cmake에서 CMAKE_C_FLAGS에 설정한 값이 무시될 때

출처 CMakeLists.txt 안에서 컴파일 옵션을 지정하려고 했는데 설정이 무시되는 문제를 만났다. 컴파일 옵션 지정과 add_subdirectory 명령어 기술 순서가 문제였다. 문제 CMakeLists.txt cmake_minimum_required(VERSION 3.12) project(cmake_01) set(APP_NAME example) add_subdirectory(src) # 여기가 무시된다. set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall") set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -g -O0") set(CMAKE_CXX_FLAGS ${CMAKE_C_FLAGS}) set(CMAKE_CXX_FLAGS_DEBUG...
더 읽기

스터디 - 신입 게임 서버 프로그래머 학습 모임

신입 게임 서버 프로그래머를 목표로 하는 분을 도와 드리려고 하다가 이왕 하는 것 좀 더 많은 분들을 도와 드리면 좋을 것 같아서 모임을 만들기로 했습니다. 게임 서버 프로그래머가 되기 위해서 어떤 것을 공부해야 할지 잘 모르는 분들에게 제가 어떻게 공부하고...
더 읽기

.NET Core - Improving .NET Core Kestrel performance using a Linux-specific transport

이 글을 구글 번역을 통해 일부 정리했다 성능은 핵심 기능입으로 많이 최적화되어 지속적으로 벤치마킹 하고 있다. Kestrel은 HTTP 서버의 이름이다. 이 블로그 포스트에서 우리는 Kestrel의 네트워킹 레이어를 리눅스 관련 구현으로 대체하고, 기본 구현 방식과 비교하여 벤치마킹 할 것이다. TechEmpower 웹...
더 읽기

C# 7.3의 새로운 기능

출처 Overload 해결 버전 1.0의 C#에서 overload의 해결 규칙은 의문이 남는 디자인이었다. 어떤 상황에서 두 개 이상의 메소드가 후보가 되는데, 하나 밖에 사용할 수 없다. 우선 순위에 따라 잘못된 방법을 선택하거나 컴파일러가 일치하는 메소드를 찾지 못하거나 일치하지만 모호한 경우가 있다....
더 읽기

golang - 구조체의 정확한 크기 계산하기

golang의 구조체도 c/c++과 같이 패딩이 있다. type PacketHeader struct { N1 int32 N2 int16 N3 int64 } 위 구조체를 unsafe.Sizeof를 하면 패딩 때문에 크기가 16이 나온다. (sizeof가 기본 기능이 아니고 unsafe 패키지를 사용해야 한다.) 구글링을 해 봐도 #pragma pack(1) 같은...
더 읽기

C++ - 안전한 문자열 조작 함수

문자열 복사 strcpy_s, strcpy, _tcscpy_s, wcscpy, wcscpy_s 대체 추천 함수 strncpy_s(char), _tcsncpy_s(TCHAR) , wcsncpy_s(wchar_t) errno_t wcsncpy_s( wchar_t *strDest, strDest의 크기, const wchar_t *strSource, 복사할 문자 수 ); wchar_t szDest[256] = {0,}; wchar_t szSource[] = L"TEST"; wcsncpy_s( szDest, 256, szSource, 4...
더 읽기

C++ - C++/CLI

클래스(class), 핸들(^) C++/CLI에서 관리 클래스는 ‘ref’라는 키워드를 사용하여 만든다. 비 관리 클래스 class Test { }; 관리 클래스 ref class Test { }; 관리 클래스는 ‘ref’를 제외하고는 외관상으로는 비 관리 클래스와 비슷하지만 관리와 비 관리가 많이 다르듯이 관리 클래스는 비...
더 읽기