반응형

C 32

C 및 C++의 문으로서의 선언/정의

C 및 C++의 문으로서의 선언/정의 이것이 C:에서 컴파일되지 않을 때 혼란스러웠습니다. int main() { for (int i = 0; i < 4; ++i) int a = 5; // A dependent statement may not be declaration return 0; } 저는 이것이 컴파일될 C++에 익숙합니다.저는 C와 C++에서 서로 다른 것들이 어떻게 "문"으로 간주되는지에 대한 여기 SO에 대한 대답을 기억할 때까지 잠시 동안 어안이 벙벙했습니다.이것은 스위치 문에 관한 것이었습니다.for 루프 브래킷 뒤의 "문"은 C와 C++ 모두에 있어야 합니다.이 작업은 세미콜론을 추가하거나 {}개의 꼬불꼬불한 브래킷 블록을 생성하는 데 모두 사용할 수 있습니다. C++에서 "inta =..

programing 2023.06.12

정의/정의되지 않은 값을 기준으로 #ifdef 블록을 제거하는 C 프리프로세서가 있습니까?

정의/정의되지 않은 값을 기준으로 #ifdef 블록을 제거하는 C 프리프로세서가 있습니까? 원래 질문 제가 원하는 것은 표준 C 전처리기가 아니라 -DNAME1 및 -UNAME2 옵션을 통해 명령줄을 사용할 수 있는 변형입니다. 매크로가 정의된 후 데드 코드를 제거할 수 있습니다. 몇 가지 예를 들어보면 제가 추구하는 것을 이해하는 것이 더 쉬울 수 있습니다. #ifdef NAME1 #define ALBUQUERQUE "ambidextrous" #else #define PHANTASMAGORIA "ghostly" #endif 명령이 '-DNAME1'로 실행된 경우 출력은 다음과 같습니다. #define ALBUQUERQUE "ambidextrous" 명령이 '-UNAME1'로 실행된 경우 출력은 다음과 ..

programing 2023.06.07
반응형