Windows¤Î¤è¤¦¤ÊPE¥Õ¥©¡¼¥Þ¥Ã¥È¥¤¥á¡¼¥¸¥Õ¥¡¥¤¥ë¤òÍý²ò¤¹¤ë¥·¥¹¥Æ¥à¤Ç¡¤¥À¥¤
¥Ê¥ß¥Ã¥¯¥ê¥ó¥¯¥é¥¤¥Ö¥é¥ê(DLL)¤òºîÀ®¤¹¤ë¤¿¤á¤ËɬÍפʥե¡¥¤¥ë¤òºîÀ®¤¹¤ë¤¿
¤á¤Ë¡¤dlltool
¤Ï»ÈÍѤµ¤ì¤Þ¤¹¡¥DLL¤Ë¤Ï¡¤»²¾È¸µ¤Î¥×¥í¥°¥é¥à¤¬»²
¾ÈÀè¤ò¼Â¹Ô»þ¤Ë²ò·è¤¹¤ë¤¿¤á¤Ë¥í¡¼¥À¤¬É¬ÍפȤ¹¤ë¾ðÊó¤ò´Þ¤ó¤Ç¤¤¤ë¡¤¥¨¥¯¥¹
¥Ý¡¼¥È¥Æ¡¼¥Ö¥ë¤¬´Þ¤Þ¤ì¤Þ¤¹¡¥
¥¨¥¯¥¹¥Ý¡¼¥È¥Æ¡¼¥Ö¥ë¤Ï¡¤.def¥Õ¥¡¥¤¥ë¤ä¤òÆÉ¤ß¹þ¤ó¤À¤ê¡¤DLLÆâ¤Î .a¤È.o¥Õ¥¡¥¤¥ë¤ò¥¹¥¥ã¥ó¤¹¤ë¤³¤È¤Ç¡¤¤³¤Î¥×¥í¥°¥é¥à¤¬À¸À® ¤·¤Þ¤¹¡¥.o¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¤¥¨¥¯¥¹¥Ý¡¼¥È¾ðÊ󤬤¢¤ëÆÃ¼ì¤Ê ‘.drectve’¥»¥¯¥·¥ç¥ó¤ò´Þ¤á¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡¥
Note:
dlltool
¤Ï¡¤DLL¤ò¥µ¥Ý¡¼¥È¤¹¤ë¥¿¡¼¥²¥Ã¥È¤ËÂФ·¤Æ¤Î ¤ßÌò¤ËΩ¤Ä¤Î¤Ç¡¤¾ï¤Ë¥Ð¥¤¥Ê¥ê¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤Î°ìÉô¤È¤·¤Æ¥Ó¥ë¥É¤µ¤ì¤ë¤ï¤± ¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó¡¥
dlltool [-d|--input-def def-file-name] [-b|--base-file base-file-name] [-e|--output-exp exports-file-name] [-z|--output-def def-file-name] [-l|--output-lib library-file-name] [--export-all-symbols] [--no-export-all-symbols] [--exclude-symbols list] [--no-default-excludes] [-S|--as path-to-assembler] [-f|--as-flags options] [-D|--dllname name] [-m|--machine machine] [-a|--add-indirect] [-U|--add-underscore] [-k|--kill-at] [-A|--add-stdcall-alias] [-p|--ext-prefix-alias prefix] [-x|--no-idata4] [-c|--no-idata5] [-i|--interwork] [-n|--nodelete] [-t|--temp-prefix prefix] [-v|--verbose] [-h|--help] [-V|--version] [object-file …]
dlltool
¤Ï¡¤¤½¤ÎÆþÎϤòÆÉ¤ß¹þ¤ß¡¤¤½¤ì¤Ï¡¤¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤵ
¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤È¡¤-d¤È-b¥ª¥×¥·¥ç¥ó¤«¤éÀ®¤ê
Ω¤Á¤Þ¤¹¡¥¤½¤·¤Æ¡¤¤³¤ì¤é¤ÎÆþÎϤò½èÍý¤·¡¤-e¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì
¤Æ¤¤¤ë¾ì¹ç¤Ï¥¨¥¯¥¹¥Ý¡¼¥È¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡¥-l¥ª¥×¥·¥ç¥ó¤¬»Ø
Äꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¤¥é¥¤¥Ö¥é¥ê¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¡¤-z¥ª¥×¥·¥ç¥ó¤¬
»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¤def¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Þ¤¹¡¥-e¡¤
-l¡¤¤½¤·¤Æ-z¥ª¥×¥·¥ç¥ó¤Î¤¤¤º¤ì¤«¡¤¤Þ¤¿¤Ï¤¹¤Ù¤Æ¤ò¡¤
dlltool
¤Î¸Æ¤Ó½Ð¤·¤ËÇÛÃÖ¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡¥
DLL¤òºîÀ®¤·¤Æ¤¤¤ë¤È¤¡¤DLL¤Î¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤È¤È¤â¤Ë¡¤¤½¤ì¤Ï»°¤Ä¤Î¾¤Î¥Õ¥¡
¥¤¥ë¤¬É¬ÍפǤ¹¡¥dlltool
¤Ï¡¤¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤ÎºîÀ®¤ò¼ê½õ¤±¤¹¤ë
¤³¤È¤¬²Äǽ¤Ç¤¹¡¥
ºÇ½é¤Î¥Õ¥¡¥¤¥ë¤Ï¡¤DLL¤«¤é¥¨¥¯¥¹¥Ý¡¼¥È¤µ¤ì¤ë´Ø¿ô¤ä¡¤DLL¤¬¥¤¥ó¥Ý¡¼¥È¤¹¤ë
´Ø¿ôÅù¤ò»ØÄꤹ¤ë¡¤.def¥Õ¥¡¥¤¥ë¤Ç¤¹¡¥¤³¤ì¤Ï¥Æ¥¥¹¥È¥Õ¥¡¥¤¥ë¤Ç¡¤¼ê
ư¤ÇºîÀ®¤·¤¿¤ê¡¤ºîÀ®¤¹¤ë¤¿¤á¤Ëdlltool
¤ò-z¥ª¥×¥·¥ç¥ó
¤òÍѤ¤¤Æ»ÈÍѤ·¤¿¤ê¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡¥¤³¤Î¾ì¹ç¡¤dlltool
¤Ï¡¤¥¨
¥¯¥¹¥Ý¡¼¥È¤µ¤ì¤ë¤è¤¦¤ËÆÃÊ̤˰õ¤ÎÉÕ¤±¤é¤ì¤¿¤³¤ì¤é¤Î´Ø¿ô¤òõ¤·¤Ê¤¬¤é¡¤¥³
¥Þ¥ó¥É¥é¥¤¥ó¤Ç»ØÄꤵ¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤òÁöºº¤·¡¤ºîÀ®¤¹¤ë
.def¥Õ¥¡¥¤¥ë¤Ë¤½¤ì¤é¤Î¥¨¥ó¥È¥ê¡¼¤ò½ñ¤½Ð¤·¤Þ¤¹¡¥
DLL¤«¤é¥¨¥¯¥¹¥Ý¡¼¥È¤µ¤ì¤ë¤è¤¦¤Ë´Ø¿ô¤Ë°õ¤òÉÕ¤±¤ë¤¿¤á¡¤¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤ ¥ë¤Î‘.drectve’¥»¥¯¥·¥ç¥ó¤Ë¡¤-export:<name_of_function> ¥¨ ¥ó¥È¥ê¡¼¤¬É¬ÍפǤ¹¡¥¤³¤ì¤Ï¡¤C¤Çasm()±é»»»Ò¤ò»ÈÍѤ¹¤ë¤³¤È¤Ç²Äǽ¤È¤Ê¤ê¤Þ ¤¹¡¥
asm (".section .drectve"); asm (".ascii \"-export:my_func\""); int my_func (void) { … }
DLL¤ÎºîÀ®¤ËɬÍפȤµ¤ì¤ëÆóÈÖÌܤΥե¡¥¤¥ë¤Ï¡¤¥¨¥¯¥¹¥Ý¡¼¥È¥Õ¥¡¥¤¥ë¤Ç¤¹¡¥¤³
¤Î¥Õ¥¡¥¤¥ë¤Ï¡¤DLLËÜÂΤòºîÀ®¤·¡¤DLL¤È³°ÉôÀ¤³¦¤Î´Ö¤Î¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤ò¼è
¤ê°·¤¦¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤È¥ê¥ó¥¯¤µ¤ì¤Þ¤¹¡¥¤³¤ì¤Ï¥Ð¥¤¥Ê¥ê¥Õ¥¡¥¤¥ë¤Ç¡¤
dlltool
¤¬.def¥Õ¥¡¥¤¥ë¤ÎºîÀ®¤Þ¤¿¤ÏÆÉ¤ß¹þ¤ß¤ò¤·¤Æ¤¤¤ë¤È
¤¤Ë¡¤¤½¤ì¤Ë-e¥ª¥×¥·¥ç¥ó¤òÍ¿¤¨¤ë¤ÈºîÀ®¤µ¤ì¤Þ¤¹¡¥
DLL¤ÎºîÀ®¤ËɬÍפȤµ¤ì¤ë»°ÈÖÌܤΥե¡¥¤¥ë¤Ï¡¤DLLÆâ¤Î´Ø¿ô¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤¿
¤á¤Ë¥×¥í¥°¥é¥à¤È¥ê¥ó¥¯¤¹¤ë¥é¥¤¥Ö¥é¥ê¥Õ¥¡¥¤¥ë¤Ç¤¹¡¥¤³¤Î¥Õ¥¡¥¤¥ë¤Ï¡¤
dlltool
¤¬.def¥Õ¥¡¥¤¥ë¤ÎºîÀ®¤Þ¤¿¤ÏÆÉ¤ß¹þ¤ß¤ò¤·¤Æ¤¤¤ë¤È
¤¤Ë¡¤¤½¤ì¤Ë-l¥ª¥×¥·¥ç¥ó¤òÍ¿¤¨¤ë¤ÈºîÀ®¤µ¤ì¤Þ¤¹¡¥
dlltool
¤Ï¡¤¼êư¤Ç¥é¥¤¥Ö¥é¥ê¥Õ¥¡¥¤¥ë¤ò¹½ÃÛ¤·¤Þ¤¹¤¬¡¤¤½¤ì¤Ï¡¤¥¢
¥»¥ó¥Ö¥éÀë¸À¤ò´Þ¤à°ì»þ¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¡¤¤½¤ì¤ò¥¢¥»¥ó¥Ö¥ë¤¹¤ë¤³¤È¤Ç¡¤¥¨
¥¯¥¹¥Ý¡¼¥È¥Õ¥¡¥¤¥ë¤ò¹½ÃÛ¤·¤Þ¤¹¡¥-S¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤Ï¡¤
dlltool
¤¬»ÈÍѤ¹¤ë¥¢¥»¥ó¥Ö¥é¤Ø¤Î¥Ñ¥¹¤ò»ØÄꤹ¤ë¤¿¤á»ÈÍѤ¹¤ë¤³¤È
¤¬²Äǽ¤Ç¡¤-f¥ª¥×¥·¥ç¥ó¤Ï¡¤¤½¤Î¥¢¥»¥ó¥Ö¥é¤ËÆÃÊ̤ʥե饰¤òÅϤ¹¤¿
¤á¤Ë»ÈÍѤ¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡¥-n¤Ï¡¤dlltool
¤¬¤³¤ì¤é¤Î
°ì»þŪ¤Ê¥¢¥»¥ó¥Ö¥é¥Õ¥¡¥¤¥ë¤ò½ªÎ»¸å¤Ëºï½ü¤¹¤ë¤³¤È¤òËɤ°¤¿¤á¤Ë»ÈÍѤ¹¤ë¤³
¤È¤¬²Äǽ¤Ç¡¤-n¤¬Æó²ó»ØÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¤dlltool
¤¬
¥é¥¤¥Ö¥é¥ê¤ò¹½ÃÛ¤¹¤ë¤¿¤á¤Ë»ÈÍѤ·¤¿¡¤°ì»þŪ¤Ê¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤¬ºï½ü
¤µ¤ì¤ë¤³¤È¤òËɤ®¤Þ¤¹¡¥
¥½¡¼¥¹¥Õ¥¡¥¤¥ë‘dll.c’¤«¤éDLL¤òºîÀ®¤·¡¤¤½¤ÎDLL¤ò»ÈÍѤ·¤Æ¤¤¤ë¥×¥í¥° ¥é¥à¤â(‘program.o’¤È¤¤¤¦Ì¾Á°¤Î¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤«¤é)ºîÀ®¤·¤Æ¤¤ ¤ëÎã¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ê¤Þ¤¹¡¥
gcc -c dll.c dlltool -e exports.o -l dll.lib dll.o gcc dll.o exports.o -o dll.dll gcc program.o dll.lib -o program
¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤Ë¤Ï°Ê²¼¤Î°ÕÌ£¤¬¤¢¤ê¤Þ¤¹¡¥
-d filename
--input-def filename
ÆÉ¤ß¹þ¤ß¡¤½èÍý¤¹¤ë.def¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡¥
-b filename
--base-file filename
ÆÉ¤ß¹þ¤ß¡¤½èÍý¤¹¤ë¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡¥¤³¤Î¥Õ¥¡¥¤¥ë¤ÎÆâÍÆ
¤Ë¡¤dlltool
¤ÇÀ¸À®¤µ¤ì¤ë¥¨¥¯¥¹¥Ý¡¼¥È¥Õ¥¡¥¤¥ë¤Î¡¤ºÆÇÛÃ֤Υ»¥¯¥·¥ç
¥ó¤¬Äɲ䵤ì¤Þ¤¹¡¥
-e filename
--output-exp filename
dlltool
¤ÇºîÀ®¤µ¤ì¤ë¡¤¥¨¥¯¥¹¥Ý¡¼¥È¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡¥
-z filename
--output-def filename
dlltool
¤ÇºîÀ®¤µ¤ì¤ë¡¤.def¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡¥
-l filename
--output-lib filename
dlltool
¤ÇºîÀ®¤µ¤ì¤ë¡¤¥é¥¤¥Ö¥é¥ê¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò»ØÄꤷ¤Þ¤¹¡¥
--export-all-symbols
ÆþÎÏ¥Õ¥¡¥¤¥ëÆâ¤Î¥¨¥¯¥¹¥Ý¡¼¥È¤µ¤ì¤ë¥·¥ó¥Ü¥ë¤È¤·¤Æ¸«¤Ä¤«¤Ã¤¿¤â¤Î¤Ï¡¤¤¹¤Ù ¤ÆÂç°èŪ¤Ëweak¤È¤·¤ÆÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥·¥ó¥Ü¥ë¤È¤·¤Æ°·¤¤¤Þ¤¹¡¥¤³¤ì¤é¤Ï¡¤¥Ç ¥Õ¥©¥ë¥È¤Ç¥¨¥¯¥¹¥Ý¡¼¥È¤µ¤ì¤Ê¤¤¥·¥ó¥Ü¥ë¤Î¾®¤µ¤Ê¥ê¥¹¥È¤Ç¤¹¡¥ --no-default-excludes¥ª¥×¥·¥ç¥ó¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡¥ --exclude-symbols¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¡¤¥¨¥¯¥¹¥Ý¡¼¥È¤µ¤ì¤Ê¤¤¥· ¥ó¥Ü¥ë¤Î¥ê¥¹¥È¤òÄɲ䷤Ƥ⤫¤Þ¤¤¤Þ¤»¤ó¡¥
--no-export-all-symbols
ÆþÎϤÎ.def¥Õ¥¡¥¤¥ë¤äÆþÎÏ¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Î‘.drectve’¥» ¥¯¥·¥ç¥ó¤Ç¡¤ÌÀ¼¨Åª¤Ë¥ê¥¹¥È¥¢¥Ã¥×¤µ¤ì¤Æ¤¤¤ë¥·¥ó¥Ü¥ë¤Î¤ß¥¨¥¯¥¹¥Ý¡¼¥È¤·¤Þ ¤¹¡¥‘.drectve’¤Ï¡¤¥½¡¼¥¹¥³¡¼¥ÉÆâ¤Î‘dllexport’°À¤ÇºîÀ®¤µ¤ì¤Þ ¤¹¡¥
--exclude-symbols list
listÆâ¤Î¥·¥ó¥Ü¥ë¤ò¥¨¥¯¥¹¥Ý¡¼¥È¤·¤Þ¤»¤ó¡¥¤³¤ì¤Ï¡¤¥«¥ó¥Þ¤Þ¤¿¤Ï¥³¥í ¥óʸ»ú¤Çʬ¤±¤é¤ì¤¿¡¤¥·¥ó¥Ü¥ë̾¤Î¥ê¥¹¥È¤Ç¤¹¡¥¥·¥ó¥Ü¥ë̾¤Ë¡¤¥¢¥ó¥À¡¼¥¹¥³ ¥¢¤ÎÁ°ÃÖ¤ò´Þ¤á¤ë¤³¤È¤Ï¤Ç¤¤Þ¤»¤ó¡¥¤³¤ì¤Ï¡¤ --export-all-symbols¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¤È¤¤Î¤ß°ÕÌ£¤¬¤¢¤ê¤Þ¤¹¡¥
--no-default-excludes
--export-all-symbols¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¤È¤¡¤¤½¤ì¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¡¤ ¤¢¤ëÆÃÊ̤ʥ·¥ó¥Ü¥ë¤ò¥¨¥¯¥¹¥Ý¡¼¥È¤¹¤ë¤³¤È¤òÈò¤±¤Þ¤¹¡¥¸½ºß¤Î¥¨¥¯¥¹¥Ý¡¼¥È ¤òÈò¤±¤ë¥ê¥¹¥È¤Ï¡¤‘DllMain@12’, ‘DllEntryPoint@0’, ‘impure_ptr’¤Ç¤¹¡¥¤³¤ì¤é¤ÎÆÃÊ̤ʥ·¥ó¥Ü¥ë¤ò¿Ê¤ó¤Ç¥¨¥¯¥¹¥Ý¡¼¥È¤¹¤ë¤¿ ¤á¤Ë¡¤--no-default-excludes¥ª¥×¥·¥ç¥ó¤ò»ÈÍѤ·¤Æ¤â¤«¤Þ¤¤¤Þ¤»¤ó¡¥ ¤³¤ì¤Ï¡¤--export-all-symbols¤¬»ÈÍѤµ¤ì¤Æ¤¤¤ë¤È¤¤Î¤ß°ÕÌ£¤¬¤¢¤ê ¤Þ¤¹¡¥
-S path
--as path
¥¨¥¯¥¹¥Ý¡¼¥È¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë¥¢¥»¥ó¥Ö¥é¤Î¡¤¥Õ¥¡¥¤¥ë̾¤ò ´Þ¤à¡¤¥Ñ¥¹¤ò»ØÄꤷ¤Þ¤¹¡¥
-f options
--as-flags options
¥¨¥¯¥¹¥Ý¡¼¥È¥Õ¥¡¥¤¥ë¤ò¹½ÃÛ¤·¤Æ¤¤¤ë¤È¤¥¢¥»¥ó¥Ö¥é¤ËÅϤ¹¡¤¤¢¤é¤æ¤ëÆÃÊÌ¤Ê ¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡¥¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï¡¤-S¤¬»Ø Äꤵ¤ì¤Æ¤¤¤Ê¤¤¤«¤Î¤è¤¦¤Ëưºî¤·¤Þ¤¹¡¥¤³¤Î¥ª¥×¥·¥ç¥ó¤Ï°ì¤Ä¤Î°ú¿ô¤Î¤ßÅϤ·¡¤ ¥³¥Þ¥ó¥É¥é¥¤¥ó¤Ë°ì²ó°Ê¾å½Ð¸½¤¹¤ë¾ì¹ç¡¤ºÇ¸å¤Ë½Ð¸½¤·¤¿¤â¤Î¤ò¡¤Á°¤Ë½Ð¸½¤· ¤¿¤â¤Î¤ËÍ¥À褵¤»¤Þ¤¹¡¥¤½¤Î¤¿¤á¡¤Ê£¿ô¤Î¥ª¥×¥·¥ç¥ó¤ò¥¢¥»¥ó¥Ö¥é¤ËÅϤ¹É¬Í× ¤¬¤¢¤ë¾ì¹ç¤Ï¡¤Æó½Å°úÍÑÉä¤Ç°Ï¤àɬÍפ¬¤¢¤ê¤Þ¤¹¡¥
-D name
--dll-name name
-e¥ª¥×¥·¥ç¥ó¤¬»ÈÍѤµ¤ì¤Æ¤ë¤È¤¡¤DLL¤Î̾Á°¤È¤·¤Æ.def¥Õ¥¡ ¥¤¥ë¤ËÊݸ¤¹¤ë̾Á°¤ò»ØÄꤷ¤Þ¤¹¡¥¤³¤Î¥ª¥×¥·¥ç¥ó¤¬¤Ê¤¤¾ì¹ç¡¤-e ¥ª¥×¥·¥ç¥ó¤ÇÍ¿¤¨¤é¤ì¤ë¥Õ¥¡¥¤¥ë̾¤Ï¡¤DLL¤Î̾Á°¤È¤·¤Æ»ÈÍѤµ¤ì¤Þ¤¹¡¥
-m machine
-machine machine
¥é¥¤¥Ö¥é¥ê¥Õ¥¡¥¤¥ë¤¬¹½ÃÛ¤µ¤ì¤ë¥Þ¥·¥ó¤Î·Á¼°¤ò»ØÄꤷ¤Þ¤¹¡¥
dlltool
¤Ë¤Ï¡¤¹½ÃۤΤµ¤ìÊý¤Ë°Í¸¤¹¤ë¥Ç¥Õ¥©¥ë¥È·Á¼°¤¬¤¢¤ê¤Þ¤¹¤¬¡¤
¤³¤Î¥ª¥×¥·¥ç¥ó¤Ç¡¤¤½¤ì¤ËÍ¥À褵¤»¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡¥¤³¤ì¤ÏÄ̾ARM ¥×¥í
¥»¥Ã¥µ¤ËÂФ¹¤ëDLL¤òºîÀ®¤¹¤ë¤È¤¤Î¤ßÌò¤ËΩ¤Á¡¤DLL¤ÎÆâÍÆ¤Ï¡¤¼ÂºÝ¤ËThumbÌ¿
Îá¤ò»ÈÍѤ·¤ÆÉ乿²½¤µ¤ì¤Þ¤¹¡¥
-a
--add-indirect
dlltool
¤¬¥¨¥¯¥¹¥Ý¡¼¥È¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Æ¤¤¤ë¤È¤¡¤¥¨¥¯¥¹¥Ý¡¼¥È
´Ø¿ô¤¬¥¤¥ó¥Ý¡¼¥È¥é¥¤¥Ö¥é¥ê¤ò»ÈÍѤ·¤Ê¤¤¤Ç»²¾È¤Ç¤¤ë¤è¤¦¤Ë¡¤¥»¥¯¥·¥ç¥ó¤ò
²Ã¤¨¤ë¤³¤È¤ò»ØÄꤷ¤Þ¤¹¡¥¤¿¤È¤¨¡¤¤½¤ì¤¬ÃϹö¤ò°ÕÌ£¤·¤è¤¦¤È¤â¡ª
-U
--add-underscore
dlltool
¥¨¥¯¥¹¥Ý¡¼¥È¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Æ¤¤¤ë¤È¤¡¤¥¨¥¯¥¹¥Ý¡¼¥È´Ø
¿ô¤Î̾Á°¤Ë¥¢¥ó¥À¡¼¥¹¥³¥¢¤òÁ°ÃÖ¤¹¤ë¤³¤È¤ò»ØÄꤷ¤Þ¤¹¡¥
-k
--kill-at
dlltool
¥¨¥¯¥¹¥Ý¡¼¥È¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Æ¤¤¤ë¤È¤¡¤Ê¸»úÎó
‘@ <number>’¤òÄɲ䷤ʤ¤¤³¤È¤ò»ØÄꤷ¤Þ¤¹¡¥¤³¤ì¤é¤Î¿ô»ú¤Ï¡¤½ø¿ô¤È
¸Æ¤Ð¤ì¡¤DLL ¤Ç¤Ï´Ø¿ô¤Ë¥¢¥¯¥»¥¹¤¹¤ë°ì¤Ä¤ÎÊýË¡¤òɽ¼¨¤·¡¤¤½¤ì°Ê³°¤Ç¤Ï̾Á°
¤Çɽ¼¨¤·¤Þ¤¹¡¥
-A
--add-stdcall-alias
dlltool
¤¬¥¨¥¯¥¹¥Ý¡¼¥È¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Æ¤¤¤ë¤È¤¡¤¥·¥ó¥Ü¥ë¤Ë
‘@ <number>’¤òÄɲä·¤¿¤â¤Î¤ò¡¤‘@ <number>’¤Ê¤·¤Çstdcall¥·¥ó
¥Ü¥ë¤ÎÊÌ̾¤ò²Ã¤¨¤ë¤³¤È¤ò»ØÄꤷ¤Þ¤¹¡¥
-p
--ext-prefix-alias prefix
dlltool
¤Ç¡¤¤¹¤Ù¤Æ¤ÎDLL¥¤¥ó¥Ý¡¼¥È¤ËÂФ·¤Æ»ØÄꤷ¤¿ÀÜÆ¬¼¤Ç³°Éô
¤Ø¤Î¥¨¥¤¥ê¥¢¥¹¤òºîÀ®¤·¤Þ¤¹¡¥¥¨¥¤¥ê¥¢¥¹¤Ï³°Éô¤È¥¤¥ó¥Ý¡¼¥È¤ÎξÊý¤Î¥·¥ó¥Ü
¥ë¤òÁ°ÃÖ¤¹¤ë¥¢¥ó¥À¡¼¥¹¥³¥¢Ìµ¤·¤ÇºîÀ®¤·¤Þ¤¹¡¥
-x
--no-idata4
dlltool
¥¨¥¯¥¹¥Ý¡¼¥È¥Õ¥¡¥¤¥ë¤È¥é¥¤¥Ö¥é¥ê¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Æ¤¤¤ë
¤È¤¡¤.idata4
¥»¥¯¥·¥ç¥ó¤òºï½ü¤¹¤ë¤³¤È¤ò»ØÄꤷ¤Þ¤¹¡¥¤³¤ì¤Ï¡¤¤¢¤ë
¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤È¤Î¸ß´¹À¤Î¤¿¤á¤Ç¤¹¡¥
-c
--no-idata5
dlltool
¥¨¥¯¥¹¥Ý¡¼¥È¥Õ¥¡¥¤¥ë¤È¥é¥¤¥Ö¥é¥ê¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¤Æ¤¤¤ë
¤È¤¡¤.idata5
¥»¥¯¥·¥ç¥ó¤òºï½ü¤¹¤ë¤³¤È¤ò»ØÄꤷ¤Þ¤¹¡¥¤³¤ì¤Ï¡¤¤¢¤ë
¥ª¥Ú¥ì¡¼¥Æ¥£¥ó¥°¥·¥¹¥Æ¥à¤È¤Î¸ß´¹À¤Î¤¿¤á¤Ç¤¹¡¥
-i
--interwork
dlltool
¤¬¡¤À¸À®¤·¤Æ¤¤¤ë¥é¥¤¥Ö¥é¥ê¥Õ¥¡¥¤¥ë¤È¥¨¥¯¥¹¥Ý¡¼¥È¥Õ¥¡¥¤
¥ëÆâ¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ë¡¤ARM¤ÈThumb´Ö¤Ç¤ÎÁê¸ßưºî¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤è¤¦¤Ë°õ¤ò
ÉÕ¤±¤ë¤³¤È¤ò»ØÄꤷ¤Þ¤¹¡¥
-n
--nodelete
dlltool
¤¬¡¤¥¨¥¯¥¹¥Ý¡¼¥È¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ë¤¿¤á¤Ë»ÈÍѤ·¤¿°ì»þŪ
¤Ê¥¢¥»¥ó¥Ö¥é¥Õ¥¡¥¤¥ë¤òÊݸ¤¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡¥¤³¤Î¥ª¥×¥·¥ç¥ó¤¬·«¤êÊÖ¤µ¤ì
¤ë¾ì¹ç¡¤dlltool
¤Ï¡¤¥é¥¤¥Ö¥é¥ê¤òºîÀ®¤¹¤ë¤¿¤á¤Ë»ÈÍѤ¹¤ë°ì»þŪ¤Ê
¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤âÊݸ¤·¤Þ¤¹¡¥
-t prefix
--temp-prefix prefix
dlltool
¤¬¡¤°ì»þŪ¤Ê¥¢¥»¥ó¥Ö¥é¤È¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë¤Î̾Á°¤ò¹½
À®¤¹¤ë¤È¤¡¤prefix¤ò»ÈÍѤ¹¤ë¤è¤¦¤Ë¤·¤Þ¤¹¡¥¥Ç¥Õ¥©¥ë¥È¤Ç¡¤°ì»þŪ¤Ê
¥Õ¥¡¥¤¥ë¤ÎÀÜÆ¬¼¤Ïpid¤«¤éÀ¸À®¤µ¤ì¤Þ¤¹¡¥
-v
--verbose
dlltool
¤¬¡¤¹Ô¤Ã¤Æ¤¤¤ë¤³¤È¤òµ½Ò¤·¤Þ¤¹¡¥
-h
--help
¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤Î¥ê¥¹¥È¤òɽ¼¨¤·½ªÎ»¤·¤Þ¤¹¡¥
-V
--version
dlltool
¤Î¥Ð¡¼¥¸¥ç¥ó¥Ê¥ó¥Ð¡¼¤òɽ¼¨¤·½ªÎ»¤·¤Þ¤¹¡¥
• def file format: | The format of the dlltool .def file |