C/C++ 소스 파일에서 작동하는 파서를 작성하고 있습니다. 파서의 1 단계로서 이미 사용 가능한 전 처리기를 사용해야하므로 #define, #ifdef과 같은 지시문을 사용할 수 있습니다. g ++의 경우 사용 가능한 도구는 'cpp' (또는 g++ -E ...)입니다. 그래서 다른 C/C++ 소스 파일에서이 'CPP'를 실행하는 가장 좋은 방법이 될 수
디버깅 매크로를 작성했고 그 안에 시간을 포함하기를 원합니다.이 경우 함수 내 gettimestr()은 sprintf 패드가 00:00:00으로 패드되어 있기 때문에 작은 버퍼 (길이가 항상 8입니다)를 허용하고 그 안에 fprintf을 포함합니다. 다음과 같은 내 매크로 외모 : #define _DEBUGPRINT(...) fprintf(stderr, _
내 자신의 열거 형을 정의하고 싶습니다. ExitType. 나는 이렇게 썼다. enum ExitType{
EXIT_SUCCESS,
EXIT_FAILURE,
EXIT_OTHERTYPE
};
나는 ExitType을 반환하는 함수를 가지고있다. 일부 조건에서는 EXIT_SUCCESS를 리턴합니다. 하지만 int에서 Exit
vs2008의 프로젝트 설정에서 DEBUG 또는 WIN32와 같은 사용자 기호를 정의 할 수 있습니다. 문제는 : 다른 솔루션에서 하나의 프로젝트 (정적 라이브러리)를 사용하고 있으며 각 솔루션에서 미리 정의 된 다른 심볼을 사용하여 같은 vcproj를 작성하고 싶습니다. '솔루션 중심의 심볼'을 정의하는 방법이 있습니까? 아니면 어떻게 든 프로젝트가 솔루
가능한 중복 : Inline functions vs Preprocessor macros 인라인 함수가 기존 사용 ++ (#DEFINE 매크로 이름 ...), 여전히, 나는 C를 많이 참조 C 스타일의 매크로를 교체하는 C++ 코드를 도입 인라인 함수보다 C 스타일 매크로는 오래된 C 스타일 매크로보다 열등한 인라인 함수입니까?
M (0)과 N (0)의 결과가 다른 이유는 무엇입니까? #define CAT_I(a, b) a ## b
#define CAT(a, b) CAT_I(a, b)
#define M_0 CAT(x, y)
#define M_1 whatever_else
#define M(a) CAT(M_, a)
M(0); // expands to CAT(x, y)
(xUnit 용 소형 BDD 확장 프로그램 (< 600 행))을 완전한 .dll 대신 단일 .cs 파일로 배포하려고합니다. SubSpec은 Silverlight와 .NET을 사용하기 때문에 CSS 전처리기를 통해 단일 마스터 파일에서 SubSpec의 릴리스 버전을 빌드하는 것이 이상적입니다. "release version"은 단일 cs 파일을 만드는 것을