gcc 의 dll tool 과 dllwrap 도구
2273 단어 tool
줄곧 이 두 가지 물건 을 이해 하지 못 해서 오늘 시간 을 써 보 았 다.
총 결 은 다음 과 같다.
mingw 에서 dll 을 만 드 는 방법 은 두 가지 가 있 습 니 다. 하 나 는 사용 입 니 다. gcc -shared ...
둘 째 는 dllwrap...
dllwrap 은 도구 호출 입 니 다. gcc - shared 는 직접 생 성 됩 니 다.
dllwrap 은 상대 적 으로 유연 합 니 다. 하지만 gcc - shared 는 기본적으로 사용 하기에 충분 합 니 다.
dll tool 은 def, exp, lib 파일 을 만 드 는 도구 입 니 다.
이것 은 obj 파일 (기본 함수 가 declspec (dllexport) 로 표시 되 거나 def 파일 을 기반 으로 exp 와 lib 파일 을 생 성 할 수 있 습 니 다.
전자 (exp 파일, 'edata 세그먼트 포함) 는 dll, 후자 (lib 파일,. idea 세그먼트 포함) 는 dll 을 사용 하 는 데 사 용 됩 니 다.
dll tool 에서 DLLNAME 인 자 는 def 파일 의 library 이름과 lib 의 dll 이름 을 만 드 는 데 만 사 용 됩 니 다.
그 자체 에 dll 정보 가 필요 하지 않 습 니 다.
몇 가지 주요 참고 문서:
gcc - shared 를 사용 하여 dll 을 만 드 는 것 도 실험의 좋 은 기초 입 니 다.
http://www.adp-gmbh.ch/win/misc/mingw/dll.html
gnu - binutils manual, as / ar / ranlib / dlltool / ld 는 모두 그의 일부분 입 니 다.
gcc - shared 와 관련 된 몇 가지 인자:
--add-stdcall-alias Export symbols with and without @nn
--kill-at Remove @nn from exported symbols
--out-implib <file> Generate import library
--output-def <file> Generate a .DEF file for the built DLL
dlltool
-z --output-def <deffile> Name of .def file to be created.
--export-all-symbols Export all symbols to .def
--no-export-all-symbols Only export listed symbols
--exclude-symbols <list> Don't export <list>
--no-default-excludes Clear default exclude symbols
-b --base-file <basefile> Read linker generated base file.
-x --no-idata4 Don't generate idata$4 section.
-c --no-idata5 Don't generate idata$5 section.
-U --add-underscore Add underscores to symbols in interface library.
-k --kill-at Kill @<n> from exported names.
-A --add-stdcall-alias Add aliases without @<n>.
-p --ext-prefix-alias <prefix> Add aliases with <prefix>.
msvc 와 gcc 에서 생 성stdcall 호출 dll
http://www.geocities.com/yongweiwu/stdcall.htm
그리고 직접 실험 하 는 거 야.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Gif 위젯: "페인트 잇 블랙"템플릿에는 에서 도구 모음 앱을 만드는 데 필요한 모든 것이 포함되어 있습니다. 오늘 우리는 "Paint it Black"위젯을 분해할 것입니다. 이것은 도구 모음에 고정하는 매우 기본적인 위젯입니다. "Paint ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.