c-preprocessor

    4

    1답변

    저는 주로 자신의 컴파일 시간 목록을 작성하는 템플리트 메타 프로그래밍을 수행하고 있습니다. 그러나 가능한 경우 작업을보다 쉽게하기 위해 사용하려는 일부 전 처리기 마법도 가지고 있습니다. 내가 뭘 하려는지는 펑터 (functor)의 컴파일 시간 목록을 만드는 것입니다. 그 부분은 끝났지 만 작성을 쉽게하고 목록에 추가하는 매크로는 그렇지 않습니다. 간단한

    16

    5답변

    이 전 동안은 (오히려 고대) C 컴파일러를 발견했다 매크로를 검사하는이 방법 (의사 코드) : 종류의 매크로가 정말 배치해야 나에게 질문을 제기 if line.startswith("#include") or line.startswith("#define"): ... .. 그래서 같은 행의 시작 부분에 void stuff() { #if defi

    2

    1답변

    variadic 매크로로 보낸 첫 번째 실제 매개 변수를 가져 오려고합니다. 이것은 내가 뭘하려하고, 이는 VS2010에서 작동하지 않습니다 : 다른 한편으로 #define FIRST_ARG(N, ...) N #define MY_MACRO(...) decltype(FIRST_ARG(__VA_ARGS__)) 내가 FIRST_ARG이 MY_MACRO로 전

    0

    5답변

    vararg 함수와 같이 C의 각 인수에 포인터를 가져 오는 일반적인 방법이 있습니까? $ 1, $ 2, $ 3 그리고하지 않을 경우 같은 특수 구문은 정의 일부 처리기 매크로가? C에서 가능하지 않은 경우 Objective C 솔루션에도 관심이 있습니다. _cmd 특수 숨겨진 매개 변수를 사용하여 현재 메서드의 선택기를 가져올 수 있음을 알고 있습니다.

    4

    3답변

    #include <iostream>을 보면 전 처리기 지시문이라고합니다. #include ---> 지시어 , 나는 생각 : <iostream> ---> "처리기"와 "지침"무엇을 의미하는지 전처리 그러나?

    9

    2답변

    전 처리기를 호출하지 않고 Microsoft Visual Studio 컴파일러 cl.exe을 실행하고 싶습니다. 이것이 가능한가? 단순히 전처리 된 소스 코드 (/c 플래그 사용)를 컴파일하면 전 처리기를 아무 작업없이 실행하게 만들 수 있다고 생각했지만 실제로는 그렇지 않습니다. 나는 약간의 벤치마킹을했다. 여기 #include <iostream> #i

    4

    2답변

    에서 #endif 다음은 내가 MSDN의 샘플 코드를 가지고 내가 코드 구문을 발견했습니다 #else, #endif? 그리고 #if InMemDB은 무엇입니까? InMemDB은 무엇입니까? 변수?

    1

    3답변

    작업중인 프로그램에 문제가 있습니다. 나는 컴파일 할 기능을 표시하는 데 도움이됩니다. 그러나 이들 중 상당수가 "정상적인"방법으로 너무 장황합니다. 예컨대 : 이제 #ifdef HAVE_FOO static const bool have_foo = true; #else static const bool have_foo = false; #endif pr

    1

    2답변

    C++ 전 처리기를 사용하여 파일 경로를 처리 할 수 ​​있습니까? 는 내가 원하는이 GETROOT(__FILE__) 이 파일의 경로는 윈도우 XP가

    12

    4답변

    C/C++로 작업 한 대부분의 사람들은 전처리 기가 어떻게 작동하는지에 대한 직감을 가지고 있다고 생각합니다. 나는 오늘까지 그렇게 생각했지만, 나의 직감은 틀린 것으로 판명되었습니다. 이야기가 있습니다 : 오늘 나는 무언가를 시도했지만 그 결과를 설명 할 수는 없습니다. 먼저 다음 코드를 고려하십시오. #define A B #define B A A