2014-04-11 2 views
0
내가 cocos2dx 코드를 읽고 있어요

에서 함수를 정의, 나는 것을 발견! 그렇다면이 CC_DLL의 요점은 무엇입니까?이해 cocos2dx

+0

당신이 읽고있는 코드의 링크를 게시 할 수 있습니까? – brokenfoot

+0

한 가지 가능성 : 컴파일 방법에 따라 CC_DLL에 대해 여러 가지 변형이있을 수 있습니다. 찾은 사람은 아무 것도없고 다른 사람은 실제로 gettimeofday 전에 삽입 할 것입니다 – deviantfan

+0

링크를 찾았지만 광산과 다릅니다 : https : //github.com/richy486/OnMinimalism/blob/master/cocos2dx/platform/win32/ CCPlatformDefine.h – 1hunch1kill

답변

1

이러한 종류의 구조는 다른 플랫폼의 공유 라이브러리 (일명 DLL)에서 사용하도록 빌드 된 코드에서 발생합니다.

이 목적은 컴파일러/환경 특정 속성 및 유사 항목의 추가를 허용하는 것입니다. 예를 들어 MS 컴파일러에서는 함수가 참조되는 곳의 __declspec(dllimport)과 함수가 정의되는 곳의 __declspec(dllexport)이 필요합니다. gcc에서는 __attribute__((dllexport))을 대신 사용하십시오. 그러나 Windows 용으로 구축하지 않은 경우 gcc 가시성 속성 예를 들어 __attribute__((visibility("default"))이 필요할 수 있습니다.

이 경우 컴파일러와 환경에 "그런 것이 필요하지 않습니다"라는 메시지가 나타납니다.

이 gcc가 이러한 몇 가지 보여줍니다 http://gcc.gnu.org/wiki/Visibility