1

영향을주지 독립형 또는 임베디드을. 내가 임베디드 목적에 컴파일 할 때 내가 쓴전 처리기 지시어 내가 처리기 지시문에 기술적 인 문제가 발생하고

#ifdef _mdimode_ 
    //code for embedded 
#else 
    //code for standalone (default) 
#endif 

그리고 내 주요 파일 :
내가 좋아하는 일을했다

#define _mdimode_ 

을하지만 인식하거나 이해하지 못하는 ++ 그 g을 보인다. 항상 다른 곳으로 들어가서 임베디드 버전의 코드를 컴파일하지 않습니다.

정보를 정기적으로 :
GNU 3.82
g ++ (GCC)를 확인 4.6.1 20110908는 (레드햇 4.6.1-9)
파일 접미사 : .C

답변

1

이것은 추측의 비트입니다 더 많은 정보없이. 코드가 주 파일과 다른 파일에 있다고 가정합니다. 이것이 맞다면 #define은 프로젝트의 해당 부분으로 전파되지 않습니다. 코드가 들어있는 파일이나 헤더에 #include d를 설정해야합니다.

또한 컴파일 명령의 옵션에 #define 설정하도록 선택할 수 있습니다

g++ -c -D_mdimode_ mycode.C