ນີ້ແມ່ນຄໍາສັ່ງ avr-dlltool ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
dlltool - ສ້າງໄຟລ໌ທີ່ຈໍາເປັນເພື່ອສ້າງແລະນໍາໃຊ້ DLLs.
ສະຫຼຸບສັງລວມ
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]
[-y|--output-delaylib library-file-name]
[--ສົ່ງອອກ-ທັງໝົດ-ສັນຍາລັກ] [--no-export-ທັງໝົດ-ສັນຍາລັກ]
[--exclude-ສັນຍາລັກ ບັນຊີລາຍຊື່]
[--no-default-excludes]
[-S|--ເປັນ ເສັ້ນທາງໄປຫາຜູ້ປະກອບ] [-f|--as-ທຸງ ທາງເລືອກໃນການ]
[-D|--dllname ຊື່] [-m|--ເຄື່ອງ ເຄື່ອງ]
[-a|--ຕື່ມ-ທາງອ້ອມ]
[-U|--add-underscore] [--add-stdcall-underscore]
[-k|--ຂ້າ] [-A|--add-stdcall-alias]
[-p|--ext-prefix-alias ຄຳ ນຳ ໜ້າ]
[-x|--no-idata4] [-c|--no-idata5]
[--use-nul-prefixed-import-tables]
[-I|-- ກໍານົດ library-file-name] [--identify-ເຄັ່ງຄັດ]
[-i|--ການເຮັດວຽກຮ່ວມກັນ]
[-n|--nodelete] [-t|--temp-prefix ຄຳ ນຳ ໜ້າ]
[-v|-- verbose]
[-h|- ຊ່ວຍ] [-V|- ການປ່ຽນແປງ]
[--no-leading-underscore] [--ເຄື່ອງໝາຍຂັ້ນເທິງ]
[object-file ...]
ລາຍລະອຽດ
dlltool ອ່ານວັດສະດຸປ້ອນຂອງມັນ, ເຊິ່ງສາມາດມາຈາກ -d ແລະ -b ທາງເລືອກເຊັ່ນດຽວກັນກັບວັດຖຸ
ໄຟລ໌ທີ່ລະບຸໄວ້ໃນເສັ້ນຄໍາສັ່ງ. ມັນຫຼັງຈາກນັ້ນປະມວນຜົນວັດສະດຸປ້ອນເຫຼົ່ານີ້ແລະຖ້າຫາກວ່າ -e ທາງເລືອກ
ໄດ້ຖືກລະບຸວ່າມັນສ້າງໄຟລ໌ສົ່ງອອກ. ຖ້າ -l ທາງເລືອກໄດ້ຖືກລະບຸໄວ້ມັນ
ສ້າງໄຟລ໌ຫ້ອງສະຫມຸດແລະຖ້າຫາກວ່າ -z ທາງເລືອກໄດ້ຖືກລະບຸໄວ້ວ່າມັນສ້າງໄຟລ໌ def. ໃດ
ຫຼືທັງ ໝົດ -e, -l ແລະ -z ທາງເລືອກສາມາດມີຢູ່ໃນຫນຶ່ງ invocation ຂອງ dlltool.
ເມື່ອສ້າງ DLL, ພ້ອມກັບແຫຼ່ງສໍາລັບ DLL, ມັນຈໍາເປັນຕ້ອງມີສາມ
ໄຟລ໌ອື່ນໆ. dlltool ສາມາດຊ່ວຍໃນການສ້າງໄຟລ໌ເຫຼົ່ານີ້.
ໄຟລ໌ທໍາອິດແມ່ນ a .def ໄຟລ໌ທີ່ລະບຸວ່າຫນ້າທີ່ຖືກສົ່ງອອກຈາກ DLL,
ເຊິ່ງປະຕິບັດຫນ້າທີ່ການນໍາເຂົ້າ DLL, ແລະອື່ນໆ. ນີ້ແມ່ນໄຟລ໌ຂໍ້ຄວາມແລະສາມາດສ້າງໄດ້ໂດຍ
ມື, ຫຼື dlltool ສາມາດຖືກນໍາໃຊ້ເພື່ອສ້າງມັນໂດຍໃຊ້ -z ທາງເລືອກ. ໃນກໍລະນີນີ້ dlltool ຈະ
ສະແກນໄຟລ໌ວັດຖຸທີ່ລະບຸໄວ້ໃນເສັ້ນຄໍາສັ່ງຂອງມັນຊອກຫາຫນ້າທີ່ເຫຼົ່ານັ້ນທີ່ມີ
ໄດ້ຮັບການຫມາຍເປັນພິເສດວ່າຈະຖືກສົ່ງອອກແລະເອົາເຂົ້າສໍາລັບເຂົາເຈົ້າໃນ .def ຍື່ນມັນ
ສ້າງ.
ໃນຄໍາສັ່ງທີ່ຈະຫມາຍຫນ້າທີ່ຖືກສົ່ງອອກຈາກ DLL, ມັນຈໍາເປັນຕ້ອງມີ
- ການສົ່ງອອກ: ເຂົ້າໃນ .drectve ພາກສ່ວນຂອງໄຟລ໌ວັດຖຸ. ນີ້ສາມາດເປັນ
ເຮັດໃນ C ໂດຍໃຊ້ asm() ຜູ້ປະກອບການ:
asm(".section.drectve");
asm (.ascii \"-ສົ່ງອອກ: my_func\"");
int my_func (void) { ... }
ໄຟລ໌ທີສອງທີ່ຈໍາເປັນສໍາລັບການສ້າງ DLL ແມ່ນໄຟລ໌ສົ່ງອອກ. ໄຟລ໌ນີ້ຖືກເຊື່ອມໂຍງກັບ
ໄຟລ໌ວັດຖຸທີ່ປະກອບເປັນຮ່າງກາຍຂອງ DLL ແລະມັນຈັດການການໂຕ້ຕອບລະຫວ່າງ DLL
ແລະໂລກພາຍນອກ. ນີ້ແມ່ນໄຟລ໌ຖານສອງແລະມັນສາມາດຖືກສ້າງຂື້ນໂດຍການໃຫ້ -e
ທາງເລືອກທີ່ຈະ dlltool ໃນເວລາທີ່ມັນກໍາລັງສ້າງຫຼືອ່ານຢູ່ໃນ a .def ຍື່ນ.
ໄຟລ໌ທີສາມທີ່ຈໍາເປັນສໍາລັບການສ້າງ DLL ແມ່ນໄຟລ໌ຫ້ອງສະຫມຸດທີ່ບັນດາໂຄງການຈະເຊື່ອມຕໍ່ກັບໃນ
ເພື່ອເຂົ້າເຖິງຟັງຊັນໃນ DLL (ເປັນ 'ຫ້ອງສະຫມຸດນໍາເຂົ້າ'). ໄຟລ໌ນີ້ສາມາດຖືກສ້າງຂື້ນ
ໂດຍການໃຫ້ -l ທາງເລືອກທີ່ຈະ dlltool ໃນເວລາທີ່ມັນກໍາລັງສ້າງຫຼືອ່ານຢູ່ໃນ a .def ຍື່ນ.
ຖ້າ -y ທາງເລືອກແມ່ນຖືກກໍານົດ, dlltool ສ້າງຫ້ອງສະຫມຸດການນໍາເຂົ້າການຊັກຊ້າທີ່ສາມາດນໍາໃຊ້ໄດ້
ແທນທີ່ຈະເປັນຫ້ອງສະຫມຸດນໍາເຂົ້າປົກກະຕິເພື່ອໃຫ້ໂຄງການເຊື່ອມຕໍ່ກັບ dll ທັນທີທີ່
ຫນ້າທີ່ນໍາເຂົ້າຖືກເອີ້ນເປັນຄັ້ງທໍາອິດ. ການປະຕິບັດຜົນໄດ້ຮັບຈະຕ້ອງໄດ້
ເຊື່ອມຕໍ່ກັບຫ້ອງສະຫມຸດ delayimp static ປະກອບດ້ວຍ __delayLoadHelper2(), ຊຶ່ງໃນນັ້ນ
ຈະນໍາເຂົ້າ LoadLibraryA ແລະ GetProcAddress ຈາກ kernel32.
dlltool ສ້າງໄຟລ໌ຫ້ອງສະຫມຸດດ້ວຍມື, ແຕ່ມັນສ້າງໄຟລ໌ສົ່ງອອກໂດຍການສ້າງ
ໄຟລ໌ຊົ່ວຄາວທີ່ປະກອບດ້ວຍບັນຊີການປະກອບແລະຫຼັງຈາກນັ້ນການປະກອບເຫຼົ່ານີ້. ໄດ້ -S ຄໍາສັ່ງ
ຕົວເລືອກເສັ້ນສາມາດໃຊ້ເພື່ອລະບຸເສັ້ນທາງໄປຫາຕົວປະກອບທີ່ dlltool ຈະໃຊ້, ແລະ
ໄດ້ -f ທາງເລືອກສາມາດຖືກນໍາໃຊ້ເພື່ອຜ່ານທຸງສະເພາະໃດຫນຶ່ງກັບການປະກອບນັ້ນ. ໄດ້ -n ສາມາດຖືກນໍາໃຊ້ເພື່ອ
ປ້ອງກັນບໍ່ໃຫ້ dlltool ລົບໄຟລ໌ຕົວປະກອບຊົ່ວຄາວເຫຼົ່ານີ້ເມື່ອມັນສໍາເລັດ, ແລະຖ້າ -n
ຖືກກໍານົດສອງຄັ້ງຫຼັງຈາກນັ້ນນີ້ຈະປ້ອງກັນບໍ່ໃຫ້ dlltool ລົບໄຟລ໌ວັດຖຸຊົ່ວຄາວ
ມັນໃຊ້ເພື່ອສ້າງຫ້ອງສະຫມຸດ.
ນີ້ແມ່ນຕົວຢ່າງຂອງການສ້າງ DLL ຈາກໄຟລ໌ແຫຼ່ງ dll.c ແລະຍັງສ້າງໂຄງການ
(ຈາກໄຟລ໌ວັດຖຸທີ່ເອີ້ນວ່າ program.o) ທີ່ໃຊ້ DLL ນັ້ນ:
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 ໂຄງການ
dlltool ອາດຈະຖືກນໍາໃຊ້ເພື່ອສອບຖາມຫ້ອງສະຫມຸດນໍາເຂົ້າທີ່ມີຢູ່ແລ້ວເພື່ອກໍານົດຊື່ຂອງ
DLL ທີ່ມັນກ່ຽວຂ້ອງ. ເບິ່ງລາຍລະອຽດຂອງ -I or -- ກໍານົດ ທາງເລືອກ.
OPTIONS
ຕົວເລືອກແຖວຄໍາສັ່ງມີຄວາມຫມາຍດັ່ງຕໍ່ໄປນີ້:
-d ຊື່ເອກະສານ
--input-def ຊື່ເອກະສານ
ລະບຸຊື່ຂອງ a .def ໄຟລ໌ທີ່ຈະອ່ານແລະດໍາເນີນການ.
-b ຊື່ເອກະສານ
--base-file ຊື່ເອກະສານ
ລະບຸຊື່ຂອງໄຟລ໌ພື້ນຖານທີ່ຈະອ່ານ ແລະປະມວນຜົນ. ເນື້ອໃນຂອງເລື່ອງນີ້
ໄຟລ໌ຈະຖືກເພີ່ມໃສ່ພາກສ່ວນການຍົກຍ້າຍໃນໄຟລ໌ສົ່ງອອກທີ່ສ້າງຂຶ້ນໂດຍ dlltool.
-e ຊື່ເອກະສານ
--output-exp ຊື່ເອກະສານ
ລະບຸຊື່ຂອງໄຟລ໌ສົ່ງອອກທີ່ຈະສ້າງໂດຍ dlltool.
-z ຊື່ເອກະສານ
--output-def ຊື່ເອກະສານ
ລະບຸຊື່ຂອງ .def ໄຟລ໌ທີ່ຈະຖືກສ້າງຂື້ນໂດຍ dlltool.
-l ຊື່ເອກະສານ
--output-lib ຊື່ເອກະສານ
ລະບຸຊື່ຂອງໄຟລ໌ຫ້ອງສະໝຸດທີ່ຈະສ້າງໂດຍ dlltool.
-y ຊື່ເອກະສານ
--output-delaylib ຊື່ເອກະສານ
ລະບຸຊື່ຂອງໄຟລ໌ຫ້ອງສະໝຸດການຊັກຊ້າ-ນໍາເຂົ້າທີ່ຈະສ້າງໂດຍ dlltool.
--ສົ່ງອອກ-ທັງໝົດ-ສັນຍາລັກ
ປະຕິບັດທຸກສັນຍາລັກທີ່ກໍານົດທົ່ວໂລກ ແລະອ່ອນແອທີ່ພົບເຫັນຢູ່ໃນໄຟລ໌ວັດຖຸທີ່ປ້ອນເຂົ້າເປັນສັນຍາລັກ
ທີ່ຈະສົ່ງອອກ. ມີບັນຊີລາຍຊື່ຂະຫນາດນ້ອຍຂອງສັນຍາລັກທີ່ບໍ່ໄດ້ຖືກສົ່ງອອກໂດຍຄ່າເລີ່ມຕົ້ນ;
ເບິ່ງໄດ້ --no-default-excludes ທາງເລືອກ. ທ່ານອາດຈະເພີ່ມໃສ່ບັນຊີລາຍຊື່ຂອງສັນຍາລັກທີ່ຈະບໍ່
ການສົ່ງອອກໂດຍການນໍາໃຊ້ --exclude-ສັນຍາລັກ ທາງເລືອກ.
--no-export-ທັງໝົດ-ສັນຍາລັກ
ພຽງແຕ່ສົ່ງອອກສັນຍາລັກທີ່ລະບຸຢ່າງຊັດເຈນຢູ່ໃນວັດສະດຸປ້ອນ .def ໄຟລ໌ຫຼືໃນ .drectve ພາກສ່ວນໃນ
ໄຟລ໌ວັດຖຸເຂົ້າ. ນີ້ແມ່ນພຶດຕິກໍາເລີ່ມຕົ້ນ. ໄດ້ .drectve ພາກສ່ວນແມ່ນ
ສ້າງໂດຍ dllexport ຄຸນລັກສະນະໃນລະຫັດແຫຼ່ງ.
--exclude-ສັນຍາລັກ ບັນຊີລາຍຊື່
ຢ່າສົ່ງອອກສັນຍາລັກໃນ ບັນຊີລາຍຊື່. ນີ້ແມ່ນລາຍຊື່ຂອງສັນຍາລັກທີ່ແຍກດ້ວຍເຄື່ອງໝາຍຈຸດ
ຫຼືຕົວອັກສອນຈໍ້າສອງເມັດ. ຊື່ສັນຍາລັກບໍ່ຄວນມີເຄື່ອງໝາຍຂີດກ້ອງ. ນີ້
ມີຄວາມຫມາຍພຽງແຕ່ໃນເວລາທີ່ --ສົ່ງອອກ-ທັງໝົດ-ສັນຍາລັກ ຖືກນໍາໃຊ້.
--no-default-excludes
ເມື່ອໃດ --ສົ່ງອອກ-ທັງໝົດ-ສັນຍາລັກ ຖືກນໍາໃຊ້, ມັນໂດຍເລີ່ມຕົ້ນຈະຫຼີກເວັ້ນການສົ່ງອອກພິເສດສະເພາະໃດຫນຶ່ງ
ສັນຍາລັກ. ບັນຊີລາຍຊື່ປະຈຸບັນຂອງສັນຍາລັກເພື່ອຫຼີກເວັ້ນການສົ່ງອອກແມ່ນ DllMain@12,
DllEntryPoint@0, impure_ptr. ເຈົ້າອາດຈະໃຊ້ --no-default-excludes ທາງເລືອກທີ່ຈະເດີນຫນ້າ
ແລະສົ່ງອອກສັນຍາລັກພິເສດເຫຼົ່ານີ້. ນີ້ແມ່ນຄວາມຫມາຍພຽງແຕ່ໃນເວລາທີ່ --ສົ່ງອອກ-ທັງໝົດ-ສັນຍາລັກ
ຖືກນໍາໃຊ້.
-S ເສັ້ນທາງ
--ເປັນ ເສັ້ນທາງ
ລະບຸເສັ້ນທາງ, ລວມທັງຊື່ໄຟລ໌, ຂອງຕົວປະກອບທີ່ຈະໃຊ້ເພື່ອສ້າງ
ໄຟລ໌ສົ່ງອອກ.
-f ທາງເລືອກໃນການ
--as-ທຸງ ທາງເລືອກໃນການ
ກໍານົດຕົວເລືອກເສັ້ນຄໍາສັ່ງສະເພາະໃດນຶ່ງທີ່ຈະຖືກສົ່ງໄປຫາຜູ້ປະກອບເມື່ອ
ການສ້າງໄຟລ໌ສົ່ງອອກ. ທາງເລືອກນີ້ຈະເຮັດວຽກເຖິງແມ່ນວ່າ -S ທາງເລືອກບໍ່ໄດ້ຖືກນໍາໃຊ້.
ຕົວເລືອກນີ້ໃຊ້ເວລາພຽງແຕ່ຫນຶ່ງ argument, ແລະຖ້າມັນເກີດຂຶ້ນຫຼາຍກວ່າຫນຶ່ງຄັ້ງໃນຄໍາສັ່ງ
ແຖວ, ຫຼັງຈາກນັ້ນການປະກົດຕົວໃນພາຍຫຼັງຈະ override ການປະກົດຕົວກ່ອນຫນ້າ. ສະນັ້ນຖ້າຫາກວ່າມັນເປັນສິ່ງຈໍາເປັນ
ເພື່ອຜ່ານຫຼາຍທາງເລືອກໃຫ້ກັບຜູ້ປະກອບພວກເຂົາຄວນຈະຖືກຫຸ້ມດ້ວຍວົງຢືມສອງເທົ່າ.
-D ຊື່
--dll-ຊື່ ຊື່
ລະບຸຊື່ທີ່ຈະເກັບໄວ້ໃນ .def ໄຟລ໌ເປັນຊື່ຂອງ DLL ໃນເວລາທີ່ -e
ທາງເລືອກແມ່ນຖືກນໍາໃຊ້. ຖ້າຫາກວ່າທາງເລືອກນີ້ບໍ່ແມ່ນປະຈຸບັນ, ຫຼັງຈາກນັ້ນຊື່ໄຟລ໌ທີ່ໄດ້ຮັບການ -e
ທາງເລືອກຈະຖືກໃຊ້ເປັນຊື່ຂອງ DLL.
-m ເຄື່ອງ
-ເຄື່ອງຈັກ ເຄື່ອງ
ລະບຸປະເພດຂອງເຄື່ອງທີ່ໄຟລ໌ຫ້ອງສະໝຸດຄວນຈະຖືກສ້າງຂຶ້ນ. dlltool ມີ
ການກໍ່ສ້າງໃນປະເພດເລີ່ມຕົ້ນ, ຂຶ້ນກັບວິທີທີ່ມັນຖືກສ້າງ, ແຕ່ທາງເລືອກນີ້ສາມາດເປັນ
ໃຊ້ເພື່ອລົບລ້າງສິ່ງນັ້ນ. ປົກກະຕິແລ້ວນີ້ແມ່ນເປັນປະໂຫຍດພຽງແຕ່ເມື່ອສ້າງ DLLs ສໍາລັບ ARM
ໂປເຊດເຊີ, ເມື່ອເນື້ອໃນຂອງ DLL ຖືກເຂົ້າລະຫັດຕົວຈິງໂດຍໃຊ້ຄໍາແນະນໍາ Thumb.
-a
--ຕື່ມ-ທາງອ້ອມ
ລະບຸວ່າເມື່ອໃດ dlltool ກໍາລັງສ້າງໄຟລ໌ສົ່ງອອກມັນຄວນຈະເພີ່ມພາກສ່ວນທີ່
ອະນຸຍາດໃຫ້ຫນ້າທີ່ທີ່ສົ່ງອອກໄດ້ຮັບການອ້າງອີງໂດຍບໍ່ມີການນໍາໃຊ້ຫ້ອງສະຫມຸດການນໍາເຂົ້າ.
ອັນໃດກໍ່ໝາຍຄວາມວ່າ!
-U
--add-underscore
ລະບຸວ່າເມື່ອໃດ dlltool ແມ່ນການສ້າງໄຟລ໌ສົ່ງອອກທີ່ມັນຄວນຈະ prepend an
ຂີດກ້ອງໃສ່ຊື່ຂອງ ທັງຫມົດ ສັນຍາລັກທີ່ສົ່ງອອກ.
--no-leading-underscore
--ເຄື່ອງໝາຍຂັ້ນເທິງ
ລະບຸວ່າສັນຍາລັກມາດຕະຖານຄວນຖືກບັງຄັບໃຫ້ໃສ່ຄຳນຳໜ້າຫຼືບໍ່.
--add-stdcall-underscore
ລະບຸວ່າເມື່ອໃດ dlltool ແມ່ນການສ້າງໄຟລ໌ສົ່ງອອກທີ່ມັນຄວນຈະ prepend an
ຂີດກ້ອງໃສ່ຊື່ທີ່ສົ່ງອອກແລ້ວ stdcall ຫນ້າທີ່. ຊື່ຕົວແປແລະບໍ່ແມ່ນ stdcall
ຊື່ຟັງຊັນບໍ່ໄດ້ຖືກດັດແກ້. ທາງເລືອກນີ້ແມ່ນເປັນປະໂຫຍດໃນເວລາທີ່ສ້າງ GNU-ເຂົ້າກັນໄດ້
ນໍາເຂົ້າ libs ສໍາລັບ DLL ພາກສ່ວນທີສາມທີ່ສ້າງຂຶ້ນດ້ວຍເຄື່ອງມື MS-Windows.
-k
--ຂ້າ
ລະບຸວ່າເມື່ອໃດ dlltool ກໍາລັງສ້າງໄຟລ໌ສົ່ງອອກມັນບໍ່ຄວນໃສ່ຕື່ມ
string @ . ຕົວເລກເຫຼົ່ານີ້ເອີ້ນວ່າຕົວເລກປົກກະຕິແລະພວກມັນເປັນຕົວແທນ
ວິທີອື່ນໃນການເຂົ້າເຖິງຟັງຊັນໃນ DLL, ນອກເຫນືອຈາກຊື່.
-A
--add-stdcall-alias
ລະບຸວ່າເມື່ອໃດ dlltool ກໍາລັງສ້າງໄຟລ໌ສົ່ງອອກທີ່ມັນຄວນຈະເພີ່ມນາມແຝງ
ສັນຍາລັກ stdcall ໂດຍບໍ່ມີການ @ ນອກເຫນືອໄປຈາກສັນຍາລັກທີ່ມີ @ .
-p
--ext-prefix-alias ຄຳ ນຳ ໜ້າ
ສາເຫດ dlltool ເພື່ອສ້າງນາມແຝງພາຍນອກສໍາລັບການນໍາເຂົ້າ DLL ທັງຫມົດທີ່ລະບຸໄວ້
ຄຳນຳໜ້າ. ນາມແຝງຖືກສ້າງຂື້ນສໍາລັບສັນຍາລັກທັງພາຍນອກແລະການນໍາເຂົ້າທີ່ບໍ່ມີຕົວນໍາ
ຂີດກ້ອງ.
-x
--no-idata4
ລະບຸວ່າເມື່ອໃດ dlltool ກໍາລັງສ້າງໄຟລ໌ສົ່ງອອກແລະຫ້ອງສະຫມຸດມັນຄວນຈະລະເວັ້ນ
ພາກສ່ວນ ".idata4". ນີ້ແມ່ນເພື່ອຄວາມເຂົ້າກັນໄດ້ກັບລະບົບປະຕິບັດການສະເພາະໃດຫນຶ່ງ.
--use-nul-prefixed-import-tables
ລະບຸວ່າເມື່ອໃດ dlltool ກໍາລັງສ້າງໄຟລ໌ສົ່ງອອກແລະຫ້ອງສະຫມຸດມັນຄວນຈະນໍາຫນ້າ
".idata4" ແລະ ".idata5" ໂດຍສູນອົງປະກອບ. ນີ້ຈຳລອງຫ້ອງສະໝຸດການນຳເຂົ້າ gnu ເກົ່າ
ການສ້າງ "dlltool". ໂດຍຄ່າເລີ່ມຕົ້ນທາງເລືອກນີ້ຖືກປິດ.
-c
--no-idata5
ລະບຸວ່າເມື່ອໃດ dlltool ກໍາລັງສ້າງໄຟລ໌ສົ່ງອອກແລະຫ້ອງສະຫມຸດມັນຄວນຈະລະເວັ້ນ
ພາກສ່ວນ ".idata5". ນີ້ແມ່ນເພື່ອຄວາມເຂົ້າກັນໄດ້ກັບລະບົບປະຕິບັດການສະເພາະໃດຫນຶ່ງ.
-I ຊື່ເອກະສານ
-- ກໍານົດ ຊື່ເອກະສານ
ລະບຸວ່າ dlltool ຄວນກວດກາຫ້ອງສະຫມຸດການນໍາເຂົ້າສະແດງໃຫ້ເຫັນໂດຍ ຊື່ເອກະສານ ແລະ
ລາຍງານ, ໃນ "stdout", ຊື່ຂອງ DLL ທີ່ກ່ຽວຂ້ອງ. ນີ້ສາມາດໄດ້ຮັບການປະຕິບັດໃນ
ນອກເໜືອໄປຈາກການປະຕິບັດການອື່ນໆທີ່ລະບຸໂດຍທາງເລືອກ ແລະຂໍ້ໂຕ້ແຍ້ງອື່ນໆ.
dlltool ລົ້ມເຫລວຖ້າຫ້ອງສະຫມຸດນໍາເຂົ້າບໍ່ມີຫຼືບໍ່ແມ່ນການນໍາເຂົ້າ
ຫໍສະໝຸດ. ເບິ່ງນຳ --identify-ເຄັ່ງຄັດ.
--identify-ເຄັ່ງຄັດ
ດັດແກ້ພຶດຕິກໍາຂອງ -- ກໍານົດ ທາງເລືອກ, ເຊັ່ນວ່າຄວາມຜິດພາດໄດ້ຖືກລາຍງານຖ້າຫາກວ່າ
ຊື່ເອກະສານ ແມ່ນກ່ຽວຂ້ອງກັບຫຼາຍກວ່າຫນຶ່ງ DLL.
-i
--ການເຮັດວຽກຮ່ວມກັນ
ລະບຸວ່າ dlltool ຄວນໝາຍວັດຖຸໃນໄຟລ໌ຫ້ອງສະໝຸດ ແລະໄຟລ໌ສົ່ງອອກ
ມັນຜະລິດເປັນການສະຫນັບສະຫນູນການເຮັດວຽກຮ່ວມກັນລະຫວ່າງ ARM ແລະ Thumb code.
-n
--nodelete
ເຮັດໃຫ້ dlltool ຮັກສາໄຟລ໌ຕົວປະກອບຊົ່ວຄາວທີ່ມັນໃຊ້ເພື່ອສ້າງການສົ່ງອອກ
ໄຟລ໌. ຖ້າຕົວເລືອກນີ້ຖືກຊ້ໍາແລ້ວ dlltool ຍັງຈະຮັກສາວັດຖຸຊົ່ວຄາວ
ໄຟລ໌ທີ່ມັນໃຊ້ເພື່ອສ້າງໄຟລ໌ຫ້ອງສະໝຸດ.
-t ຄຳ ນຳ ໜ້າ
--temp-prefix ຄຳ ນຳ ໜ້າ
ເຮັດໃຫ້ dlltool ການນໍາໃຊ້ ຄຳ ນຳ ໜ້າ ເມື່ອສ້າງຊື່ຂອງຕົວປະກອບຊົ່ວຄາວແລະວັດຖຸ
ໄຟລ໌. ໂດຍຄ່າເລີ່ມຕົ້ນ, prefix ໄຟລ໌ temp ແມ່ນສ້າງຂຶ້ນຈາກ pid.
-v
-- verbose
ເຮັດໃຫ້ dlltool ອະທິບາຍສິ່ງທີ່ມັນກໍາລັງເຮັດ.
-h
- ຊ່ວຍ
ສະແດງລາຍຊື່ຕົວເລືອກແຖວຄຳສັ່ງ ແລະຈາກນັ້ນອອກ.
-V
- ການປ່ຽນແປງ
ສະແດງໝາຍເລກເວີຊັນຂອງ dlltool ແລະຈາກນັ້ນອອກ.
@ເອກະສານ
ອ່ານຕົວເລືອກແຖວຄໍາສັ່ງຈາກ ເອກະສານ. ທາງເລືອກທີ່ອ່ານໄດ້ຖືກໃສ່ແທນທີ່ຂອງ
ຕົ້ນສະບັບ @ເອກະສານ ທາງເລືອກ. ຖ້າ ເອກະສານ ບໍ່ມີ, ຫຼືບໍ່ສາມາດອ່ານໄດ້, ຫຼັງຈາກນັ້ນທາງເລືອກ
ຈະໄດ້ຮັບການປິ່ນປົວທີ່ຮູ້ຫນັງສື, ແລະບໍ່ໄດ້ຮັບການໂຍກຍ້າຍອອກ.
ຕົວເລືອກຕ່າງໆໃນ ເອກະສານ ຖືກແຍກອອກໂດຍຊ່ອງຫວ່າງ. ອາດມີຕົວອັກສອນຊ່ອງຫວ່າງໃສ່ນຳ
ໃນທາງເລືອກໂດຍການອ້ອມຮອບທາງເລືອກທັງຫມົດໃນວົງຢືມດຽວຫຼືຄູ່. ໃດ
ຕົວອັກສອນ (ລວມທັງ backslash) ອາດຈະຖືກລວມເຂົ້າໂດຍການນໍາຫນ້າຕົວອັກສອນທີ່ຈະເປັນ
ລວມໄປດ້ວຍ backslash. ໄດ້ ເອກະສານ ຕົວຂອງມັນເອງອາດຈະມີ @ ເພີ່ມເຕີມເອກະສານ ທາງເລືອກ; ໃດ
ທາງເລືອກດັ່ງກ່າວຈະຖືກປະມວນຜົນແບບ recursively.
ໃຊ້ avr-dlltool ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net