ນີ້ແມ່ນຄໍາສັ່ງ fort77posix ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
fort77 — FORTRAN compiler (FORTRAN)
ສະຫຼຸບສັງລວມ
ປ້ອມ 77 [−ຄ] [−ກ] [−ລ ລະບົບ]... [−ອ ທາງເລືອກ] [−o outfile] [−ສ]
[−ວ] Operand...
ລາຍລະອຽດ
ໄດ້ ປ້ອມ 77 ຜົນປະໂຫຍດແມ່ນການໂຕ້ຕອບກັບລະບົບການລວບລວມ FORTRAN; ມັນຈະຍອມຮັບ
ພາສາ FORTRAN-77 ເຕັມທີ່ກໍານົດໂດຍມາດຕະຖານ ANSI X3.9-1978. ລະບົບແນວຄວາມຄິດ
ປະກອບດ້ວຍ compiler ແລະຕົວແກ້ໄຂການເຊື່ອມຕໍ່. ໄຟລ໌ອ້າງອີງໂດຍ Operands ຖືກລວບລວມແລະ
ເຊື່ອມຕໍ່ເພື່ອຜະລິດໄຟລ໌ທີ່ສາມາດປະຕິບັດໄດ້. ມັນບໍ່ໄດ້ຖືກລະບຸວ່າການເຊື່ອມໂຍງເກີດຂຶ້ນ
ທັງຫມົດພາຍໃນການດໍາເນີນງານຂອງ ປ້ອມ 77; ການປະຕິບັດບາງຢ່າງອາດຈະຜະລິດວັດຖຸທີ່ເປັນ
ບໍ່ໄດ້ຮັບການແກ້ໄຂຢ່າງເຕັມທີ່ຈົນກ່ວາໄຟລ໌ໄດ້ຖືກປະຕິບັດ.
ຖ້າ −ຄ ທາງເລືອກແມ່ນມີຢູ່, ສໍາລັບການດໍາເນີນການຊື່ເສັ້ນທາງທັງຫມົດຂອງຮູບແບບ ເອກະສານ.f, ໄຟລ໌:
$(ຊື່ພື້ນຖານ ຊື່ເສັ້ນທາງ.f).o
ຈະຖືກສ້າງຫຼືຂຽນທັບເປັນຜົນມາຈາກການລວບລວມສົບຜົນສໍາເລັດ. ຖ້າ −ຄ ທາງເລືອກ
ບໍ່ໄດ້ລະບຸໄວ້, ມັນບໍ່ໄດ້ລະບຸວ່າເປັນເຊັ່ນນັ້ນ .o ໄຟລ໌ໄດ້ຖືກສ້າງຕັ້ງຂື້ນຫຼືລົບສໍາລັບການ
ເອກະສານ.f ໂຕປະຕິບັດການ.
ຖ້າບໍ່ມີທາງເລືອກທີ່ປ້ອງກັນການແກ້ໄຂການເຊື່ອມຕໍ່ (ເຊັ່ນ: −ຄ) ແລະຕົວປະຕິບັດການທັງຫມົດລວບລວມ
ແລະເຊື່ອມຕໍ່ໂດຍບໍ່ມີຂໍ້ຜິດພາດ, ໄຟລ໌ທີ່ສາມາດປະຕິບັດໄດ້ຜົນໄດ້ຮັບຈະຖືກຂຽນໄວ້ໃນໄຟລ໌ທີ່ມີຊື່
ໂດຍ −o ທາງເລືອກ (ຖ້າມີ) ຫຼືໄຟລ໌ ກ. ໄຟລ໌ທີ່ສາມາດປະຕິບັດໄດ້ຈະຕ້ອງຖືກສ້າງຂື້ນ
ຕາມທີ່ລະບຸໄວ້ໃນ System Interfaces volume ຂອງ POSIX.1-2008, ຍົກເວັ້ນໄຟລ໌ນັ້ນ
ການອະນຸຍາດຈະຖືກຕັ້ງເປັນ: S_IRWXO | S_IRWXG | S_IRWXU
ແລະວ່າບິດທີ່ລະບຸໄວ້ໂດຍ ໜ້າ ກາກ ຂອງຂະບວນການຕ້ອງໄດ້ຮັບການອະນາໄມ.
OPTIONS
ໄດ້ ປ້ອມ 77 ຜົນປະໂຫຍດຈະຕ້ອງສອດຄ່ອງກັບປະລິມານຄໍານິຍາມພື້ນຖານຂອງ POSIX.1-2008, ສ່ວນ
12.2, ຜົນປະໂຫຍດ syntax ຄູ່ມືແນະນໍາ, ຍົກເວັ້ນວ່າ:
* The −l ຫ້ອງສະຫມຸດ operands ມີຮູບແບບຂອງທາງເລືອກ, ແຕ່ຕໍາແຫນ່ງຂອງເຂົາເຈົ້າຢູ່ໃນບັນຊີລາຍຊື່
ຂອງ operands ຜົນກະທົບຕໍ່ຄໍາສັ່ງທີ່ຫ້ອງສະຫມຸດໄດ້ຖືກຄົ້ນຫາ.
* ຄໍາສັ່ງຂອງການລະບຸຫຼາຍ −ລ ທາງເລືອກແມ່ນສໍາຄັນ.
* ຄໍາຮ້ອງສະຫມັກທີ່ສອດຄ່ອງຈະຕ້ອງລະບຸແຕ່ລະທາງເລືອກແຍກຕ່າງຫາກ; ນັ້ນແມ່ນ, ທາງເລືອກການຈັດກຸ່ມ
ຕົວອັກສອນ (ຕົວຢ່າງ, −cg) ບໍ່ຈໍາເປັນຕ້ອງໄດ້ຮັບການຍອມຮັບໂດຍການປະຕິບັດທັງຫມົດ.
ທາງເລືອກຕໍ່ໄປນີ້ຈະໄດ້ຮັບການສະຫນັບສະຫນູນ:
−ຄ ສະກັດກັ້ນໄລຍະການເຊື່ອມໂຍງ - ດັດແກ້ຂອງການລວບລວມ, ແລະບໍ່ເອົາວັດຖຸໃດໆ
ໄຟລ໌ທີ່ຜະລິດ.
−ກ ຜະລິດຂໍ້ມູນສັນຍາລັກໃນວັດຖຸຫຼືໄຟລ໌ທີ່ປະຕິບັດໄດ້; ລັກສະນະຂອງ
ຂໍ້ມູນນີ້ແມ່ນບໍ່ໄດ້ລະບຸໄວ້, ແລະອາດຈະໄດ້ຮັບການແກ້ໄຂໂດຍການປະຕິບັດກໍານົດ
ປະຕິສໍາພັນກັບທາງເລືອກອື່ນ.
−ສ ຜະລິດວັດຖຸຫຼືໄຟລ໌ທີ່ປະຕິບັດໄດ້, ຫຼືທັງສອງ, ຈາກທີ່ສັນຍາລັກແລະອື່ນໆ
ຂໍ້ມູນທີ່ບໍ່ຈໍາເປັນຕ້ອງສໍາລັບການປະຕິບັດທີ່ເຫມາະສົມໂດຍນໍາໃຊ້ exec ຄອບຄົວຂອງຫນ້າທີ່
ທີ່ໄດ້ກຳນົດໄວ້ໃນ System Interfaces volume ຂອງ POSIX.1-2008 ໄດ້ຖືກລຶບອອກແລ້ວ
(ຖອດອອກ). ຖ້າທັງສອງ −ກ ແລະ −ສ ທາງເລືອກທີ່ມີຢູ່, ການປະຕິບັດແມ່ນ
ບໍ່ໄດ້ລະບຸ.
−o outfile
ໃຊ້ຊື່ເສັ້ນທາງ outfile, ແທນທີ່ຈະເປັນຄ່າເລີ່ມຕົ້ນ ກ, ສໍາລັບໄຟລ໌ປະຕິບັດໄດ້
ຜະລິດ. ຖ້າ −o ທາງເລືອກແມ່ນມີຢູ່ −ຄ, ຜົນໄດ້ຮັບແມ່ນບໍ່ໄດ້ລະບຸ.
−ລ ລະບົບ
ປ່ຽນລະບົບການຊອກຫາຫ້ອງສະໝຸດທີ່ມີຊື່ໃນ −l operands ເພື່ອເບິ່ງ
ໃນໄດເລກະທໍລີທີ່ມີຊື່ໂດຍ ລະບົບ pathname ກ່ອນທີ່ຈະຊອກຫາຢູ່ໃນປົກກະຕິ
ສະຖານທີ່. ໄດເລກະທໍລີທີ່ມີຊື່ໃນ −ລ ທາງເລືອກຈະໄດ້ຮັບການຄົ້ນຫາໃນລະບຸໄວ້
ຄໍາສັ່ງ. ຢ່າງໜ້ອຍສິບຕົວຢ່າງຂອງຕົວເລືອກນີ້ຈະຖືກຮອງຮັບໃນອັນດຽວ
ປ້ອມ 77 ການຮຽກຮ້ອງຄໍາສັ່ງ. ຖ້າໄດເລກະທໍລີທີ່ກໍານົດໂດຍ a −ລ ທາງເລືອກປະກອບດ້ວຍ a
ໄຟລ໌ທີ່ມີຊື່ libf.a, ຜົນໄດ້ຮັບແມ່ນບໍ່ໄດ້ລະບຸ.
−ອ ທາງເລືອກ
ລະບຸລະດັບການເພີ່ມປະສິດທິພາບລະຫັດ. ຖ້າ ທາງເລືອກ option-argument ແມ່ນ
ຫລັກ '0', ການເພີ່ມປະສິດທິພາບລະຫັດພິເສດທັງຫມົດຈະຖືກປິດໃຊ້ງານ. ຖ້າມັນເປັນຕົວເລກ
'1', ລັກສະນະຂອງການເພີ່ມປະສິດທິພາບແມ່ນບໍ່ໄດ້ລະບຸ. ຖ້າ −ອ ທາງເລືອກແມ່ນຍົກເວັ້ນ,
ລັກສະນະຂອງການເພີ່ມປະສິດທິພາບເລີ່ມຕົ້ນຂອງລະບົບແມ່ນບໍ່ໄດ້ລະບຸ. ມັນແມ່ນ
ບໍ່ໄດ້ລະບຸວ່າລະຫັດທີ່ສ້າງຂຶ້ນໃນທີ່ປະທັບຂອງ −ອ 0 ທາງເລືອກແມ່ນ
ຄືກັນກັບທີ່ສ້າງຂຶ້ນເມື່ອ −ອ ຖືກລະເວັ້ນ. ອື່ນໆ ທາງເລືອກ ຄຸນຄ່າອາດຈະເປັນ
ສະຫນັບສະຫນູນ.
−ວ ສະກັດກັ້ນການເຕືອນໄພ.
ຕົວຢ່າງຫຼາຍຂອງ −ລ ທາງເລືອກສາມາດຖືກກໍານົດ.
ດໍາເນີນງານ
An Operand ແມ່ນຢູ່ໃນຮູບແບບຂອງຊື່ເສັ້ນທາງຫຼືແບບຟອມ −l ຫ້ອງສະຫມຸດ. ຢ່າງຫນ້ອຍຫນຶ່ງ
operand ຂອງແບບຟອມຊື່ເສັ້ນທາງຈະຖືກລະບຸ. ຄຳສັ່ງຕໍ່ໄປນີ້ຈະຕ້ອງເປັນ
ສະຫນັບສະຫນູນ:
ຍື່ນ.f ຊື່ເສັ້ນທາງຂອງໄຟລ໌ແຫຼ່ງ FORTRAN ທີ່ຈະລວບລວມແລະຜ່ານທາງເລືອກ
ບັນນາທິການເຊື່ອມຕໍ່. ໂຕປະຕິບັດການຊື່ໄຟລ໌ຈະຕ້ອງເປັນແບບຟອມນີ້ຖ້າມີ −ຄ ທາງເລືອກແມ່ນ
ໃຊ້ແລ້ວ.
ຍື່ນ.a ຫ້ອງສະໝຸດຂອງໄຟລ໌ວັດຖຸທີ່ປົກກະຕິຜະລິດໂດຍ ar, ແລະຜ່ານໂດຍກົງກັບ
ບັນນາທິການເຊື່ອມຕໍ່. ການຈັດຕັ້ງປະຕິບັດອາດຈະຮັບຮູ້ຄໍາຕໍ່ທ້າຍທີ່ກໍານົດການຈັດຕັ້ງປະຕິບັດອື່ນໆ
ກ່ວາ .a ເປັນ denoting ຫໍສະຫມຸດໄຟລ໌ວັດຖຸ.
ຍື່ນ.o ໄຟລ໌ວັດຖຸທີ່ຜະລິດໂດຍ ປ້ອມ 77 −ຄ ແລະສົ່ງຜ່ານຕົວແກ້ໄຂການເຊື່ອມຕໍ່ໂດຍກົງ.
ການຈັດຕັ້ງປະຕິບັດອາດຈະຮັບຮູ້ຄໍາຕໍ່ທ້າຍທີ່ກໍານົດການຈັດຕັ້ງປະຕິບັດນອກຈາກ .o as
ຫມາຍເຖິງໄຟລ໌ວັດຖຸ.
ການປະມວນຜົນຂອງໄຟລ໌ອື່ນໆແມ່ນກໍານົດການປະຕິບັດ.
−l ຫ້ອງສະຫມຸດ
(ຈົດຫມາຍສະບັບ ell.) ຄົ້ນຫາຫ້ອງສະຫມຸດທີ່ມີຊື່:
libຫ້ອງສະຫມຸດ.a
ຫ້ອງສະຫມຸດໄດ້ຖືກຄົ້ນຫາໃນເວລາທີ່ພົບຊື່ຂອງມັນ, ດັ່ງນັ້ນການຈັດວາງຂອງ a −l
operand ມີຄວາມສໍາຄັນ. ຫ້ອງສະຫມຸດມາດຕະຖານຫຼາຍສາມາດຖືກກໍານົດໄວ້ໃນນີ້
ລັກສະນະ, ດັ່ງທີ່ອະທິບາຍໄວ້ໃນສ່ວນຄໍາອະທິບາຍຂະຫຍາຍ. ການຈັດຕັ້ງປະຕິບັດອາດຈະ
ຮັບຮູ້ຄຳຕໍ່ທ້າຍທີ່ກຳນົດການຈັດຕັ້ງປະຕິບັດນອກເໜືອໄປຈາກ .a ຫມາຍເຖິງຫ້ອງສະຫມຸດ.
STDIN
ບໍ່ໄດ້ນໍາໃຊ້.
ປັດໄຈນໍາເຂົ້າ ເອກະສານ
ໄຟລ໌ປ້ອນຂໍ້ມູນຈະຕ້ອງເປັນຫນຶ່ງໃນຕໍ່ໄປນີ້: ໄຟລ໌ຂໍ້ຄວາມທີ່ມີລະຫັດແຫຼ່ງ FORTRAN;
ໄຟລ໌ວັດຖຸໃນຮູບແບບທີ່ຜະລິດໂດຍ ປ້ອມ 77 −ຄ; ຫຼືຫ້ອງສະຫມຸດຂອງໄຟລ໌ວັດຖຸ, ໃນ
ຮູບແບບທີ່ຜະລິດໂດຍການເກັບສູນຫຼືຫຼາຍໄຟລ໌ວັດຖຸ, ການນໍາໃຊ້ ar. ການຈັດຕັ້ງປະຕິບັດອາດຈະ
ສະຫນອງຜົນປະໂຫຍດເພີ່ມເຕີມທີ່ຜະລິດໄຟລ໌ໃນຮູບແບບເຫຼົ່ານີ້. ໄຟລ໌ປ້ອນຂໍ້ມູນເພີ່ມເຕີມ
ແມ່ນການປະຕິບັດກໍານົດ.
ກ ພົບພາຍໃນຫົກຕົວອັກສອນທໍາອິດໃນແຖວຂອງລະຫັດແຫຼ່ງຈະເຮັດໃຫ້ເກີດ
compiler ເພື່ອຕີຄວາມຫມາຍລັກສະນະຕໍ່ໄປນີ້ຄືກັບວ່າມັນເປັນຕົວອັກສອນທີ່ເຈັດ
ເສັ້ນ (ນັ້ນແມ່ນ, ໃນຖັນ 7).
ENVIRONMENT ຄວາມຮັບຜິດຊອບ
ຕົວແປສະພາບແວດລ້ອມຕໍ່ໄປນີ້ຈະສົ່ງຜົນກະທົບຕໍ່ການປະຕິບັດ ປ້ອມ 77:
ພາສາ ໃຫ້ຄ່າເລີ່ມຕົ້ນສໍາລັບຕົວແປສາກົນທີ່ບໍ່ໄດ້ຕັ້ງ ຫຼື
null. (ເບິ່ງປະລິມານຄໍານິຍາມພື້ນຖານຂອງ POSIX.1-2008, ສ່ວນ 8.2,
Internationalization Variables ເພື່ອຄວາມກ້າວໜ້າຂອງການຫັນເປັນສາກົນ
ຕົວແປທີ່ໃຊ້ເພື່ອກໍານົດຄ່າຂອງປະເພດທ້ອງຖິ່ນ.)
LC_ALL ຖ້າຕັ້ງເປັນຄ່າສະຕຣິງທີ່ບໍ່ຫວ່າງເປົ່າ, ລົບລ້າງຄ່າຂອງອັນອື່ນທັງໝົດ
ຕົວແປສາກົນ.
LC_CTYPE ກໍານົດທ້ອງຖິ່ນສໍາລັບການຕີຄວາມລໍາດັບຂອງ bytes ຂອງຂໍ້ມູນຂໍ້ຄວາມ
ເປັນຕົວອັກສອນ (ຕົວຢ່າງ, single-byte ກົງກັນຂ້າມກັບ multi-byte ຕົວອັກສອນໃນ
arguments ແລະ input ໄຟລ໌).
LC_MESSAGES
ກໍານົດທ້ອງຖິ່ນທີ່ຄວນຈະຖືກນໍາໃຊ້ເພື່ອຜົນກະທົບຕໍ່ຮູບແບບແລະເນື້ອໃນຂອງ
ຂໍ້ຄວາມການວິນິໄສທີ່ຂຽນເປັນຄວາມຜິດພາດມາດຕະຖານ.
NLSPATH ກໍານົດສະຖານທີ່ຂອງລາຍການຂໍ້ຄວາມສໍາລັບການປະມວນຜົນຂອງ LC_MESSAGES.
TMPDIR ກໍານົດຊື່ເສັ້ນທາງທີ່ຄວນຈະ override ໄດເລກະທໍລີເລີ່ມຕົ້ນສໍາລັບການຊົ່ວຄາວ
ໄຟລ໌, ຖ້າມີ.
ASYNCHRONOUS ເຫດການ
ເລີ່ມຕົ້ນ.
STDOUT
ບໍ່ໄດ້ນໍາໃຊ້.
ສະດຸດ
ຄວາມຜິດພາດມາດຕະຖານຈະຖືກນໍາໃຊ້ສໍາລັບຂໍ້ຄວາມວິນິດໄສເທົ່ານັ້ນ. ຖ້າຫຼາຍກວ່າຫນຶ່ງ ເອກະສານ
operand ສິ້ນສຸດໃນ .f (ຫຼືອາດຈະເປັນຄໍາຕໍ່ທ້າຍທີ່ບໍ່ໄດ້ລະບຸອື່ນໆ) ແມ່ນໃຫ້, ສໍາລັບແຕ່ລະຄົນ
file:
"%s:\n", <ເອກະສານ>
ອາດຈະຖືກຂຽນເພື່ອອະນຸຍາດໃຫ້ກໍານົດຂໍ້ຄວາມການວິນິດໄສທີ່ເຫມາະສົມ
ໄຟລ໌ປ້ອນຂໍ້ມູນ.
ຜົນປະໂຫຍດນີ້ອາດຈະສ້າງຂໍ້ຄວາມເຕືອນກ່ຽວກັບເງື່ອນໄຂບາງຢ່າງທີ່ບໍ່ຮັບປະກັນ
ສົ່ງຄືນຄ່າອອກຂໍ້ຜິດພາດ (ບໍ່ແມ່ນສູນ).
OUTPUT ເອກະສານ
ໄຟລ໌ວັດຖຸ, ໄຟລ໌ລາຍຊື່, ແລະໄຟລ໌ທີ່ປະຕິບັດໄດ້ຈະຕ້ອງຖືກຜະລິດແບບບໍ່ລະບຸ
ຮູບແບບຕ່າງໆ.
ອະທິບາຍ ລາຍລະອຽດ
ມາດຕະຖານ ຫ້ອງສະຫມຸດ
ໄດ້ ປ້ອມ 77 ຜົນປະໂຫຍດຈະຕ້ອງຮັບຮູ້ສິ່ງຕໍ່ໄປນີ້ −l operand ສໍາລັບຫ້ອງສະຫມຸດມາດຕະຖານ:
−l f ຫ້ອງສະໝຸດນີ້ມີຟັງຊັນທັງໝົດທີ່ອ້າງອີງຢູ່ໃນມາດຕະຖານ ANSI X3.9-1978.
operand ນີ້ຈະບໍ່ຈໍາເປັນຕ້ອງມີຢູ່ເພື່ອເຮັດໃຫ້ເກີດການຄົ້ນຫານີ້
ຫ້ອງສະຫມຸດ.
ໃນກໍລະນີທີ່ບໍ່ມີທາງເລືອກທີ່ inhibit invocation ຂອງບັນນາທິການເຊື່ອມຕໍ່, ເຊັ່ນ: −ຄ, ການ
ປ້ອມ 77 ຜົນປະໂຫຍດຈະເຮັດໃຫ້ເກີດການທຽບເທົ່າຂອງ a −l f operand ຈະຖືກສົ່ງກັບການເຊື່ອມຕໍ່
ບັນນາທິການເປັນຄົນສຸດທ້າຍ −l operand, ເຮັດໃຫ້ມັນຖືກຄົ້ນຫາຫຼັງຈາກໄຟລ໌ວັດຖຸອື່ນໆທັງຫມົດແລະ
ຫ້ອງສະຫມຸດໄດ້ຖືກໂຫລດ.
ມັນບໍ່ໄດ້ຖືກລະບຸວ່າຫ້ອງສະຫມຸດ libf.a ມີຢູ່ເປັນໄຟລ໌ປົກກະຕິ. ການຈັດຕັ້ງປະຕິບັດ
ອາດຈະຍອມຮັບເປັນ −l operands ຊື່ຂອງວັດຖຸທີ່ບໍ່ມີເປັນໄຟລ໌ປົກກະຕິ.
ພາຍນອກ ສັນຍາລັກ
ຜູ້ລວບລວມແລະບັນນາທິການເຊື່ອມຕໍ່ FORTRAN ຈະສະຫນັບສະຫນູນຄວາມສໍາຄັນຂອງສັນຍາລັກພາຍນອກ
ຄວາມຍາວຂອງຢ່າງຫນ້ອຍ 31 bytes; ອະນຸຍາດໃຫ້ພັບກໍລະນີ. ການກະທຳດັ່ງກ່າວ
ພົບກັບສັນຍາລັກທີ່ເກີນຄວາມຍາວຂອງສັນຍາລັກສູງສຸດທີ່ກຳນົດໄວ້
ບໍ່ໄດ້ລະບຸ.
compiler ແລະ link editor ສະຫນັບສະຫນູນຢ່າງຫນ້ອຍ 511 ສັນຍາລັກພາຍນອກຕໍ່ແຫຼ່ງຫຼື
ໄຟລ໌ວັດຖຸ, ແລະຢ່າງໜ້ອຍ 4095 ສັນຍາລັກພາຍນອກທັງໝົດ. ຂໍ້ຄວາມວິນິດໄສຖືກຂຽນ
ຜົນຜະລິດມາດຕະຖານຖ້າເກີນຂອບເຂດຈໍາກັດການຈັດຕັ້ງປະຕິບັດ; ການກະທໍາອື່ນໆແມ່ນ
ບໍ່ໄດ້ລະບຸ.
ອອກ STATUS
ຄ່າທາງອອກຕໍ່ໄປນີ້ຈະຖືກສົ່ງຄືນ:
0 ສໍາເລັດການລວບລວມຫຼືແກ້ໄຂການເຊື່ອມຕໍ່.
>0 ເກີດຄວາມຜິດພາດຂຶ້ນ.
ຂໍ້ສັງເກດ OF ຄວາມຜິດພາດ
ເມື່ອໃດ ປ້ອມ 77 ພົບຄວາມຜິດພາດການລວບລວມຂໍ້ມູນ, ມັນຈະຂຽນການວິນິດໄສກັບຄວາມຜິດພາດມາດຕະຖານ
ແລະສືບຕໍ່ລວບລວມຕົວປະຕິບັດການລະຫັດແຫຼ່ງອື່ນໆ. ມັນຈະກັບຄືນທາງອອກທີ່ບໍ່ແມ່ນສູນ
ສະຖານະພາບ, ແຕ່ວ່າມັນແມ່ນການປະຕິບັດທີ່ກໍານົດບໍ່ວ່າຈະເປັນໂມດູນວັດຖຸຖືກສ້າງຂື້ນ. ຖ້າການເຊື່ອມຕໍ່
ການແກ້ໄຂບໍ່ສໍາເລັດຜົນ, ຂໍ້ຄວາມວິນິດໄສຈະຖືກຂຽນເປັນຄວາມຜິດພາດມາດຕະຖານ, ແລະ ປ້ອມ 77
ຈະອອກດ້ວຍສະຖານະທີ່ບໍ່ແມ່ນສູນ.
ໄດ້ ດັ່ງຕໍ່ໄປນີ້ ພາກສ່ວນ ມີ ຂໍ້ມູນ.
ຄໍາຮ້ອງສະຫມັກ ການນໍາໃຊ້
ບໍ່ມີ.
ຕົວຢ່າງ
ຕົວຢ່າງການນໍາໃຊ້ຕໍ່ໄປນີ້ລວບລວມ xyz.f ແລະສ້າງໄຟລ໌ປະຕິບັດໄດ້ ຟູ:
ປ້ອມ 77 −o ຟູ xyz.f
ຕົວຢ່າງຕໍ່ໄປນີ້ລວບລວມ xyz.f ແລະສ້າງໄຟລ໌ວັດຖຸ xyz.o:
ປ້ອມ 77 −ຄ xyz.f
ຕົວຢ່າງຕໍ່ໄປນີ້ລວບລວມ xyz.f ແລະສ້າງໄຟລ໌ປະຕິບັດໄດ້ ກ:
ປ້ອມ 77 xyz.f
ຕົວຢ່າງຕໍ່ໄປນີ້ລວບລວມ xyz.f, ເຊື່ອມຕໍ່ມັນກັບ ໂບ, ແລະສ້າງການປະຕິບັດ ກ:
ປ້ອມ 77 xyz.f ໂບ
ສະຖານທີ່
ຊື່ຂອງຜົນປະໂຫຍດນີ້ໄດ້ຖືກເລືອກເປັນ ປ້ອມ 77 ເພື່ອຂະຫນານການປ່ຽນຊື່ຂອງ C compiler.
ຊື່ f77 ບໍ່ໄດ້ຖືກເລືອກເພື່ອຫຼີກເວັ້ນບັນຫາກັບການປະຕິບັດປະຫວັດສາດ. ໄດ້
ມາດຕະຖານ ANSI X3.9-1978 ຖືກເລືອກເປັນມາດຕະຖານອ້າງອີງເນື່ອງຈາກສະບັບ ISO/IEC
ຂອງ FORTRAN-77 ໄດ້ຖືກປ່ຽນແທນໂດຍມາດຕະຖານ ISO/IEC 1539:1991.
ການລວມໄຟລ໌ແລະຄໍານິຍາມຂອງສັນຍາລັກ #ກໍານົດ ກົນໄກການນໍາໃຊ້ໂດຍ c99 ຜົນປະໂຫຍດແມ່ນ
ບໍ່ໄດ້ລວມຢູ່ໃນປະລິມານຂອງ POSIX.1-2008 ນີ້—ເຖິງແມ່ນວ່າພວກມັນຈະຖືກປະຕິບັດທົ່ວໄປ—
ເນື່ອງຈາກວ່າບໍ່ມີຂໍ້ກໍານົດທີ່ FORTRAN compiler ໃຊ້ C preprocessor.
ໄດ້ - onetrip ທາງເລືອກບໍ່ໄດ້ຖືກລວມຢູ່ໃນປະລິມານຂອງ POSIX.1-2008 ນີ້, ເຖິງແມ່ນວ່າມີຫຼາຍ
ນັກສັງລວມປະຫວັດສາດສະຫນັບສະຫນູນມັນ, ເນື່ອງຈາກວ່າມັນແມ່ນມາຈາກ FORTRAN-66; ມັນເປັນ
anachronism ທີ່ບໍ່ຄວນຈະຖືກ perpetuated.
ການຈັດຕັ້ງປະຕິບັດບາງອັນຜະລິດລາຍຊື່ການລວບລວມ. ລັກສະນະນີ້ຂອງ FORTRAN ໄດ້ຖືກປະໄວ້
ບໍ່ໄດ້ລະບຸເນື່ອງຈາກວ່າມີການໂຕ້ຖຽງກັນກ່ຽວກັບວິທີການຕ່າງໆທີ່ສະເຫນີໃຫ້
ການຈັດຕັ້ງປະຕິບັດ: ກ − ວ ທາງເລືອກທີ່ທັບຊ້ອນກັນກັບການປະຕິບັດຂອງຜູ້ຂາຍປະຫວັດສາດແລະການຕັ້ງຊື່
ສົນທິສັນຍາຂອງການສ້າງໄຟລ໌ທີ່ມີ .l suffixes collided ກັບປະຫວັດສາດ lex ການຕັ້ງຊື່ໄຟລ໌
ປະຕິບັດ.
ບໍ່ມີ -I ທາງເລືອກໃນສະບັບຂອງປະລິມານນີ້ຂອງ POSIX.1-2008 ເພື່ອລະບຸ a
ໄດເລກະທໍລີສໍາລັບການລວມໄຟລ໌. ຄໍາສັ່ງ INCLUDE ໄດ້ເປັນສ່ວນຫນຶ່ງຂອງ Fortran-90
ການສົນທະນາ, ແຕ່ການໂຕ້ຕອບທີ່ສະຫນັບສະຫນູນມາດຕະຖານນັ້ນບໍ່ໄດ້ຢູ່ໃນຂອບເຂດໃນປະຈຸບັນ.
ມັນໄດ້ຖືກສັງເກດເຫັນວ່າເຄື່ອງລວບລວມຂໍ້ມູນ FORTRAN ຈໍານວນຫຼາຍຜະລິດໂມດູນວັດຖຸເຖິງແມ່ນວ່າໃນເວລາທີ່ລວບລວມ
ຄວາມຜິດພາດເກີດຂຶ້ນ; ໃນລະຫວ່າງການລວບລວມຂໍ້ມູນຕໍ່ມາ, compiler ອາດຈະປັບປຸງໂມດູນວັດຖຸ
ແທນທີ່ຈະ recompiling ລະຫັດທັງຫມົດ. ດັ່ງນັ້ນ, ມັນໄດ້ຖືກປະໄວ້ໃຫ້ຜູ້ປະຕິບັດບໍ່ວ່າຈະເປັນ
ຫຼືບໍ່ແມ່ນໄຟລ໌ວັດຖຸຖືກສ້າງຂື້ນ.
ການອ້າງອິງ MIL-STD-1753 ໄດ້ຖືກໂຍກຍ້າຍອອກຈາກການສະເຫນີເບື້ອງຕົ້ນເພື່ອຕອບສະຫນອງຄໍາຮ້ອງຂໍ
ຈາກຜູ້ພັດທະນາມາດຕະຖານການຜູກມັດ POSIX FORTRAN. ມັນບໍ່ແມ່ນຄວາມຕັ້ງໃຈຂອງ
ນັກພັດທະນາມາດຕະຖານເພື່ອຮຽກຮ້ອງໃຫ້ມີການຢັ້ງຢືນຂອງ FORTRAN compiler, ແລະ
IEEE Std 1003.9-1992 ບໍ່ໄດ້ລະບຸມາດຕະຖານການທະຫານ ຫຼືການປຸງແຕ່ງພິເສດໃດໆ.
ຄວາມຕ້ອງການ. ນອກຈາກນັ້ນ, ການນໍາໃຊ້ເອກະສານນັ້ນຈະບໍ່ເຫມາະສົມສໍາລັບການ
ມາດຕະຖານສາກົນ.
ສະເພາະຂອງການເພີ່ມປະສິດທິພາບແມ່ນຂຶ້ນກັບການປ່ຽນແປງໂດຍຜ່ານການສະເຫນີເບື້ອງຕົ້ນ. ທີ່
ຄັ້ງ ໜຶ່ງ, −ອ ແລະ − ນ ແມ່ນ Booleans: optimize ແລະບໍ່ optimize (ມີ unspecified
ຄ່າເລີ່ມຕົ້ນ). ການປະຕິບັດປະຫວັດສາດບາງຢ່າງເຮັດໃຫ້ສິ່ງນີ້ຖືກປ່ຽນເປັນ:
−ອ 0 ບໍ່ມີການເພີ່ມປະສິດທິພາບ.
−ອ 1 ລະດັບການເພີ່ມປະສິດທິພາບບາງຢ່າງ.
−ອ n ອື່ນໆ, ລະດັບການເພີ່ມປະສິດທິພາບທີ່ບໍ່ໄດ້ກໍານົດ.
ມັນບໍ່ຈະແຈ້ງສະ ເໝີ ໄປວ່າ `` ການສ້າງລະຫັດທີ່ດີ '' ແມ່ນສິ່ງດຽວກັນກັບການເພີ່ມປະສິດທິພາບ.
ການເພີ່ມປະສິດທິພາບງ່າຍໆຂອງການປະຕິບັດໃນທ້ອງຖິ່ນໂດຍປົກກະຕິບໍ່ມີຜົນກະທົບຕໍ່ semantics ຂອງໂຄງການ.
ໄດ້ −ອ 0 ທາງເລືອກໄດ້ຖືກລວມເຂົ້າເພື່ອຮອງຮັບລັກສະນະສະເພາະຂອງວິທະຍາສາດ
ການຄິດໄລ່ໃນສະພາບແວດລ້ອມທີ່ດີທີ່ສຸດ; compilers ສ້າງຄວາມຜິດພາດ. ລະດັບຂອງບາງ
ການເພີ່ມປະສິດທິພາບແມ່ນຄາດວ່າຈະ, ເຖິງແມ່ນວ່າມັນບໍ່ໄດ້ຖືກບັນທຶກຢູ່ທີ່ນີ້, ແລະຄວາມສາມາດໃນການປິດມັນ
ປິດຢ່າງສິ້ນເຊີງອາດຈະມີຄວາມສໍາຄັນໃນເວລາສົ່ງແອັບພລິເຄຊັນ. ການປະຕິບັດອາດຈະປິ່ນປົວ
−ອ 0 ເປັນ "ເຮັດຫນ້ອຍກວ່າປົກກະຕິ" ຖ້າມັນປາດຖະຫນາ, ແຕ່ນີ້ມີຄວາມຫມາຍພຽງແຕ່ຖ້າອັນໃດອັນຫນຶ່ງ
ການປະຕິບັດງານທີ່ມັນປະຕິບັດສາມາດສົ່ງຜົນກະທົບຕໍ່ semantics ຂອງໂຄງການ. ມັນຂື້ນກັບສູງ
ການປະຕິບັດບໍ່ວ່າຈະເຮັດຫນ້ອຍກວ່າປົກກະຕິແມ່ນສົມເຫດສົມຜົນ. ມັນບໍ່ແມ່ນຄວາມຕັ້ງໃຈຂອງ
−ອ 0 ທາງເລືອກທີ່ຈະຮ້ອງຂໍໃຫ້ມີການຜະລິດລະຫັດທີ່ບໍ່ມີປະສິດທິພາບ, ແຕ່ແທນທີ່ຈະຮັບປະກັນວ່າໃດໆ
ການເພີ່ມປະສິດທິພາບທີ່ເຫັນໄດ້ຊັດເຈນຖືກສະກັດກັ້ນ.
ຂໍ້ກໍານົດຂອງການເຂົ້າເຖິງຫ້ອງສະຫມຸດມາດຕະຖານແມ່ນສອດຄ່ອງກັບ C compiler
ສະເພາະ. ການປະຕິບັດບໍ່ຈໍາເປັນຕ້ອງມີ /usr/lib/libf.a, ເປັນຈໍານວນຫຼາຍ
ການປະຕິບັດປະຫວັດສາດເຮັດ, ແຕ່ຖ້າບໍ່ແມ່ນ, ເຂົາເຈົ້າຈໍາເປັນຕ້ອງຮັບຮູ້ f ເປັນເຄື່ອງໝາຍ.
ຂີດຈຳກັດຂະໜາດສັນຍາລັກພາຍນອກຢູ່ໃນຂໍ້ຄວາມມາດຕະຖານ; ຄໍາຮ້ອງສະຫມັກທີ່ສອດຄ່ອງກັບຈໍາເປັນຕ້ອງຮູ້
ຂໍ້ຈຳກັດເຫຼົ່ານີ້. ຢ່າງໃດກໍ່ຕາມ, ຄວາມຍາວສູງສຸດຂອງສັນຍາລັກຕໍ່າສຸດຄວນຈະຖືກປະຕິບັດເປັນຂໍ້ຈໍາກັດ
ໃນຄໍາຮ້ອງສະຫມັກທີ່ສອດຄ່ອງ, ບໍ່ແມ່ນການຈັດຕັ້ງປະຕິບັດ, ແລະດັ່ງນັ້ນຈິ່ງໄດ້ປະຕິບັດ
ສໍາລັບສັນຍາລັກທີ່ເກີນຂອບເຂດຈໍາກັດແມ່ນບໍ່ໄດ້ກໍານົດ. ຂະຫນາດຕໍາ່ສຸດທີ່ສໍາລັບສັນຍາລັກພາຍນອກ
ຕາຕະລາງໄດ້ຖືກເພີ່ມສໍາລັບເຫດຜົນທີ່ຄ້າຍຄືກັນ.
ຜົນສະທ້ອນຂອງຄວາມຜິດພາດໄດ້ກໍານົດຢ່າງຈະແຈ້ງກ່ຽວກັບພຶດຕິກໍາຂອງ compiler ໃນເວລາທີ່
ການລວບລວມຂໍ້ມູນຫຼືການເຊື່ອມຕໍ່ແກ້ໄຂຂໍ້ຜິດພາດເກີດຂື້ນ. ພຶດຕິກໍາການປະຕິບັດປະຫວັດສາດຈໍານວນຫນຶ່ງ
ໄດ້ຮັບການພິຈາລະນາ, ແລະທາງເລືອກທີ່ໄດ້ຖືກເຮັດໃຫ້ງຽບສະຖານະພາບຂອງການປະຕິບັດໄດ້, ຫຼື
ກ, ໄຟລ໌ຢູ່ໃນໃບຫນ້າຂອງຄວາມຜິດພາດ compiler ຫຼື linker. ຖ້າຕົວເຊື່ອມຕໍ່ຂຽນສິ່ງທີ່ປະຕິບັດໄດ້
ໄຟລ໌, ຫຼັງຈາກນັ້ນເຊື່ອມຕໍ່ມັນຢູ່ໃນແຜ່ນ ຊອກຫາ()s ແລະ ຂຽນ()s, ເຊື່ອມຕໍ່ບາງສ່ວນສາມາດປະຕິບັດໄດ້
ໄຟລ໌ສາມາດຖືກປະໄວ້ໃນດິສກ໌ແລະບິດປະຕິບັດການຂອງມັນຖືກປິດຖ້າການແກ້ໄຂການເຊື່ອມຕໍ່ລົ້ມເຫລວ. ແນວໃດກໍ່ຕາມ,
ຖ້າຕົວເຊື່ອມຕໍ່ເຊື່ອມຕໍ່ຮູບພາບໃນຫນ່ວຍຄວາມຈໍາກ່ອນທີ່ຈະຂຽນໄຟລ໌ໃສ່ແຜ່ນ, ມັນບໍ່ຈໍາເປັນຕ້ອງແຕະ
ໄຟລ໌ທີ່ສາມາດປະຕິບັດໄດ້ (ຖ້າມັນມີຢູ່ແລ້ວ) ເພາະວ່າການແກ້ໄຂການເຊື່ອມຕໍ່ລົ້ມເຫລວ. ນັບຕັ້ງແຕ່ທັງສອງ
ວິທີການແມ່ນການປະຕິບັດປະຫວັດສາດ, ຄໍາຮ້ອງສະຫມັກທີ່ສອດຄ່ອງຈະຕ້ອງອີງໃສ່ສະຖານະການອອກ
of ປ້ອມ 77, ແທນທີ່ຈະຢູ່ໃນທີ່ມີຢູ່ແລ້ວຫຼືຮູບແບບຂອງໄຟລ໌ປະຕິບັດໄດ້.
ໄດ້ −ກ ແລະ −ສ ທາງເລືອກບໍ່ໄດ້ລະບຸໄວ້ເປັນການສະເພາະເຊິ່ງກັນແລະກັນ. ໃນປະຫວັດສາດ, ສອງອັນນີ້
ທາງເລືອກຕ່າງໆລ້ວນແຕ່ມີຄວາມຈຳເປັນເຊິ່ງກັນແລະກັນ, ແຕ່ເນື່ອງຈາກທັງສອງໄດ້ລະບຸໄວ້ຢ່າງວ່າງເປົ່າ, ມັນເບິ່ງຄືວ່າ
ເຫມາະສົມທີ່ຈະປ່ອຍໃຫ້ການໂຕ້ຕອບຂອງເຂົາເຈົ້າບໍ່ໄດ້ກໍານົດ.
ຂໍ້ກໍານົດທີ່ຄໍາຮ້ອງສະຫມັກທີ່ສອດຄ່ອງກັບກໍານົດທາງເລືອກໃນການລວບລວມຂໍ້ມູນແຍກຕ່າງຫາກແມ່ນເພື່ອ
ສະຫງວນພື້ນທີ່ຊື່ທາງເລືອກຫຼາຍຕົວອັກສອນສໍາລັບຕົວເລືອກການລວບລວມຂໍ້ມູນສະເພາະຜູ້ຂາຍ, ເຊິ່ງ
ເປັນທີ່ຮູ້ຈັກວ່າມີຢູ່ໃນການປະຕິບັດປະຫວັດສາດຈໍານວນຫຼາຍ. ການປະຕິບັດບໍ່ຈໍາເປັນຕ້ອງ
ຮັບຮູ້, ສໍາລັບການຍົກຕົວຢ່າງ, −gc ຄືກັບວ່າມັນເປັນ −ກ −ຄ; ທັງຍັງຖືກຫ້າມບໍ່ໃຫ້ເຮັດເຊັ່ນນັ້ນ. ໄດ້
SYNOPSIS ສະແດງຕົວເລືອກທັງໝົດແຍກຕ່າງຫາກເພື່ອເນັ້ນໃສ່ຄວາມຕ້ອງການນີ້
ຄໍາຮ້ອງສະຫມັກ.
ການສະທ້ອນຊື່ໄຟລ໌ເປັນຄວາມຜິດພາດມາດຕະຖານຖືວ່າເປັນຂໍ້ຄວາມວິນິດໄສເພາະວ່າມັນຈະ
ຖ້າບໍ່ດັ່ງນັ້ນມັນຍາກທີ່ຈະເຊື່ອມໂຍງຂໍ້ຄວາມສະແດງຂໍ້ຜິດພາດກັບໄຟລ໌ທີ່ຜິດພາດ. ພວກເຂົາແມ່ນ
ອະທິບາຍດ້ວຍ ``ອາດຈະ” ເພື່ອອະນຸຍາດໃຫ້ການຈັດຕັ້ງປະຕິບັດໃຊ້ວິທີການອື່ນໃນການລະບຸໄຟລ໌
ແລະຂະຫນານຄໍາອະທິບາຍໃນ c99.
ອະນາຄົດ DIRECTIONS
ລະບົບການລວບລວມຂໍ້ມູນໂດຍອີງໃສ່ມາດຕະຖານ ISO / IEC 1539: 1991 ອາດຈະຖືກພິຈາລະນາເປັນ.
ສະບັບໃນອະນາຄົດ; ມັນອາດຈະມີຊື່ປະໂຫຍດທີ່ແຕກຕ່າງຈາກ ປ້ອມ 77.
ໃຊ້ fort77posix ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net