c-preprocessor

    1

    4답변

    루비와 파이썬에서 메타 프로그래밍의 장점을 보았지만 실제 작업을 위해서는 C++과 C과 같은 저급 언어에 묶여 있었기 때문에 두 가지를 결합하는 매너를 생각하고 있습니다. . 하나의 인스턴스는 임의의 구조/클래스의리스트를 정렬하기위한 간단한 문제로 온다. 예를 들어, struct s{ int a; int b; }; vector<s>

    0

    1답변

    일부 사전 처리기 매크로를 선택적으로 기록하기 위해 코딩하고 싶습니다. 내가 제시로 ML_DEBUG(NSLog(@"Class dealloc: %@", [NSString stringWithCString:object_getClassName(self)])); 코드는 잘 작동 다음하는 .m에서 .H //#define ML_DEBUG(x) (x) // flip

    13

    2답변

    sizeof는 컴파일 타임에 정수 상수로 평가되는 연산자라는 것을 알고 있습니다.이 #if 4 == sizeof(int) typedef int Int32; #endif 왜 이러한 사용되지 않습니다 (Cygwin에서-GCC 3.4.4뿐만 아니라 비주얼 C++ 6.0 보고서가 오류를 컴파일) : 그러나이 같은의 #if 전처리 지시어에 사용할 수없

    2

    1답변

    yacc/bison을 사용하여 #define 매크로를 구현하려면 어떻게해야합니까? 나는 모든 정의 된 문자가 일반 변수와 일치해야한다고 생각했습니다. 변수는 [a-zA-Z_][a-zA-Z0-9_]*으로 정의되었으므로 변수가 정의되어 있는지 확인하기 위해 거기에 수표를 넣을 수 있습니다. 그런 다음 텍스트를 대체해야합니다. 어떻게 할 수 있습니까? 지금 나는

    52

    7답변

    질문은 꽤 분명하다고 생각합니다. 어떤 컴파일러가 사용되었고 어떤 버전인지에 대한 어플리케이션 정보를 포함 할 수 있도록 컴파일러 탐지 헤더를 작성하려고합니다. 이 내가 사용하고 코드의 일부입니다 다음과 같이 사용할 수 /* GNU C Compiler Detection */ #elif defined __GNUC__ #ifdef __MINGW32_

    1

    9답변

    내 C 프로젝트에서 하나의 알고리즘을 구현하지만 다른 방법으로 5 가지 다른 기능 (동일한 이름)을 가지고 있습니다. 컴파일 할 때 이러한 함수 중 하나만 선택해야합니다. #define과 #ifndef 묶음을 사용하여 구현할 수 있습니까? 이 작업을 수행하는 더 좋은 방법이 있습니까?

    1

    3답변

    #define 지시어를 사용하여 "ulong"을 모두 "부호없는 long"으로 변경하려고합니다. #define ulong unsigned long ulong idCounter = 0; 는 슬프게도, 나는 오히려 "서명되지 않은 긴"보다 "부호"로 ULONG를 교체 끝 생각 : 다음은 예입니다. "#define ulong (unsigned long)"시

    321

    3답변

    나는 보통 헤더 파일의 시작에 같은 코드를보고되었습니다 #ifndef HEADERFILE_H #define HEADERFILE_H 그리고 파일의 끝에는 #endif 이것의 목적은 무엇입니까?

    2

    10답변

    일부 코드 줄을 디버그 모드에서만 "활성"으로 설정하고 해제 모드에서는 무시해야합니다. 다음과 같은 일을 할 수있는 방법이 있나요 : _TEST_가 정의되지 않은 경우 #include <iostream> using namespace std; #ifdef _TEST_ #define _cerr cerr #else #define _cerr // cer

    2

    1답변

    다음과 같이 내가 문자열에 대한 매크로를 가지고 : const wchar_t *AppProgID = APPNAME L".Document"; : #define APPNAME "MyApp" 지금 내가 좋아하는 뭔가를 수행하여이 매크로를 사용하여 넓은 문자열을 구성 할 그러나 이것은 "연결이 일치하지 않는 문자열"컴파일 오류를 생성합니다. APPNAME