2013-01-25 3 views
0

는 열거 및 인수 등의 열거를받는 함수를 정의 내가 (일부 라이브러리 용) C 헤더가 말해. 헤더를 포함하고 라이브러리를 링크하는 자체 코드를 작성할 수는 있지만 함수가 실제로 예상하는 int의 종류를 컴파일러가 어떻게 알 수 있습니까? 만약 내가 잘 이해한다면, 표준은 어떤 타입이 enum의 기초를 두는지를 결정하는 특별한 방법을 요구하지 않는다. 그래서 ...? 사전에C 컴파일러는 f (enum)을 컴파일하는 방법을 어떻게 나타 냅니까?

감사합니다.

+0

"어떤 종류의 int"와 "어떤 유형이 enum의 기초가 되는가"란 무엇을 의미합니까? 다른 컴파일러에서 int 크기가 다른 것을 말하고 있습니까? –

답변

2

함수를 호출하는 코드와 아마 기능을 구현하는 코드는 모두 그 열거의 선언과 공통 헤더를 공유 할 수 있습니다. 동일하기 때문에 컴파일러는 일치하는 코드를 생성합니다.

당신이 & 일치 컴파일러를 혼합하는 경우도이 같은 경우에 상호 운용성 문제를 끝낼 수 있습니다.

+0

는 희망 컴파일러는 예, 문제는 더 다른 컴파일러의 경우에 그래서 무엇을하고 있는지 알고있다. – antony

+0

컴파일러를 혼합하고 매치 할 때 다른 많은 문제가 있습니다. 만약'int'가 각각 다른 크기라면 어떻게 될까요? –

관련 문제