c-preprocessor

    4

    10답변

    Visual Studio의 "치명적인 오류 C1017 : 잘못된 정수 상수 표현"오류로 컴파일되지 않습니다. 어떻게하면 좋을까요? template <class B> A *Create() { #if sizeof(B) > sizeof(A) #error sizeof(B) > sizeof(A)! #endif ... }

    0

    1답변

    단위 테스트 실행 여부에 따라 상수를 설정하는 방법이 있습니까? 유닛 테스트 프레임 워크의 문제점은 종속성을 다루는 것과 같습니다. 파일을 복사하지만 디렉토리 구조를 존중하지는 않습니다. 해결책으로로드 할 파일을 찾을 때 DEBUG 상수가 설정되어 있는지 확인하지만 프로젝트 실행이 테스트 실행의 일부가 아니지만 개발자가 디버그 세션을 실행할 때 문제가 발생

    14

    4답변

    C 전처리 기가 함수 (매크로가 아님)가 선언되었는지 여부를 확인할 수 있습니까? 나는 다음을 시도했지만 작동 표시되지 않습니다 #include <stdio.h> int main(void) { #if defined(printf) printf("You support printf!\n"); #else puts("Either you d

    2

    3답변

    나는 개념적으로 이와 비슷한 것을하려고 노력하고있다. 그러나 어떤 아이디어로도 작동하지 못하는 것처럼 보인다. #include <stdio.h> int main(int argc , char const *argv[]) { int abc_def_ghi = 42; #define SUFFIX ghi #define VAR(prefix

    1

    5답변

    이와 비슷한 작업을 수행 할 수 있다면 응용 프로그램에서 수백 줄의 코드를 잘라내어 유지 관리 가능성을 크게 높일 수 있습니다. 누구든지 아이디어가 있습니까? #include <stdio.h> int main() { #define include_all_files(root) \ #include #root "1.h" \

    3

    1답변

    저는 C++ 전역 변수의 생성자의 동작을 이용하여 간단한 방법으로 시작시 코드를 실행합니다. 그것은 아주 쉬운 개념이지만 나를 그냥 코드를 붙여 보자 이렇게 설명하기 조금 어려운 : struct _LuaVariableRegistration { template<class T> _LuaVariableRegistration(const char

    2

    6답변

    #endif 다음 #ifdef와 #undef를 나는 그러나,이 코드를 실행에 다음 코드를 #define PROC_ADD void main(void) { while(1) { #ifdef PROC_ADD // Do this code here then undefined it to run the code in the else // pr

    1

    5답변

    NULL을 재정의하는 라이브러리를 사용하고 있습니다. 내 프로그램의 다른 부분에 문제가 발생합니다. 내가 뭘 할 수 있는지 잘 모르겠다. 어떤 생각? 내 프로그램은 C++이고, 라이브러리는 C입니다. #ifdef NULL #undef NULL #endif /** * NULL define. */ #define NULL ((void *) 0)

    1

    7답변

    "$ Revision : 9 $"또는 "$ Revision : 9999999 $"와 같은 임의의 SVN 리비전을 정수 나 정수로 변환 할 수있는 C/C++ 매크로를 찾고 있습니다. 끈. 이 간단한 함수가 있음을 알고 있지만이 컴파일 시간에 만들 싶습니다. unsigned int rev = SVN_TO_INT("$Revision$");

    14

    3답변

    고객이 최근에 내 고용주의 C 코드베이스에 대한 정적 분석을 수행하고 결과를 알려주었습니다. 유용한 패치 중에는 do { ... } while(0) 매크로를 do { ... } while(0,0)으로 변경하라는 요청이있었습니다. 나는 그들의 패치가 무엇을하는지 이해한다. (시퀀스 연산자를 사용하여 return 은 두 번째 "0"의 값으로 평가되므로 효과는