문제

이진 파일 -Windows STATIC 라이브러리 (*.lib)가 있습니다.
기능의 이름과 해당 라이브러리에서 인터페이스를 찾는 간단한 방법이 있습니까?

비슷한 것 emfar 그리고 elfdump 유틸리티 (Linux 시스템)?

도움이 되었습니까?

해결책

정적 라이브러리에 대해 이야기하고 있다고 가정하면 DUMPBIN /SYMBOLS 라이브러리의 기능 및 데이터 개체를 보여줍니다. 수입 도서관에 대해 이야기하고 있다면 (a .lib DLL에서 내보낸 기호를 참조하는 데 사용됩니다. DUMPBIN /EXPORTS.

"C"이진 인터페이스와 연결된 함수의 경우 여전히 값, 매개 변수 또는 호출 규칙을 반환하지 않습니다. 해당 정보는 .lib 조금도; 예를 들어 올바르게 호출하려면 (예 : 헤더 파일의 프로토 타입을 통해) 미리 알아야합니다.

C ++ 이진 인터페이스와 연결된 함수의 경우 호출 규칙 및 인수는 내보내는 함수 이름 ( "이름 Mangling"이라고도 함)으로 인코딩됩니다. DUMPBIN /SYMBOLS "Mangled"기능 이름과 디코딩 된 매개 변수 세트를 모두 보여줍니다.

다른 팁

Visual Command Console (Visual Studio 명령 프롬프트) 열기

dumpbin /ARCHIVEMEMBERS openssl.x86.lib

또는

lib /LIST openssl.x86.lib

또는 7-zip으로 열 수 있습니다 :) AR 아카이브입니다

나는 같은 도구를 원했다 ar t libfile.a 유닉스에서.
Windows에 해당합니다 lib.exe /list libfile.lib.

lib.exe는 vs의 사서입니다

http://msdn.microsoft.com/en-us/library/7ykb2k5f(vs.80).aspx

(유닉스의 libtool와 같은)

"Dumpbin -Exports"는 DLL에서 작동하지만 때로는 lib에서 작동하지 않을 수 있습니다. lib의 경우 "dumpbin -linkermember"또는 "dumpbin -linkermember : 1"을 사용할 수 있습니다.

덤프 빈 /내보내기는 대부분의 정보를 얻을 수 있으며 MSDN을 치면 나머지는 얻을 수 있습니다.

Visual Studio 패키지 중 하나를 얻으십시오. C ++

1) vs 2017 (또는 기계에 있던 버전)에 대한 개발자 명령 프롬프트를 엽니 다 (시작 메뉴 -> 모든 프로그램 -> Visual Studio 2017 (또는 컴퓨터에있는 버전). -> Visual Studio Tools-> VS 2017의 Developer 명령 프롬프트.

2) 다음 명령을 입력하십시오.

dumpbin /EXPORTS my_lib_name.lib

다른 답변에서 볼 수있는 것처럼 Visual Studio 버전에서 제공되는 개발자 명령 프롬프트를 열어야합니다. dumpbin.exe 실행 경로에서. 그렇지 않으면 필요한 환경 변수를 손으로 설정할 수 있습니다.

dumpbin /EXPORTS yourlibrary.lib 일반적으로 작은 기호 목록 만 표시됩니다. 대부분의 경우 라이브러리 수출 기능을 표시하지 않습니다.

dumpbin /SYMBOLS /EXPORTS yourlibrary.lib 그 상징뿐만 아니라 엄청나게 많은 양의 다른 심보스를 보여줄 것입니다. 그래서, 당신은 아마도 파이프를 사용하여 필터링해야합니다. findstr (MS-Windows 도구를 원한다면) 또는 grep.

검색 Static 이러한 도구 중 하나를 사용하는 키워드는 좋은 힌트 인 것 같습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top