매크로나 .def 파일 없이 DLL의 모든 기호 자동 내보내기
Visual Studio 2005에서는 DLL의 모든 기호를 내보낼 수 있습니다. __declspec(dllexport)를 수동으로 추가하거나 .def 파일을 생성하지 않고도 가능합니다. 이는 다음 단계를 통해 수행됩니다.
CMake 사용(권장)
- "내보내기"가 포함된 CMake 버전 3.3.20150721-g9cd2f 이상을 설치합니다. 전체' 기능.
- 라인 추가 (CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)을 CMakeLists.txt 파일에 설정합니다.
- CMake를 사용하여 Visual Studio 프로젝트를 만듭니다.
- 프로젝트를 컴파일하면 모든 기호가 자동으로 내보내집니다.
참고: 이 방법을 사용할 때는 /GL을 확인하세요. (전체 프로그램 최적화)이 활성화되어 있지 않습니다.
.obj 파일 구문 분석
- .obj 파일을 구문 분석하고 내보낸 기호를 추출하는 프로그램을 만듭니다.
- 호출 규칙, 기호 필드, 외부/정적 등의 정보 수집
- 추출된 기호로 .def 파일을 생성합니다.
- .def 파일을 사용하여 DLL을 연결합니다.
이 방법에는 추가 노력이 필요하지만 .obj 파일 구문 분석에 유연성을 제공합니다.
추가 팁
- C 함수에 __declspec(dllexport) 또는 __cdecl 내보내기 매크로를 사용하면 이름 변경을 방지할 수 있습니다.
- 정적 라이브러리를 사용하여 기호를 내보낸 다음 구문 분석하고 추출하여 .def 파일에서 사용하세요.
위 내용은 매크로나 .def 파일을 사용하지 않고 Visual Studio에서 DLL의 모든 기호를 어떻게 내보낼 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!