ນີ້ແມ່ນຄໍາສັ່ງ bcc ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
bcc - Bruce's C compiler
ສະຫຼຸບສັງລວມ
bcc [-03EGNOPSVcegvwxW] [-Aas_option] [-Bexecutable_prefix] [- ກໍານົດ] [-Uundef]
[-Mc_mode] [-o outfile] [-ansi] [-Ccc1_option] [-Pcpp_option] [-Iinclude_dir]
[-Lld_option] [-Ttmpdir] [-Qc386_option] [-ttext_segno] [ld_options] [infiles]
ລາຍລະອຽດ
Bcc ເປັນ compiler C ງ່າຍດາຍທີ່ຜະລິດ 8086 assembler, ນອກຈາກນັ້ນ compiler ລວບລວມເວລາ
ທາງເລືອກອະນຸຍາດໃຫ້ 80386 ຫຼື 6809 ຮຸ່ນ. compiler ເຂົ້າໃຈ K&R C ແບບດັ້ງເດີມພຽງແຕ່
ຂໍ້ຈໍາກັດທີ່ຊ່ອງບິດແມ່ນມີແຜນທີ່ກັບຫນຶ່ງໃນປະເພດຈໍານວນເຕັມອື່ນໆ.
ການດໍາເນີນງານໃນຕອນຕົ້ນແມ່ນການຜະລິດ 8086 ທີ່ເອີ້ນວ່າ executable ກ ຈາກໄຟລ໌ແຫຼ່ງ.
OPTIONS
-ansi ຜ່ານແຫຼ່ງ C ຜ່ານ unprotoize ຫຼັງຈາກ preprocessing ແລະກ່ອນລະຫັດ
ລຸ້ນ. ນີ້ຈະອະນຸຍາດໃຫ້ ບາງ ansi C ທີ່ຈະລວບລວມແຕ່ແນ່ນອນ ບໍ່ a
ຕົວສັງລວມ ansi-C ທີ່ແທ້ຈິງ.
-0 8086 ເປົ້າຫມາຍ (ເຮັດວຽກຢູ່ໃນ 80386 host, ແຕ່ບໍ່ແມ່ນ 6809)
-3 80386 ເປົ້າຫມາຍ (ອາດຈະເຮັດວຽກຢູ່ໃນ 8086 host, ແຕ່ບໍ່ແມ່ນ 6809)
-A ຜ່ານທາງເລືອກທີ່ຍັງເຫຼືອທີ່ຈະ assembler (ເຊັ່ນ: -Al -Alistfile ສໍາລັບລາຍການ)
-B ຄໍານໍາຫນ້າສໍາລັບເສັ້ນທາງຄົ້ນຫາທີ່ສາມາດປະຕິບັດໄດ້ (ຕາມປົກກະຕິ; ຄໍາສັ່ງຄົ້ນຫາແມ່ນເສັ້ນທາງທັງຫມົດ
ການນໍາໃຊ້ທີ່ລະບຸໄວ້ -B, ໃນຄໍາສັ່ງ, ຫຼັງຈາກນັ້ນເສັ້ນທາງທີ່ໄດ້ຮັບໃນສະພາບແວດລ້ອມການປ່ຽນແປງ
BCC_EXEC_PREFIX ຖ້າມັນຖືກກໍານົດ, ຫຼັງຈາກນັ້ນ compiled-in defaults (ບາງສິ່ງບາງຢ່າງເຊັ່ນ:
/usr/lib/bcc/ ຕາມດ້ວຍ / usr / ຖັງ /)
-C ຜ່ານທາງເລືອກທີ່ເຫຼືອໄປ bcc-cc1, ເບິ່ງຕົວເລືອກການສ້າງລະຫັດ.
-D preprocessor ກໍານົດ
-E ຜະລິດ preprocessor ຜົນຜະລິດອອກມາດຕະຖານ.
-G ຜະລິດວັດຖຸ GCC (ຄືກັນກັບ -Mg)
- ໄອຊີຊ ລວມເອົາເສັ້ນທາງ 'xyz' ຄົ້ນຫາ
-I ຢ່າເພີ່ມຄ່າເລີ່ມຕົ້ນລວມເຂົ້າໃນລາຍການຄົ້ນຫາ
-Lxyz ເພີ່ມຊື່ໄດເລກະທໍລີ 'xyz' ໃສ່ຫົວຂອງບັນຊີລາຍຊື່ຂອງໄດເລກະທໍລີທີ່ຄົ້ນຫາ
-L ຢ່າເພີ່ມຫ້ອງສະໝຸດເລີ່ມຕົ້ນໃສ່ລາຍການຄົ້ນຫາ
- ທ່ານດ ປ່ຽນແປງການໂຕ້ຖຽງສໍາລັບ passes ທັງຫມົດເພື່ອຜະລິດໄຟລ໌ COM ປະຕິບັດ MSDOS. ເຫຼົ່ານີ້
ແມ່ນຮູບແບບຂະຫນາດນ້ອຍປະຕິບັດໄດ້, ການນໍາໃຊ້ -i ເພື່ອໃຫ້ໄດ້ຮັບຮູບແບບຂະຫນາດນ້ອຍ.
-Mf ກໍານົດ bcc ເພື່ອຜ່ານ -c ແລະ -f ການໂຕ້ຖຽງກັບຕົວສ້າງລະຫັດສໍາລັບຂະຫນາດນ້ອຍໄວຂຶ້ນ
ລະຫັດ. ໃຫ້ສັງເກດວ່າລະຫັດນີ້ບໍ່ເຂົ້າກັນໄດ້ກັບສົນທິສັນຍາການໂທມາດຕະຖານດັ່ງນັ້ນ a
ສະບັບທີ່ແຕກຕ່າງກັນຂອງຫ້ອງສະຫມຸດ C ແມ່ນເຊື່ອມຕໍ່ຄືກັນ.
-Mc ກໍານົດ bcc ເພື່ອຜ່ານ -c ການໂຕ້ຖຽງກັບຕົວສ້າງລະຫັດສໍາລັບລະຫັດຂະຫນາດນ້ອຍໄວກວ່າ.
ໃຫ້ສັງເກດວ່າ libc ມາດຕະຖານປົກກະຕິມີຄວາມໂປ່ງໃສຕໍ່ເລື່ອງນີ້, ແຕ່ມີຂໍ້ຍົກເວັ້ນ.
-ນາງສາວ ປ່ຽນແປງການໂຕ້ຖຽງສໍາລັບ passes ທັງຫມົດແລະເລືອກ C-library ເພື່ອຜະລິດ standalone
Linux-86 ສາມາດປະຕິບັດໄດ້
- ມລ ສະຫຼັບໄປຫາເຄື່ອງສ້າງລະຫັດ i386-Linux ແລະຫ້ອງສະໝຸດ. ການຕັ້ງຄ່ານີ້ຍອມຮັບ
-z ທຸງເພື່ອສ້າງໄຟລ໌ QMAGIC a.out ແທນ OMAGIC ປົກກະຕິ.
- ມກ ປ່ຽນເປັນເຄື່ອງສ້າງລະຫັດ i386-Linux ແລະສ້າງໄຟລ໌ວັດຖຸ OMAGIC ທີ່ສາມາດເປັນ.
ເຊື່ອມໂຍງກັບບາງສະບັບຂອງ gcc; ແຕ່ຫນ້າເສຍດາຍ, ຮຸ່ນຫຼ້າສຸດໃຊ້
'collect2' ເພື່ອເຊື່ອມຕໍ່ແລະນີ້ crashes.
-N ເຮັດໃຫ້ຕົວເຊື່ອມຕໍ່ຜະລິດໄຟລ໌ a.out ພື້ນເມືອງ (Linux OMAGIC) ຖ້າລວມກັບ -3 the
executable ຈະດໍາເນີນການພາຍໃຕ້ Linux-i386.
-O ເພີ່ມປະສິດທິພາບ, ໂທ ຕຳຫຼວດ(1) ເພື່ອເພີ່ມປະສິດທິພາບລະຫັດ 8086. ຕົວລະບຸທີ່ຈະເລືອກກົດລະບຽບໃດ ຕຳຫຼວດ
ຄວນໃຊ້ສາມາດຖືກຕື່ມໃສ່ກັບ -O ແລະທາງເລືອກສາມາດຊ້ໍາໄດ້.
-P ຜະລິດ preprocessor output ທີ່ບໍ່ມີຕົວເລກເສັ້ນໄປຫາຜົນຜະລິດມາດຕະຖານ.
-Q ຜ່ານທາງເລືອກເຕັມໄປ c386 (ສະເພາະລຸ້ນ c386)
-S ຜະລິດເອກະສານປະກອບ
-T ໄດເຣັກທໍຣີຊົ່ວຄາວ ( overrides ຄ່າທີ່ຜ່ານມາແລະຄ່າເລີ່ມຕົ້ນ; ຄ່າເລີ່ມຕົ້ນແມ່ນມາຈາກ
ຕົວແປສະພາບແວດລ້ອມ TMPDIR ຖ້າມັນຖືກຕັ້ງ, ຖ້າບໍ່ດັ່ງນັ້ນ / tmp)
-U preprocessor ບໍ່ໄດ້ກໍານົດ
-V ພິມຊື່ຂອງໄຟລ໌ທີ່ຖືກລວບລວມ
-X pass ສ່ວນທີ່ເຫຼືອຂອງທາງເລືອກທີ່ຈະ linker (ເຊັ່ນ: -X-Ofile ຖືກສົ່ງກັບ linker ເປັນ
-Ofile)
-c ຜະລິດໄຟລ໌ວັດຖຸ
-f ເປີດການຮອງຮັບຈຸດລອຍ, ບໍ່ມີຜົນກະທົບກັບ i386, ປ່ຽນຫ້ອງສະໝຸດ libc ກັບ 8086
ລະຫັດ.
-g ຜະລິດຂໍ້ມູນການດີບັກ (ຖືກລະເລີຍ.)
-o ຊື່ໄຟລ໌ຜົນຜະລິດດັ່ງຕໍ່ໄປນີ້ (assembler, ວັດຖຸຫຼືປະຕິບັດໄດ້) (ຕາມປົກກະຕິ)
-p ຜະລິດຂໍ້ມູນໂປຣໄຟລ໌ (ຖືກລະເລີຍ.)
-t1 ຜ່ານໄປຫາຕົວປະກອບເພື່ອປ່ຽນເລກສ່ວນຂໍ້ຄວາມສໍາລັບໂຄງການຫຼາຍພາກສ່ວນ.
-v ພິມຊື່ ແລະ args ຂອງຂະບວນການຍ່ອຍທີ່ກໍາລັງດໍາເນີນການ. ຊື່ພິມສອງ ຫຼືຫຼາຍກວ່ານັ້ນ -v ຂອງ
ໄຟລ໌ຖືກຍົກເລີກການເຊື່ອມຕໍ່. ສາມຫຼືຫຼາຍກວ່ານັ້ນ -v ຊື່ພິມຂອງເສັ້ນທາງທີ່ກໍາລັງຄົ້ນຫາ.
-w ສະກັດກັ້ນການວິນິດໄສເຕືອນໃດໆ.
-W ເປີດ on ຂໍ້ຄວາມເຕືອນຜູ້ປະກອບ.
-x ບໍ່ລວມ crt0.o ໃນການເຊື່ອມຕໍ່.
-i ຢ່າຜ່ານ -i ກັບຕົວເຊື່ອມຕໍ່ເພື່ອວ່າມັນຈະສ້າງການປະຕິບັດທີ່ບໍ່ບໍລິສຸດ.
ທາງເລືອກອື່ນແມ່ນຖືກສົ່ງໄປຫາຕົວເຊື່ອມຕໍ່, ໂດຍສະເພາະ -lx, -M, -m, -s, -H.
CODE ເຄື່ອງ ກຳ ເນີດໄຟຟ້າ OPTIONS
ເຫຼົ່ານີ້ແມ່ນທາງເລືອກທັງຫມົດທີ່ຜູ້ສ້າງລະຫັດຜ່ານ bcc-cc1 ເຂົ້າໃຈ, ພຽງແຕ່ບາງຄົນຈະເປັນ
ເປັນປະໂຫຍດສໍາລັບການ -C ທາງເລືອກຂອງ bcc.
-0 8086 ເປົ້າຫມາຍ (ເຮັດວຽກເຖິງແມ່ນວ່າຢູ່ໃນໂຮດ 80386, ບໍ່ແມ່ນຢູ່ໃນ 6809)
-3 80386 ເປົ້າຫມາຍ (ອາດຈະເຮັດວຽກເຖິງແມ່ນວ່າຢູ່ໃນ 8086 host, ບໍ່ແມ່ນ 6809)
-D ກໍານົດ (ຕາມປົກກະຕິ)
-E ຜະລິດ preprocessor output (ຕາມປົກກະຕິ)
-I ລວມເອົາເສັ້ນທາງຄົ້ນຫາ (ຕາມປົກກະຕິ)
-P ຜະລິດ preprocessor output ທີ່ບໍ່ມີຕົວເລກສາຍ (ຕາມປົກກະຕິ)
-c ຜະລິດລະຫັດທີ່ມີຜູ້ໂທປະຫຍັດ regs ກ່ອນທີ່ຈະໂທຫາຟັງຊັນ
-d ພິມຂໍ້ມູນ debugging ໃນຜົນຜະລິດປະກອບ
-f ຜະລິດລະຫັດທີ່ມີການໂຕ້ຖຽງທີ 1 ຜ່ານໃນທະບຽນ (AX, EAX ຫຼື X)
-l ຜະລິດລະຫັດສໍາລັບ 2 3 1 0 long byte order (ພຽງແຕ່ເຮັດວຽກຢູ່ໃນລະຫັດ 16-bit), ພິເສດ.
ຫ້ອງສະຫມຸດຂອງຫນ້າທີ່ຜູ້ຊ່ວຍ compiler ແມ່ນຈໍາເປັນສໍາລັບຮູບແບບນີ້.
-o assembler output ຊື່ໄຟລ໌ດັ່ງຕໍ່ໄປນີ້
-p ຜະລິດ (ເກືອບ) ລະຫັດຕໍາແຫນ່ງເອກະລາດ (ພຽງແຕ່ສໍາລັບ 6809)
-t ພິມລະຫັດແຫຼ່ງໃນຜົນຜະລິດປະກອບ
-w ພິມສິ່ງທີ່ cc1 ຄິດວ່າແມ່ນຕົວນັບສະຖານທີ່ຢູ່ໃນຜົນຜະລິດປະກອບ
ທາງເລືອກທັງຫມົດຍົກເວັ້ນ -D, -I ແລະ -o ອາດຈະຖືກປິດໂດຍການປະຕິບັດຕາມຕົວອັກສອນທາງເລືອກໂດຍ a
'-'. ຕົວເລືອກຕ່າງໆຖືກປະມວນຜົນຈາກຊ້າຍໄປຂວາເພື່ອໃຫ້ການຕັ້ງຄ່າສຸດທ້າຍມີຄວາມສຳຄັນກ່ອນໜ້າ.
ໂປຣເຊສເຊີ ນິຍາມ
preprocessor ມີຈໍານວນຄົງທີ່ manifest.
__BCC__ 1
ຕົວລະບຸການລວບລວມ, ປົກກະຕິແລ້ວໃຊ້ເພື່ອຫຼີກເວັ້ນການຈໍາກັດການລວບລວມ.
__FILE__
ຊື່ສະຕຣິງຂອງໄຟລ໌ປ້ອນຂໍ້ມູນປັດຈຸບັນ
__LINE__
ເລກແຖວປະຈຸບັນ
__MSDOS__ 1
compiler ໄດ້ຖືກຕັ້ງຄ່າສໍາລັບການສ້າງໄຟລ໌ COM ປະຕິບັດ MSDOS.
__STANDALONE__ 1
compiler ໄດ້ຖືກຕັ້ງຄ່າສໍາລັບການສ້າງ executable standalone.
__AS386_16__ 1
compiler ກໍາລັງຜະລິດ 16 bit 8086 assembler ແລະ #asm ຄໍາສໍາຄັນສາມາດໃຊ້ໄດ້ສໍາລັບ
ລວມທັງລະຫັດ 8086.
__AS386_32__ 1
compiler ກໍາລັງຜະລິດ 32 bit 80386 assembler ແລະ #asm ຄໍາສໍາຄັນສາມາດໃຊ້ໄດ້ສໍາລັບ
ລວມທັງລະຫັດ 80386.
__CALLER_SAVES__ 1
ສົນທິສັນຍາການໂທ compiler ໄດ້ຖືກປ່ຽນແປງດັ່ງນັ້ນຟັງຊັນການໂທຕ້ອງປະຫຍັດ SI
ແລະ DI ລົງທະບຽນຖ້າພວກເຂົາໃຊ້ (ESI ແລະ EDI ໃນ 80386)
__FIRST_ARG_IN_AX__ 1
ສົນທິສັນຍາການເອີ້ນ compiler ແມ່ນມີການປ່ຽນແປງດັ່ງນັ້ນຟັງຊັນການໂທແມ່ນຜ່ານ
ການໂຕ້ຖຽງທໍາອິດກັບຫນ້າທີ່ຢູ່ໃນ AX (ຫຼື EAX ) ລົງທະບຽນ.
__LONG_BIG_ENDIAN__ 1
ປ່ຽນແປງຄໍາສັ່ງຂອງລະຫັດທີ່ສ້າງຂຶ້ນໂດຍ compiler 8086.
ການກໍານົດເຫຼົ່ານີ້ເກີດຂຶ້ນພຽງແຕ່ໃນສະບັບ 6809 ຂອງ compiler.
__AS09__ 1
compiler ກໍາລັງສ້າງລະຫັດ 6809
__FIRST_ARG_IN_X__ 1
ການໂຕ້ຖຽງທໍາອິດກັບຫນ້າທີ່ແມ່ນຜ່ານໃນ X ລົງທະບຽນ.
__POS_INDEPENDENT__ 1
ລະຫັດທີ່ສ້າງຂຶ້ນແມ່ນ (ເກືອບ) ຕໍາແຫນ່ງເອກະລາດ.
ENVIRONMENT
BCC_EXEC_PREFIX
ໄດເລກະທໍລີເລີ່ມຕົ້ນເພື່ອຄົ້ນຫາຜ່ານ compiler
TMPDIR ໄດເລກະທໍລີເພື່ອວາງໄຟລ໌ຊົ່ວຄາວ (ຄ່າເລີ່ມຕົ້ນ / tmp)
ຜູ້ອໍານວຍການ
ທັງຫມົດທີ່ປະກອບມີ, ຫ້ອງສະຫມຸດແລະອົງປະກອບການສັງລວມແມ່ນເກັບຮັກສາໄວ້ພາຍໃຕ້ການ /usr/lib/bcc
ໄດເລກະທໍລີພາຍໃຕ້ Linux-i386, ນີ້ແມ່ນວາງໄວ້ຄືກັນກັບ a / usr ລະບົບໄຟລ໌ແລະຖ້າ bcc ແມ່ນ
ເພື່ອເປັນການລວບລວມຂໍ້ມູນຕົ້ນຕໍໃນລະບົບມັນຄວນຈະຖືກຍ້າຍໄປບ່ອນນັ້ນ. ການຕັ້ງຄ່າສໍາລັບການ
ນີ້ແມ່ນຢູ່ໃນ bcc.c ໄຟລ໌ແຫຼ່ງເທົ່ານັ້ນ, ການປະຕິບັດການອື່ນໆທັງຫມົດແມ່ນເອກະລາດຂອງສະຖານທີ່.
ການຕິດຕັ້ງຫ້ອງສະຫມຸດຍັງສ້າງໄຟລ໌ /usr/lib/liberror.txt, ເສັ້ນທາງນີ້ແມ່ນ
hardcoded ເຂົ້າໄປໃນຫ້ອງສະຫມຸດ C.
ໄດ້ bcc ການປະຕິບັດຕົວຂອງມັນເອງ, as86 ແລະ ld86 ຢູ່ໃນ /usr/bin.
ໃຊ້ bcc ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net