ນີ້ແມ່ນຄໍາສັ່ງ ldmd2 ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
LDMD - ຫນ້າຄູ່ມືສໍາລັບ LLVM D Compiler
ລາຍລະອຽດ
ພາບລວມ: LLVM-based D Compiler
ການນໍາໃຊ້: ldc [ທາງເລືອກ] ໄຟລ໌ --ແລ່ນ ໂປຣແກມ args...
ທາງເລືອກ:
-D - ສ້າງເອກະສານ
-Dd=- ຂຽນເອກະສານໃສ່
ລະບົບ
-Df=- ຂຽນເອກະສານໃສ່
-H - ສ້າງໄຟລ໌ 'header'
-Hd=- ຂຽນ 'header' ໄຟລ໌ໃສ່ ໄດເລກະທໍລີ
-Hf=- ຂຽນ 'header' ໄຟລ໌ໃສ່
-I=- ບ່ອນທີ່ຊອກຫາການນໍາເຂົ້າ
-J=- ບ່ອນທີ່ຊອກຫາການນໍາເຂົ້າຊ່ອຍແນ່
-L=- ຜ່ານ ກັບຕົວເຊື່ອມຕໍ່
ຕັ້ງຄ່າລະດັບການເພີ່ມປະສິດທິພາບ:
-O - ເທົ່າກັບ -O2
-O0 - ບໍ່ມີການເພີ່ມປະສິດທິພາບ (ຄ່າເລີ່ມຕົ້ນ)
-O1 - ການເພີ່ມປະສິດທິພາບງ່າຍດາຍ
-O2 - ການເພີ່ມປະສິດທິພາບທີ່ດີ
-O3 - ການເພີ່ມປະສິດທິພາບຮຸກຮານ
-O4 - ການປັບແຕ່ງເວລາເຊື່ອມຕໍ່
-O5 - ການປັບແຕ່ງເວລາເຊື່ອມຕໍ່
- ບັນທຶກ - ບັນທຶກ bitcode ດ້ວຍມະນຸດສາມາດອ່ານໄດ້
source code
-asm-verbose - ເພີ່ມຄໍາຄິດເຫັນກັບຄໍາແນະນໍາ.
-c - ບໍ່ເຊື່ອມຕໍ່
-check-printf-calls - ກວດສອບສາຍຮູບແບບການໂທ printf ກັບ
ກະທູ້ທີ່
-code-model - ເລືອກຮູບແບບລະຫັດ
=ຄ່າເລີ່ມຕົ້ນ
- ເປົ້າໝາຍຮູບແບບລະຫັດເລີ່ມຕົ້ນ
=small - ຕົວແບບລະຫັດຂະຫນາດນ້ອຍ
=ແກ່ນ
- ຕົວແບບລະຫັດ Kernel
=ປານກາງ
- ຮູບແບບລະຫັດຂະຫນາດກາງ
=large - ຮູບແບບລະຫັດຂະຫນາດໃຫຍ່
-d - ອະນຸຍາດໃຫ້ຄຸນນະສົມບັດພາສາທີ່ຖືກຄັດເລືອກ
-d-debug=- ລວບລວມໃນລະຫັດ debug >= ຫຼື
ກໍານົດໂດຍ .
-d-version=- ລວບລວມໃນລະຫັດສະບັບ>= ຫຼື
ກໍານົດໂດຍ
-debuglib=- ກໍານົດຫ້ອງສະຫມຸດໃນຕອນຕົ້ນສໍາລັບ debug build
-defaultlib=- ກໍານົດຫ້ອງສະຫມຸດໃນຕອນຕົ້ນສໍາລັບການກໍ່ສ້າງທີ່ບໍ່ແມ່ນ debug
-deps=- ຂຽນໂມດູນຂຶ້ນກັບຊື່ໄຟລ໌
-enable-ຢືນຢັນ - (*) ເປີດໃຊ້ການຢືນຢັນ
-enable-boundscheck - (*) ເປີດໃຊ້ການກວດສອບຂອບເຂດອາເຣ
- ເຮັດໃຫ້ສັນຍາ - (*) ເປີດໃຊ້ງານກ່ອນ ແລະ
ເງື່ອນໄຂຫຼັງ
-disable-d-passes - ປິດການໃຊ້ງານຜ່ານ D ສະເພາະໃນ -O
-disable-excess-fp-precision - ປິດການເພີ່ມປະສິດທິພາບທີ່ອາດຈະເພີ່ມ FP
ຄວາມຖືກຕ້ອງ
-ປິດການໃຊ້ງານ-fp-elim - ປິດການກໍາຈັດຕົວຊີ້ກອບ
ທີ່ດີທີ່ສຸດ
-disable-gc2stack - ປິດການສົ່ງເສີມການຈັດສັນ GC ໄປຫາ
stack ຄວາມຊົງຈໍາໃນ -O
- ເຮັດໃຫ້ສາມາດ inlining - (*) ເປີດໃຊ້ຟັງຊັນ inlining in -O
-enable-invariants - (*) ເປີດໃຊ້ invariants
-disable-post-RA-scheduler - ປິດການກໍານົດເວລາຫຼັງຈາກການລົງທະບຽນ
ການຈັດສັນ
-enable-postconditions - (*) ເປີດໃຊ້ງານ postconditions ຟັງຊັນ
-enable-preconditions - (*) ເປີດໃຊ້ເງື່ອນໄຂການທໍາງານ
-disable-simplify-drtcalls - ປິດການທໍາງານງ່າຍຂອງການໂທ runtime ໃນ
-O
-disable-spill-fusing - ປິດການທໍາງານ fusing ຂອງລະຫັດຮົ່ວເຂົ້າໄປໃນ
ຄໍາແນະນໍາ
-enable-correct-eh-support - ເຮັດໃຫ້ - ຮຽກຮ້ອງຕ່ໍາ pass insert
ລາຄາແພງ, ແຕ່ຖືກຕ້ອງ, ລະຫັດ EH
-enable-eh - ປ່ອຍການຈັດການຂໍ້ຍົກເວັ້ນ DWARF (ຄ່າເລີ່ມຕົ້ນຖ້າ
ສະຫນັບສະຫນູນເປົ້າຫມາຍ)
-enable-finite-only-fp-math - ເປີດໃຊ້ການເພີ່ມປະສິດທິພາບທີ່ສົມມຸດວ່າບໍ່ແມ່ນ NaNs
/ +-Infs
-enable-fp-mad - ເປີດໃຊ້ຄໍາແນະນໍາ MAD ທີ່ຊັດເຈນຫນ້ອຍທີ່ຈະເປັນ
ຜະລິດ
-enable-load-pre -
-enable-sjlj-eh - ປ່ອຍ SJLJ ການຈັດການຂໍ້ຍົກເວັ້ນ (ຄ່າເລີ່ມຕົ້ນຖ້າ
ສະຫນັບສະຫນູນເປົ້າຫມາຍ)
-enable-unsafe-fp-math - ເປີດໃຊ້ການເພີ່ມປະສິດທິພາບທີ່ອາດຈະຫຼຸດລົງ FP
ຄວາມຖືກຕ້ອງ
-float-abi - ເລືອກປະເພດ ABI float
=ຄ່າເລີ່ມຕົ້ນ
- ເປົ້າໝາຍປະເພດ ABI float ເລີ່ມຕົ້ນ
=soft - Soft float ABI (ໝາຍເຖິງໂດຍ - ເລື່ອນລອຍ)
=hard - Hard float ABI (ໃຊ້ການລົງທະບຽນ FP)
ກຳລັງສ້າງຂໍ້ມູນດີບັກ:
-g - ສ້າງຂໍ້ມູນດີບັກ
-gc - ຄືກັນກັບ -g, ແຕ່ທໍາທ່າວ່າເປັນ C
-ຊ່ວຍ - ສະແດງທາງເລືອກທີ່ມີຢູ່ (--help-hiden
ສໍາລັບເພີ່ມເຕີມ)
- ບໍ່ສົນໃຈ - ບໍ່ສົນໃຈ pragmas ທີ່ບໍ່ຮອງຮັບ
-internalize-public-api-file=- ໄຟລ໌ທີ່ປະກອບດ້ວຍບັນຊີລາຍຊື່ຂອງສັນຍາລັກເພື່ອ
ຮັກສາ
-internalize-public-api-list=- ບັນຊີລາຍຊື່ຂອງສັນຍາລັກເພື່ອຮັກສາ
- join-intervals - ສຳເນົາ Coalesce (default=true)
-limit-float-precision=- ສ້າງລໍາດັບ inline ຄວາມແມ່ນຍໍາຕ່ໍາສໍາລັບ
ບາງ libcall ເລື່ອນ
-m32 - ເປົ້າຫມາຍ 32 bit
-m64 - ເປົ້າຫມາຍ 64 bit
- ມີນາ=- ສະຖາປັດຕະເພື່ອສ້າງລະຫັດສໍາລັບການ:
-mattr=- ຄຸນລັກສະນະສະເພາະເປົ້າຫມາຍ (- ມັດ=ຊ່ວຍເຫຼືອ ສໍາລັບການ
ລາຍລະອຽດ)
-mcpu=- ເປົ້າຫມາຍປະເພດ CPU ສະເພາະ (-mcpu=ຊ່ວຍເຫຼືອ ສໍາລັບການ
ລາຍລະອຽດ)
-mtriple=- ລົບລ້າງເປົ້າຫມາຍ triple
-nested-ctx - ວິທີການສ້າງຫນ້າທີ່ຮັງຂອງ
ບໍລິບົດ:
=ອາເຣ
- ອາເຣຂອງຕົວຊີ້ເຖິງຕົວແປ (ລວມທັງຫຼາຍລະດັບ)
=ປະສົມ
- ບັນຊີລາຍຊື່ຂອງຕົວຊີ້ໄປຫາໂຄງສ້າງຂອງຕົວແປ, ຫນຶ່ງຕໍ່ລະດັບ.
- noasm - ບໍ່ອະນຸຍາດໃຫ້ໃຊ້ຕົວປະກອບ inline
-nodefaultlib - ຢ່າເພີ່ມຫ້ອງສະຫມຸດເລີ່ມຕົ້ນສໍາລັບການເຊື່ອມຕໍ່
ຢ່າງແທ້ຈິງ
-noruntime - ບໍ່ອະນຸຍາດໃຫ້ລະຫັດທີ່ສ້າງ implicit
runtime ໂທ
-noverify - ຢ່າແລ່ນຜ່ານການກວດສອບກ່ອນ
ຂຽນ bitcode
-nozero-initialized-in-bss - ຢ່າວາງສັນຍາລັກທີ່ຕັ້ງໄວ້ເປັນສູນ
ພາກ bss
-O- - ຢ່າຂຽນໄຟລ໌ວັດຖຸ
-od=- ຂຽນໄຟລ໌ວັດຖຸໃສ່ໄດເລກະທໍລີ
-of=- ໃຊ້ ເປັນຊື່ໄຟລ໌ຜົນຜະລິດ
-op - ຢ່າລອກເສັ້ນທາງຈາກໄຟລ໌ແຫຼ່ງ
-oq - ຂຽນໄຟລ໌ວັດຖຸທີ່ມີຄຸນສົມບັດຢ່າງເຕັມທີ່
ຊື່
-output-bc - ຂຽນ LLVM bitcode
-output-ll - ຂຽນ LLVM IR
-output-o - ຂຽນວັດຖຸພື້ນເມືອງ
-ຜົນຜະລິດ-s - ຂຽນສະພາແຫ່ງຊາດ
-pre-RA-sched - ການກໍານົດເວລາຄໍາແນະນໍາທີ່ມີຢູ່ (ກ່ອນທີ່ຈະ
ການຈັດສັນການລົງທະບຽນ:
=fast - ການຈັດຕາຕະລາງລາຍຊື່ທີ່ເໝາະສົມທີ່ສຸດໄວ
=list-td
- ຕາຕະລາງບັນຊີລາຍຊື່ເທິງລົງລຸ່ມ
=list-tdrr
- ການຈັດຕາຕະລາງການຫຼຸດລົງບັນຊີລາຍການລົງເທິງລົງທະບຽນ
=list-burr
- ການກໍານົດເວລາບັນຊີລາຍການຫຼຸດລົງລຸ່ມສຸດ
=ຄ່າເລີ່ມຕົ້ນ
- ຕາຕະລາງທີ່ດີທີ່ສຸດສໍາລັບເປົ້າຫມາຍ
- ເຄື່ອງຈັກພິມ - ພິມລະຫັດເຄື່ອງທີ່ສ້າງຂຶ້ນ
-profile-estimator-loop-weight=- ຈໍານວນຂອງການປະຕິບັດ loop ນໍາໃຊ້ສໍາລັບການ
ຕົວປະເມີນໂປຣໄຟລ໌
-profile-info-file=- ໄຟລ໌ profile loaded ໂດຍ -ຕົວໂຫຼດຂໍ້ມູນ
-profile-randomness - ວິທີການສຸ່ມເລືອກ profile:
=ທົ່ວໂລກ
- ເຄົາເຕີທົ່ວໂລກ
=ra_global
- ລົງທະບຽນ counter ການຈັດສັນໃນທົ່ວໂລກ
=rdcc - ວົງຈອນນັບ
-realign-stack - ຈັດວາງ stack ຖ້າຕ້ອງການ
-regalloc - ລົງທະບຽນຜູ້ຈັດສັນເພື່ອໃຊ້: (ຄ່າເລີ່ມຕົ້ນ =
lineearscan)
=lineearscan
- ຜູ້ຈັດສັນທະບຽນສະແກນເສັ້ນ
- ປ່ອຍ - ປິດການທໍາງານການຢືນຢັນ, invariants, ສັນຍາແລະ
ກຳນົດຂອບເຂດ
- ການຍົກຍ້າຍຕົວແບບ - ເລືອກຮູບແບບການຍົກຍ້າຍ
=ຄ່າເລີ່ມຕົ້ນ
- ເປົ້າໝາຍຮູບແບບການຍົກຍ້າຍເລີ່ມຕົ້ນ
=static
- ລະຫັດທີ່ບໍ່ສາມາດຍ້າຍອອກໄດ້
=pic - ສາມາດຍ້າຍໄດ້ຢ່າງເຕັມສ່ວນ, ຕໍາແຫນ່ງລະຫັດເອກະລາດ
=dynamic-no-pic
- ການອ້າງອີງພາຍນອກທີ່ສາມາດຍ້າຍອອກໄດ້, ລະຫັດທີ່ບໍ່ສາມາດຍ້າຍອອກໄດ້
- ຂຽນຄືນໃຫມ່ - Rewriter ການນໍາໃຊ້: (ຄ່າເລີ່ມຕົ້ນ: ທ້ອງຖິ່ນ)
=ທ້ອງຖິ່ນ
- rewriter ທ້ອງຖິ່ນ
=ບໍ່ຈິງ
- rewriter ເລັກໆນ້ອຍໆ
-run=- ໂຄງການໂຕ້ຕອບ ...
-schedule-livein-copies - ກໍານົດສໍາເນົາຂອງການຈົດທະບຽນ livein
-schedule-spills - ຕາຕະລາງການຮົ່ວໄຫລຂອງລະຫັດ
-shrink-wrap - ຫຼຸດ ລົງ ທະ ບຽນ callee ບັນ ທຶກ ໄວ້ ຫໍ່
ຮົ່ວ / ຟື້ນຟູ
- ໂສດ - ສ້າງພຽງແຕ່ເອກະສານຜົນຜະລິດດຽວ
- ເລື່ອນລອຍ - ສ້າງຊອບແວຫ້ອງສະຫມຸດຈຸດທີ່ເລື່ອນໄດ້
ໂທ
-stack-alignment=- ລົບລ້າງການຈັດວາງ stack ເລີ່ມຕົ້ນ
-stack-protector-buffer-size=- ຂອບເຂດຕ່ໍາສໍາລັບ buffer ທີ່ຈະພິຈາລະນາ
ສໍາລັບການປ້ອງກັນ stack
- ສະຖິຕິ - ເປີດໃຊ້ງານຜົນຜະລິດສະຖິຕິຈາກໂຄງການ
-tailcallopt - ເປີດການເພີ່ມປະສິດທິພາບການໂທຫາງ.
- ເວລາຜ່ານ - ທີ່ໃຊ້ເວລາໃນແຕ່ລະຜ່ານ, ການພິມທີ່ໃຊ້ເວລາຜ່ານໄປສໍາລັບການ
ແຕ່ລະທາງອອກ
-unittest - ສັງລວມໃນການທົດສອບຫົວຫນ່ວຍ
- unwind-ຕາຕະລາງ - ສ້າງຕາຕະລາງ unwinding ສໍາລັບຫນ້າທີ່ທັງຫມົດ
-v - ຄຳເວົ້າ
-v-cg - Verbose codegen
-verify-dom-info - ກວດສອບຂໍ້ມູນທີ່ບໍລິສຸດ (ໃຊ້ເວລາຫຼາຍ)
-ການປ່ຽນແປງ - ສະແດງສະບັບຂອງໂຄງການນີ້
-vv - ເວົ້າຫຼາຍ
-w - ເປີດໃຊ້ງານການເຕືອນໄພ
-x86-asm-syntax - ເລືອກຮູບແບບຂອງລະຫັດທີ່ຈະປ່ອຍອອກມາຈາກ X86
ເບື້ອງຫຼັງ:
=att - ປ່ອຍການປະກອບແບບ AT&T
=intel - ປ່ອຍຕົວປະກອບແບບ Intel
-d-debug ຍັງສາມາດຖືກລະບຸໂດຍບໍ່ມີທາງເລືອກ, ໃນກໍລະນີນີ້ມັນເຮັດໃຫ້ການກວດສອບດີບັກທັງຫມົດ
(ie (ຢືນຢັນ, boundchecks, ສັນຍາແລະ invariants) ເຊັ່ນດຽວກັນກັບການສະແດງເປັນ -d-debug=1
ຕົວເລືອກທີ່ໝາຍດ້ວຍ (*) ຍັງມີ a -ປິດການໃຊ້ງານ FOO ຕົວແປທີ່ມີຄວາມຫມາຍປີ້ນກັບກັນ.
ອີງຕາມ DMD v1.051 ແລະ llvm 2.6 (Wed Dec 2 17:39:53 2009) ສະຫງວນລິຂະສິດ (c) 1999-2009 ໂດຍ
Digital Mars ແລະ Tomas Lindquist Olsen ຂຽນໂດຍ Walter Bright ແລະ Tomas Lindquist Olsen
ເອກະສານພາສາ D: http://www.digitalmars.com/d/1.0/index.html ຫນ້າທໍາອິດຂອງ LDC:
http://www.dsource.org/projects/ldc
ໃຊ້ ldmd2 ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net