ນີ້ແມ່ນຄໍາສັ່ງ tcc ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
tcc - Tiny C Compiler
ສະຫຼຸບສັງລວມ
ການນໍາໃຊ້: tcc [ທາງເລືອກ] [infile1 infile2... ] [-Run infile ໂຕ້ຖຽງ... ]
ລາຍລະອຽດ
ຕົວເລືອກ TCC ແມ່ນຫຼາຍຄືກັບຕົວເລືອກ gcc. ຄວາມແຕກຕ່າງຕົ້ນຕໍແມ່ນວ່າ TCC ສາມາດເຮັດໄດ້
ດໍາເນີນການໂດຍກົງໂຄງການຜົນໄດ້ຮັບແລະໃຫ້ມັນ runtime arguments.
ນີ້ແມ່ນບາງຕົວຢ່າງເພື່ອເຂົ້າໃຈເຫດຜົນ:
"tcc -Run ac"
ລວບລວມ ac ແລະປະຕິບັດມັນໂດຍກົງ
"tcc -Run ac arg1"
ລວບລວມ ac ແລະດໍາເນີນການໂດຍກົງ. arg1 ແມ່ນໃຫ້ເປັນການໂຕ້ຖຽງທໍາອິດກັບ "main()"
ຂອງ ac
"tcc ac -Run bc arg1"
ລວບລວມ ac ແລະ bc, ເຊື່ອມຕໍ່ພວກເຂົາຮ່ວມກັນແລະປະຕິບັດພວກມັນ. arg1 ແມ່ນໃຫ້ເປັນຄັ້ງທໍາອິດ
ການໂຕ້ຖຽງກັບ "main()" ຂອງໂຄງການຜົນໄດ້ຮັບ.
"tcc -o myprog ac bc"
ລວບລວມ ac ແລະ bc, ເຊື່ອມຕໍ່ພວກເຂົາແລະສ້າງການປະຕິບັດ myprog.
"tcc -o myprog ອ້າວ ໂບ"
ການເຊື່ອມຕໍ່ ອ້າວ ແລະ ໂບ ຮ່ວມກັນແລະສ້າງການປະຕິບັດໄດ້ myprog.
"tcc -c ac"
ລວບລວມ ac ແລະສ້າງໄຟລ໌ວັດຖຸ ອ້າວ.
"tcc -c asmfile.S"
Preprocess ກັບ C preprocess ແລະປະກອບ asmfile.S ແລະສ້າງໄຟລ໌ວັດຖຸ
asmfile.o.
"tcc -c asmfile.s"
ປະກອບ (ແຕ່ບໍ່ແມ່ນ preprocess) asmfile.s ແລະສ້າງໄຟລ໌ວັດຖຸ asmfile.o.
"tcc -r -o ab.o ac bc"
ລວບລວມ ac ແລະ bc, ເຊື່ອມຕໍ່ພວກມັນເຂົ້າກັນແລະສ້າງໄຟລ໌ວັດຖຸ ab.o.
ການຂຽນບົດ:
TCC ສາມາດຖືກເອີ້ນຈາກ scripts, ຄືກັນກັບສະຄຣິບແກະ. ທ່ານພຽງແຕ່ຕ້ອງການເພີ່ມ
"#!/usr/local/bin/tcc -run" ຢູ່ຈຸດເລີ່ມຕົ້ນຂອງແຫຼ່ງ C ຂອງທ່ານ:
#!/usr/local/bin/tcc -run
#ລວມ
int ຕົ້ນຕໍ ()
{
printf("ສະບາຍດີໂລກ\n");
return 0
}
TCC ສາມາດອ່ານລະຫັດແຫຼ່ງ C ຈາກ ມາດຕະຖານ ການປ້ອນຂໍ້ມູນ ໃນເວລາທີ່ - ຖືກນໍາໃຊ້ແທນ infile. ຕົວຢ່າງ:
echo 'main(){puts("ສະບາຍດີ");}' | tcc -run -
OPTIONS
-c ສ້າງໄຟລ໌ວັດຖຸ.
-o outfile
ເອົາໄຟລ໌ວັດຖຸ, ປະຕິບັດໄດ້, ຫຼື dll ເຂົ້າໄປໃນໄຟລ໌ຜົນຜະລິດ outfile.
-Run ແຫຼ່ງ [args...]
ລວບລວມໄຟລ໌ ແຫຼ່ງ ແລະແລ່ນມັນດ້ວຍການໂຕ້ຖຽງເສັ້ນຄໍາສັ່ງ ໂຕ້ຖຽງ. ໃນຄໍາສັ່ງທີ່ຈະ
ສາມາດໃຫ້ຫຼາຍກວ່າຫນຶ່ງ argument ກັບ script, ຫຼາຍທາງເລືອກ TCC ສາມາດໃຫ້
ຫຼັງຈາກ ໄດ້ -Run ທາງເລືອກ, ແຍກໂດຍຍະຫວ່າງ:
tcc "-run -L/usr/X11R6/lib -lX11" ex4.c
ໃນສະຄຣິບ, ມັນໃຫ້ສ່ວນຫົວຕໍ່ໄປນີ້:
#!/usr/local/bin/tcc -run -L/usr/X11R6/lib -lX11
-mfloat-abi (ARM ພຽງແຕ່)
ເລືອກ ABI ທີ່ເລື່ອນໄດ້. ຄ່າທີ່ເປັນໄປໄດ້: "softfp" ແລະ "hard"
- dumpversion
ພິມພຽງແຕ່ສະບັບ compiler ແລະບໍ່ມີຫຍັງອີກ.
-v ສະແດງສະບັບ TCC.
-vv ສະແດງໄຟລ໌ລວມ. ໃນຖານະເປັນການໂຕ້ຖຽງ sole, ພິມ dirs ຄົ້ນຫາ (ດັ່ງຂ້າງລຸ່ມນີ້).
- ບ່ອນນັ່ງ
ສະແດງສະຖິຕິການລວບລວມ.
-print-search-dirs
ພິມໄດເລກະທໍລີການຕິດຕັ້ງທີ່ກໍານົດໄວ້ແລະບັນຊີລາຍຊື່ຂອງຫ້ອງສະຫມຸດແລະປະກອບມີ
tcc ໄດເລກະທໍລີຈະຄົ້ນຫາ.
ຕົວເລືອກຕົວປະມວນຜົນກ່ອນ:
-Idir
ລະບຸເສັ້ນທາງລວມເພີ່ມເຕີມ. ລວມເອົາເສັ້ນທາງຖືກຄົ້ນຫາຕາມລໍາດັບ
ລະບຸ.
ລະບົບລວມມີເສັ້ນທາງຖືກຄົ້ນຫາຢູ່ສະ ເໝີ. ລະບົບເລີ່ມຕົ້ນປະກອບມີເສັ້ນທາງຄື:
/usr/local/include, / usr / ປະກອບມີ ແລະ PREFIX/lib/tcc/include. (PREFIX ແມ່ນປົກກະຕິແລ້ວ / usr
or / usr / ທ້ອງຖິ່ນ).
-Dsym[=val]
ກໍານົດສັນຍາລັກ preprocessor ຊິມ ກັບ val. ຖ້າ val ບໍ່ມີ, ມູນຄ່າຂອງມັນແມ່ນ 1.
ມະຫາພາກຄ້າຍຄືຟັງຊັນຍັງສາມາດຖືກກໍານົດ: -DF(a)=a+1
-Usym
ຍົກເລີກການກຳນົດສັນຍາລັກຂອງຕົວປະມວນຜົນກ່ອນ ຊິມ.
ທຸງການລວບລວມ:
ຫມາຍເຫດ: ແຕ່ລະທາງເລືອກຕໍ່ໄປນີ້ມີຮູບແບບລົບເລີ່ມຕົ້ນດ້ວຍ -fno-.
-funsigned-char
ໃຫ້ປະເພດ "char" ບໍ່ໄດ້ເຊັນ.
-fsigned-char
ໃຫ້ "char" ປະເພດຖືກເຊັນ.
-fno-ທົ່ວໄປ
ຢ່າສ້າງສັນຍາລັກທົ່ວໄປສໍາລັບຂໍ້ມູນທີ່ບໍ່ໄດ້ກໍານົດໄວ້.
-fleading-underscore
ເພີ່ມຂີດກ້ອງຢູ່ຈຸດເລີ່ມຕົ້ນຂອງແຕ່ລະສັນຍາລັກ C.
-fms-ສ່ວນຂະຫຍາຍ
ອະນຸຍາດໃຫ້ການຂະຫຍາຍ MS C compiler ເປັນພາສາ. ປະຈຸບັນນີ້ສົມມຸດວ່າຕັ້ງຊື່ເປັນຮັງ
ການປະກາດໂຄງສ້າງທີ່ບໍ່ມີຕົວລະບຸປະຕິບັດຕົວຄືກັບຜູ້ທີ່ບໍ່ມີຊື່.
-fdollars-in-identifiers
ອະນຸຍາດໃຫ້ເປັນໂດລາໃນຕົວລະບຸ
ຕົວເລືອກການເຕືອນໄພ:
-w ປິດການເຕືອນໄພທັງໝົດ.
ໝາຍເຫດ: ແຕ່ລະຕົວເລືອກການເຕືອນໄພຕໍ່ໄປນີ້ມີຮູບແບບລົບເລີ່ມຕົ້ນດ້ວຍ -Wno-.
-Wimplicit-function-ປະກາດ
ເຕືອນກ່ຽວກັບການປະກາດຟັງຊັນ implicit.
- ສະຫນັບສະຫນູນ
ເຕືອນກ່ຽວກັບຄຸນສົມບັດ GCC ທີ່ບໍ່ຮອງຮັບທີ່ຖືກລະເລີຍໂດຍ TCC.
-Write-strings
ເຮັດໃຫ້ຄ່າຄົງທີ່ຂອງສະຕຣິງເປັນປະເພດ "const char *" ແທນ "char *".
- ຄວາມຜິດພາດ
ຍົກເລີກການລວບລວມຂໍ້ມູນຖ້າມີການເຕືອນ.
- ຝາ
ເປີດໃຊ້ການເຕືອນທັງໝົດ, ຍົກເວັ້ນ - ຄວາມຜິດພາດ, -Wunu ສະຫນັບສະຫນູນ ແລະ -Write-strings.
ຕົວເລືອກຕົວເຊື່ອມຕໍ່:
-Ldir
ລະບຸເສັ້ນທາງຫ້ອງສະໝຸດສະຖິດເພີ່ມເຕີມສຳລັບ -l ທາງເລືອກ. ເສັ້ນທາງຫ້ອງສະໝຸດເລີ່ມຕົ້ນ
ມີ / usr / local / lib, / usr / lib ແລະ / lib.
-lxxx
ເຊື່ອມຕໍ່ໂປຼແກຼມຂອງທ່ານກັບຫ້ອງສະໝຸດແບບເຄື່ອນໄຫວ libxxx.so ຫຼືຫ້ອງສະໝຸດສະຖິດ libxxx.a. ໄດ້
ຫ້ອງສະຫມຸດແມ່ນຊອກຫາຢູ່ໃນເສັ້ນທາງທີ່ລະບຸໄວ້ໂດຍ -L ທາງເລືອກແລະ LIBRARY_PATH ຕົວແປ.
-Bdir
ກໍານົດເສັ້ນທາງທີ່ຫ້ອງສະຫມຸດພາຍໃນ tcc (ແລະປະກອບມີໄຟລ໌) ສາມາດພົບໄດ້
(ຄ່າເລີ່ມຕົ້ນແມ່ນ PREFIX/lib/tcc).
- ແບ່ງປັນ
ສ້າງຫ້ອງສະໝຸດທີ່ໃຊ້ຮ່ວມກັນແທນການດຳເນີນການ.
-sonname ຊື່
ຕັ້ງຊື່ສໍາລັບຫ້ອງສະຫມຸດທີ່ໃຊ້ຮ່ວມກັນເພື່ອໃຊ້ໃນເວລາແລ່ນ
-static
ສ້າງການເຊື່ອມໂຍງແບບສະຖິດທີ່ສາມາດປະຕິບັດໄດ້ (ຄ່າເລີ່ມຕົ້ນແມ່ນການແບ່ງປັນເຊື່ອມຕໍ່ທີ່ປະຕິບັດໄດ້).
-rdynamic
ສົ່ງອອກສັນຍາລັກທົ່ວໂລກໄປຫາຕົວເຊື່ອມຕໍ່ແບບເຄື່ອນໄຫວ. ມັນເປັນປະໂຫຍດໃນເວລາທີ່ຫ້ອງສະຫມຸດເປີດດ້ວຍ
"dlopen()" ຕ້ອງການເຂົ້າເຖິງສັນຍາລັກທີ່ສາມາດປະຕິບັດໄດ້.
-r ສ້າງໄຟລ໌ວັດຖຸທີ່ລວມເອົາໄຟລ໌ປ້ອນຂໍ້ມູນທັງໝົດ.
-Wl,-rpath=ເສັ້ນທາງ
ວາງເສັ້ນທາງບ່ອນນັ່ງແບບກຳນົດເອງສຳລັບຫ້ອງສະໝຸດແບບໄດນາມິກເຂົ້າໃນການດຳເນີນການ.
-Wl,--oformat=fmt
ການນໍາໃຊ້ fmt ເປັນຮູບແບບຜົນຜະລິດ. ຮູບແບບຜົນຜະລິດສະຫນັບສະຫນູນແມ່ນ:
"elf32-i386"
ຮູບແບບຜົນຜະລິດ ELF (ຄ່າເລີ່ມຕົ້ນ)
"ຄູ່"
ຮູບພາບຖານສອງ (ພຽງແຕ່ສໍາລັບຜົນຜະລິດທີ່ປະຕິບັດ)
"coff"
ຮູບແບບຜົນຜະລິດ COFF (ພຽງແຕ່ສໍາລັບຜົນຜະລິດທີ່ປະຕິບັດໄດ້ສໍາລັບເປົ້າຫມາຍ TMS320C67xx)
-Wl,-subsystem=console/gui/wince/...
ກໍານົດປະເພດສໍາລັບ PE (Windows) executables.
-Wl,-[Ttext=# | section-alignment=# | file-alignment=# | image-base=# | stack=#]
ປັບປຸງແກ້ໄຂຮູບແບບປະຕິບັດໄດ້.
-Wl,-ສັນຍະລັກ
ຕັ້ງແທັກ DT_SYMBOLIC.
ຕົວເລືອກດີບັກ:
-g ສ້າງຂໍ້ມູນການແກ້ໄຂບັນຫາທີ່ໃຊ້ເວລາແລ່ນເພື່ອໃຫ້ທ່ານໄດ້ຮັບຂໍ້ຄວາມຜິດພາດໃນເວລາແລ່ນທີ່ຈະແຈ້ງ: "
test.c:68: ໃນຟັງຊັນ 'test5()': ການອ້າງອິງຕົວຊີ້ທີ່ບໍ່ຖືກຕ້ອງ" ແທນທີ່
laconic "ຄວາມຜິດຂອງການແບ່ງສ່ວນ".
-b ສ້າງລະຫັດສະຫນັບສະຫນູນເພີ່ມເຕີມເພື່ອກວດເບິ່ງການຈັດສັນຫນ່ວຍຄວາມຈໍາແລະຂອບເຂດ array/pointer.
-g ຫມາຍເຖິງ. ໃຫ້ສັງເກດວ່າລະຫັດທີ່ສ້າງຂຶ້ນແມ່ນຊ້າກວ່າແລະໃຫຍ່ກວ່າໃນກໍລະນີນີ້.
ຫມາຍເຫດ: -b ມີຢູ່ໃນ i386 ເທົ່ານັ້ນເມື່ອໃຊ້ libtcc ໃນເວລານີ້.
-bt N
ສະແດງ N callers ໃນ stack traces. ນີ້ແມ່ນເປັນປະໂຫຍດກັບ -g or -b.
ທາງເລືອກອື່ນໆ:
-MD ສ້າງ fragment makefile ກັບ dependencies.
-MF depfile
ການນໍາໃຊ້ depfile ເປັນຜົນຜະລິດສໍາລັບ -MD.
ໝາຍເຫດ: ຕົວເລືອກ GCC -ອັອກ, -fx ແລະ -mx ຖືກລະເລີຍ.
ENVIRONMENT
ຕົວແປສະພາບແວດລ້ອມທີ່ມີຜົນກະທົບຕໍ່ວິທີການເຮັດວຽກຂອງ tcc.
CPATH
C_INCLUDE_PATH
ບັນຊີລາຍຊື່ທີ່ແຍກກັນໂດຍຈໍ້າສອງເມັດຂອງໄດເລກະທໍລີທີ່ຄົ້ນຫາປະກອບມີໄຟລ໌, ໄດເລກະທໍລີທີ່ໃຫ້
ກັບ -I ຖືກຄົ້ນຫາກ່ອນ.
LIBRARY_PATH
ບັນຊີລາຍຊື່ທີ່ແຍກກັນໂດຍຈໍ້າສອງເມັດຂອງໄດເລກະທໍລີທີ່ຊອກຫາຫ້ອງສະຫມຸດສໍາລັບ -l ທາງເລືອກ,
ລາຍ ການ ໃຫ້ ກັບ -L ຖືກຄົ້ນຫາກ່ອນ.
ໃຊ້ tcc ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net