ນີ້ແມ່ນຄໍາສັ່ງ frama-c-gui ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
frama-c[.byte] - ເຄື່ອງວິເຄາະສະຖິດສຳລັບໂປຣແກຣມ C
frama-c-gui[.byte] - ການໂຕ້ຕອບຮູບພາບຂອງ frama-c
ສະຫຼຸບສັງລວມ
ເຟຣມ-ຄ [ ທາງເລືອກໃນການ ] ໄຟ
ລາຍລະອຽດ
ເຟຣມ-ຄ ແມ່ນຊຸດຂອງເຄື່ອງມືທີ່ອຸທິດຕົນເພື່ອການວິເຄາະລະຫັດແຫຼ່ງທີ່ຂຽນໃນ C. ມັນ
ລວບລວມເຕັກນິກການວິເຄາະສະຖິດຫຼາຍໃນກອບການຮ່ວມມືດຽວ. ນີ້
ກອບສາມາດຂະຫຍາຍໄດ້ໂດຍ plugins ເພີ່ມເຕີມທີ່ວາງໄວ້ໃນ $FRAMAC_PLUGIN ລະບົບ.
ຄໍາສັ່ງ
frama-c -help
ຈະໃຫ້ບັນຊີລາຍຊື່ເຕັມຂອງ plugins ທີ່ຕິດຕັ້ງໃນປັດຈຸບັນ.
frama-c-gui ແມ່ນການໂຕ້ຕອບຜູ້ໃຊ້ຮູບພາບຂອງ ເຟຣມ-ຄ. ມັນມີລັກສະນະທາງເລືອກດຽວກັນກັບ
ສະບັບແຖວຄໍາສັ່ງ.
frama-c.byte ແລະ frama-c-gui.byte ແມ່ນລຸ້ນ ocaml bytecode ຂອງເສັ້ນຄຳສັ່ງ ແລະ
ການໂຕ້ຕອບຜູ້ໃຊ້ກາຟິກຕາມລໍາດັບ.
ໂດຍຄ່າເລີ່ມຕົ້ນ, Frama-C ຮັບຮູ້ .c ໄຟລ໌ເປັນໄຟລ໌ C ຕ້ອງການກ່ອນການປຸງແຕ່ງແລະ .i ໄຟລ໌ເປັນ
ໄຟລ໌ C ໄດ້ຖືກປຸງແຕ່ງກ່ອນແລ້ວ. ບາງ plugins ອາດຈະຂະຫຍາຍບັນຊີລາຍຊື່ທີ່ຖືກຮັບຮູ້
ໄຟລ໌. ການປຸງແຕ່ງທາງສ່ວນຫນ້າຂອງສາມາດໄດ້ຮັບການປັບແຕ່ງໂດຍຜ່ານ -cpp-ຄໍາສັ່ງ ແລະ -cpp-extra-args
ຕົວເລືອກ
OPTIONS
syntax
ທາງເລືອກໃນການໃຊ້ພາລາມິເຕີເພີ່ມເຕີມຍັງສາມາດຂຽນພາຍໃຕ້ແບບຟອມໄດ້
-ທາງເລືອກ=ຕົວກໍານົດການ
ທາງເລືອກນີ້ແມ່ນບັງຄັບໃນເວລາທີ່ ຕົວກໍານົດການ ເລີ່ມຕົ້ນດ້ວຍ dash ('-')
ທາງເລືອກທີ່ໃຊ້ເວລາສ່ວນຫຼາຍທີ່ບໍ່ມີພາລາມິເຕີທີ່ສອດຄ້ອງກັນ
-ຢູ່ທີ່- ທາງເລືອກ
ທາງເລືອກທີ່ມີຜົນກະທົບກົງກັນຂ້າມ.
ຊ່ວຍເຫຼືອ ທາງເລືອກໃນການ
-ຊ່ວຍ ໃຫ້ແຈ້ງການການນໍາໃຊ້ສັ້ນແລະບັນຊີລາຍຊື່ຂອງ plugins ທີ່ຕິດຕັ້ງ.
-kernel-help
ພິມລາຍການທາງເລືອກທີ່ຮັບຮູ້ໂດຍ Kernel ຂອງ Frama-C
- ກະດູກ n
ກໍານົດລະດັບ verbosity (ຄ່າເລີ່ມຕົ້ນແມ່ນ 1). ການຕັ້ງມັນເປັນ 0 ຈະເຮັດໃຫ້ຄວາມຄືບໜ້າໜ້ອຍລົງ
ຂໍ້ຄວາມ. ລະດັບນີ້ຍັງສາມາດຖືກກໍານົດເປັນຕໍ່ plugin ພື້ນຖານ, ມີທາງເລືອກ -plugin-
ຄຳເວົ້າ n. ລະດັບ verbosity ຂອງ kernel ສາມາດຄວບຄຸມດ້ວຍທາງເລືອກ
-kernel-verbose n.
-ແມງໄມ້ n
ກໍານົດລະດັບການດີບັກ (ຄ່າເລີ່ມຕົ້ນແມ່ນ 0, ຊຶ່ງຫມາຍຄວາມວ່າບໍ່ມີຂໍ້ຄວາມດີບັກ). ທາງເລືອກນີ້
ມີຄວາມພິເສດຕໍ່ plugin (ແລະ kernel) ດຽວກັນກັບ - ກະດູກ.
- ງຽບ ກໍານົດລະດັບ verbosity ແລະ debugging ເປັນ 0.
ທາງເລືອກໃນການ ການຄວບຄຸມ Frama-C's kernel
-absolute-valid-range
ພິຈາລະນາວ່າທີ່ຢູ່ຕົວເລກທັງຫມົດໃນຂອບເຂດ ຂັ້ນຕ່ ຳ ສຸດ ຖືກຕ້ອງ. ຂອບເຂດແມ່ນ
pared ເປັນ ocaml integer constant. ໂດຍຄ່າເລີ່ມຕົ້ນ, ທີ່ຢູ່ຕົວເລກທັງຫມົດແມ່ນ
ຖືວ່າບໍ່ຖືກຕ້ອງ.
- ເພີ່ມເສັ້ນທາງ p1[,p2[...,pn]]
ເພີ່ມລາຍຊື່ ໂດຍຜ່ານການ ບັນຊີລາຍຊື່ຂອງໄດເລກະທໍລີທີ່ plugins ແມ່ນ
ຄົ້ນຫາ
[-ບໍ່]-allow-duplication
ອະນຸຍາດໃຫ້ຊ້ໍາກັນຂອງຕັນຂະຫນາດນ້ອຍໃນລະຫວ່າງການປົກກະຕິຂອງການທົດສອບແລະ loops.
ຖ້າບໍ່ດັ່ງນັ້ນ, ການປົກກະຕິໃຊ້ປ້າຍຊື່ແລະ goto. ທ່ອນໄມ້ທີ່ໃຫຍ່ກວ່າແລະທ່ອນໄມ້ທີ່ບໍ່ມີ
ການໄຫຼຂອງການຄວບຄຸມ trivial ບໍ່ເຄີຍຊ້ໍາກັນ. ຄ່າເລີ່ມຕົ້ນແມ່ນແມ່ນ.
[-ບໍ່]-ບັນທຶກ
ອ່ານຄໍາບັນຍາຍ ACSL. ນີ້ແມ່ນຄ່າເລີ່ມຕົ້ນ. ຄຳບັນຍາຍບໍ່ໄດ້ຖືກປະມວນຜົນກ່ອນໂດຍ
ຄ່າເລີ່ມຕົ້ນ. ໃຊ້ -pp-annot ສໍາລັບວ່າ.
-big-ints-hex ສູງສຸດທີ່ເຄຍ
ຈຳນວນເຕັມທີ່ໃຫຍ່ກວ່າ ສູງສຸດທີ່ເຄຍ ຖືກສະແດງຢູ່ໃນເລກຖານສິບຫົກ (ໂດຍຄ່າເລີ່ມຕົ້ນ, ຈໍານວນເຕັມທັງຫມົດແມ່ນ
ສະແດງໃນອັດຕາສະນິຍົມ)
- ກວດສອບ ດໍາເນີນການກວດສອບຄວາມສົມບູນຂອງ AST ພາຍໃນ (ສໍາລັບນັກພັດທະນາເທົ່ານັ້ນ).
[-no]-collapse-call-cast
ອະນຸຍາດໃຫ້ໂຍນ implicit ລະຫວ່າງຄ່າທີ່ສົ່ງຄືນໂດຍຟັງຊັນແລະ lvalue ມັນແມ່ນ
ການມອບຫມາຍໃຫ້. ຖ້າບໍ່ດັ່ງນັ້ນ, ຕົວແປຊົ່ວຄາວແມ່ນຖືກນໍາໃຊ້ແລະການໂຍນຖືກເຮັດໃຫ້ຊັດເຈນ.
ຄ່າເລີ່ມຕົ້ນແມ່ນແມ່ນ.
[-ບໍ່]-constfold
folds ການສະແດງອອກຄົງທີ່ syntactically ທັງຫມົດໃນລະຫັດກ່ອນທີ່ຈະວິເຄາະ. ຄ່າເລີ່ມຕົ້ນ
ບໍ່.
[-no]-ສືບຕໍ່-annot-error
ເມື່ອວິເຄາະຄໍາບັນຍາຍ, ພຶດຕິກໍາເລີ່ມຕົ້ນ (the -ຢູ່ທີ່ ສະບັບຂອງທາງເລືອກນີ້)
ເມື່ອມີຂໍ້ຜິດພາດໃນການກວດພິມແມ່ນຈະປະຕິເສດໄຟລ໌ແຫຼ່ງຕາມກໍລະນີ
ກວດພິມຜິດພາຍໃນລະຫັດ C. ດ້ວຍຕົວເລືອກນີ້ເປີດ, ເຄື່ອງກວດພິມຈະ
ພຽງແຕ່ອອກຄໍາເຕືອນແລະປະຖິ້ມຄໍາອະທິບາຍແຕ່ວ່າການກວດສອບການພິມຈະສືບຕໍ່
(ຄວາມຜິດພາດໃນລະຫັດ C ແມ່ນຍັງຕາຍ, ເຖິງແມ່ນວ່າ).
-cpp-ຄໍາສັ່ງ cmd
ການນໍາໃຊ້ cmd ເປັນຄໍາສັ່ງທີ່ຈະກ່ອນການປຸງແຕ່ງໄຟລ໌ C. ຄ່າເລີ່ມຕົ້ນຂອງ CPP ສະພາບແວດລ້ອມ
ຕົວແປຫຼືກັບ
gcc -C -E -I.
ຖ້າມັນບໍ່ໄດ້ຖືກຕັ້ງ. ເພື່ອຮັກສາຄໍາບັນຍາຍ ACSL, preprocessor ຕ້ອງເກັບຮັກສາໄວ້
ຄໍາເຫັນ (ໄດ້ -C ທາງເລືອກສໍາລັບ gcc). %1 ແລະ %2 ສາມາດຖືກນໍາໃຊ້ໃນ cmd ຫມາຍເຖິງ
ໄຟລ໌ຕົ້ນສະບັບ ແລະໄຟລ໌ທີ່ປຸງແຕ່ງກ່ອນຕາມລໍາດັບ
-cpp-extra-args ໂຕ້ຖຽງ
ໃຫ້ຂໍ້ໂຕ້ແຍ້ງເພີ່ມເຕີມໃຫ້ກັບຕົວປະມວນຜົນກ່ອນ. ນີ້ແມ່ນເປັນປະໂຫຍດພຽງແຕ່ໃນເວລາທີ່
-preprocess-annot ຖືກກໍານົດ. ຄຳອະທິບາຍປະກອບກ່ອນການປະມວນຜົນແມ່ນເຮັດເປັນສອງສ່ວນແຍກກ່ອນ.
ຂັ້ນຕອນການປຸງແຕ່ງ. ອັນທໍາອິດແມ່ນການຜ່ານລະຫັດ C ປົກກະຕິເຊິ່ງຮັກສາມະຫາພາກ
ຄໍານິຍາມ. ຫຼັງຈາກນັ້ນ, ເຫຼົ່ານີ້ແມ່ນໃຊ້ໃນ pass ທີສອງໃນໄລຍະທີ່ annotations
ປຸງແຕ່ງກ່ອນ. ໂຕ້ຖຽງ ຖືກນໍາໃຊ້ພຽງແຕ່ສໍາລັບການຜ່ານຄັ້ງທໍາອິດ, ດັ່ງນັ້ນການໂຕ້ຖຽງວ່າ
ບໍ່ຄວນຖືກນໍາໃຊ້ສອງຄັ້ງ (ເຊັ່ນ: ເພີ່ມເຕີມປະກອບມີຄໍາສັ່ງຫຼືມະຫາພາກ
ຄໍານິຍາມ) ດັ່ງນັ້ນຈຶ່ງຕ້ອງໄປທີ່ນັ້ນແທນ -cpp-ຄໍາສັ່ງ.
[-ບໍ່]-dynlink
ເມື່ອເປີດ, ໂຫລດທຸກ plug-ins ແບບເຄື່ອນໄຫວທີ່ພົບເຫັນຢູ່ໃນເສັ້ນທາງຄົ້ນຫາ (ເບິ່ງ -print-plugin-
ເສັ້ນທາງ ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບເສັ້ນທາງຄົ້ນຫາໃນຕອນຕົ້ນ). ຖ້າບໍ່ດັ່ງນັ້ນ, ພຽງແຕ່ plugins
ຮ້ອງຂໍໂດຍ - ໂມດູນການໂຫຼດ ຈະຖືກໂຫລດ. ພຶດຕິກຳເລີ່ມຕົ້ນເປີດຢູ່.
-enums ຕຳ ນິ
ເລືອກວິທີການເປັນຕົວແທນຂອງປະເພດ enumerated ຖືກກໍານົດ. ເຟຣມ-ຄ
-enums ຊ່ວຍເຫຼືອ ໃຫ້ບັນຊີລາຍຊື່ຂອງທາງເລືອກທີ່ມີຢູ່. ຄ່າເລີ່ມຕົ້ນແມ່ນ gcc-enums
- ຕົວເລກທີ່ເລື່ອນໄດ້ n
ເມື່ອອອກຕົວເລກຈຸດລອຍ, ສະແດງ n ຕົວເລກ. ຄ່າເລີ່ມຕົ້ນເປັນ 12.
-float-flush-to-ສູນ
ຄຳສັ່ງຈຸດລອຍຕົວຈະດັບສູນ
-float-hex
ສະແດງ float ເປັນເລກຖານສິບຫົກ
- float ປົກກະຕິ
ສະແດງ floats ກັບປົກກະຕິ Ocaml ມາດຕະຖານ
- float ພີ່ນ້ອງ
ສະແດງຊ່ວງເວລາລອຍເປັນ [ lower_bound++width ]
[-no]-force-rl-arg-eval
ບັງຄັບຄໍາສັ່ງການປະເມີນຜົນຈາກຂວາຫາຊ້າຍສໍາລັບການໂຕ້ຖຽງຂອງການໂທຟັງຊັນ. ຖ້າບໍ່ດັ່ງນັ້ນ
ຄໍາສັ່ງການປະເມີນຜົນແມ່ນຖືກປະໄວ້ໂດຍບໍ່ໄດ້ກໍານົດ, ຄືກັບມາດຕະຖານ C. ຄ່າເລີ່ມຕົ້ນທີ່ຈະບໍ່ມີ.
-journal-ປິດການໃຊ້ງານ
ບໍ່ໃຫ້ອອກວາລະສານຂອງກອງປະຊຸມປະຈຸບັນ. ເບິ່ງ -journal-ເປີດນໍາໃຊ້.
-journal-ເປີດນໍາໃຊ້
ເປີດໂດຍຄ່າເລີ່ມຕົ້ນ, dumps ວາລະສານຂອງການປະຕິບັດທັງຫມົດທີ່ປະຕິບັດໃນລະຫວ່າງການປະຈຸບັນ
ກອງປະຊຸມ Frama-C ໃນຮູບແບບຂອງສະຄິບ ocaml ທີ່ສາມາດຫຼິ້ນຄືນໄດ້ -ໂຫຼດ-
script. ຊື່ຂອງສະຄຣິບສາມາດຖືກຕັ້ງດ້ວຍ - ຊື່ວາລະສານ ທາງເລືອກ.
- ຊື່ວາລະສານ ຊື່
ຕັ້ງຊື່ຂອງເອກະສານວາລະສານ (ໂດຍບໍ່ມີການ ml ການຂະຫຍາຍ). ຄ່າເລີ່ມຕົ້ນເປັນ
frama_c_journal.
-initialized-padding-ທ້ອງຖິ່ນ
ການເລີ່ມຕົ້ນໂດຍທາງອ້ອມຂອງທ້ອງຖິ່ນກໍານົດ padding bits ເປັນ 0. ຖ້າບໍ່ຖືກຕ້ອງ, padding bits
ຖືກປະໄວ້ uninitialized (ຄ່າເລີ່ມຕົ້ນແມ່ນແມ່ນ).
[-ບໍ່]-keep-comments
ພະຍາຍາມຮັກສາຄໍາຄິດເຫັນໃນເວລາທີ່ພິມລະຫັດແຫຼ່ງທີ່ສວຍງາມ (ຄ່າເລີ່ມຕົ້ນທີ່ຈະບໍ່ມີ).
[-ບໍ່]-keep-switch
ເມື່ອໃດ -simplify-cfg ຖືກຕັ້ງ, ຮັກສາການຖະແຫຼງການສະຫຼັບ. ຄ່າເລີ່ມຕົ້ນທີ່ຈະບໍ່ມີ.
-keep-unused-specified-functions
ເບິ່ງ -remove-unused-specified-functions
[-no]-lib-entry
ຊີ້ໃຫ້ເຫັນວ່າຈຸດເຂົ້າຖືກເອີ້ນໃນລະຫວ່າງການປະຕິບັດໂຄງການ. ນີ້ຫມາຍຄວາມວ່າໃນ
ໂດຍສະເພາະທີ່ຕົວແປທົ່ວໂລກບໍ່ສາມາດສົມມຸດວ່າມີມູນຄ່າເບື້ອງຕົ້ນຂອງພວກເຂົາ.
ຄ່າເລີ່ມຕົ້ນແມ່ນ -no-lib-ເຂົ້າ: ຈຸດເຂົ້າຍັງເປັນຈຸດເລີ່ມຕົ້ນຂອງ
ໂຄງການແລະທົ່ວໂລກມີມູນຄ່າເບື້ອງຕົ້ນຂອງພວກເຂົາ.
-ໂຫຼດ ເອກະສານ
ໂຫຼດສະຖານະ (ທີ່ບັນທຶກໄວ້ກ່ອນໜ້ານີ້) ທີ່ມີຢູ່ໃນ ເອກະສານ.
- ໂມດູນການໂຫຼດ m1[,m2[...,mn]]
ໂຫຼດໂມດູນ ocaml ໂດຍຜ່ານການ . ໂມດູນເຫຼົ່ານີ້ຕ້ອງເປັນ .cmxsໄຟລ໌ ສຳ ລັບ
ສະບັບລະຫັດພື້ນເມືອງຂອງ Frama-c ແລະ .cmoor.cmaໄຟລ໌ສໍາລັບສະບັບ bytecode (ເບິ່ງ
ພາກສ່ວນ Dynlink ຂອງຄູ່ມື Ocaml ສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ). ໂມດູນທັງຫມົດທີ່ມີ
ທີ່ມີຢູ່ໃນເສັ້ນທາງຄົ້ນຫາ plugin ຈະຖືກໂຫລດໂດຍອັດຕະໂນມັດ.
-load-script s1[,s2,[...,sn]]
ໂຫລດສະຄຣິບ ocaml ໂດຍຜ່ານການ . ສະຄຣິບຕ້ອງເປັນ mlໄຟລ໌. ເຂົາເຈົ້າ
ຕ້ອງໄດ້ລວບລວມໄດ້ໂດຍອາໄສຫ້ອງສະໝຸດມາດຕະຖານ Ocaml ແລະ API ຂອງ Frama-C ເທົ່ານັ້ນ. ຖ້າ
ບາງຂັ້ນຕອນການລວບລວມທີ່ກໍາຫນົດເອງແມ່ນຈໍາເປັນ, ລວບລວມພວກມັນຢູ່ນອກ Frama-C ແລະນໍາໃຊ້
- ໂມດູນການໂຫຼດ ແທນທີ່ຈະເປັນ.
- Machdep ເຄື່ອງ
ການນໍາໃຊ້ ເຄື່ອງ ເປັນການຕັ້ງຄ່າທີ່ຂຶ້ນກັບເຄື່ອງໃນປະຈຸບັນ (ຂະຫນາດຂອງຕ່າງໆ
integer types, endiandness, ...). ບັນຊີລາຍຊື່ຂອງເຄື່ອງຈັກທີ່ສະຫນັບສະຫນູນໃນປະຈຸບັນແມ່ນ
ມີຜ່ານ - Machdep ຊ່ວຍເຫຼືອ ທາງເລືອກ. ຄ່າເລີ່ມຕົ້ນແມ່ນ x86_32
- ຫຼັກ f
ຊຸດ f ເປັນຈຸດເຂົ້າຂອງການວິເຄາະ. ຄ່າເລີ່ມຕົ້ນເປັນ 'ຫຼັກ'. ໂດຍຄ່າເລີ່ມຕົ້ນ, ມັນແມ່ນ
ຖືວ່າເປັນຈຸດເລີ່ມຕົ້ນຂອງໂຄງການພາຍໃຕ້ການວິເຄາະ. ໃຊ້ -lib-ເຂົ້າ if f
ຄວນຈະຖືກເອີ້ນຢູ່ເຄິ່ງກາງຂອງການປະຕິບັດ.
- ສັບສົນ
ພິມລະຫັດສະບັບທີ່ສັບສົນ (ບ່ອນທີ່ຕົວລະບຸຕົ້ນສະບັບຖືກແທນທີ່
ໂດຍບໍ່ມີຄວາມຫມາຍຫນຶ່ງ) ແລະອອກ. ຕາຕະລາງການຕິດຕໍ່ລະຫວ່າງຕົ້ນສະບັບແລະໃຫມ່
ສັນຍາລັກແມ່ນຖືກເກັບຮັກສາໄວ້ໃນຕອນຕົ້ນຂອງຜົນໄດ້ຮັບ.
- ລະຫັດ ເອກະສານ
redirects pretty-printed code to ເອກະສານ ແທນທີ່ຈະເປັນຜົນຜະລິດມາດຕະຖານ.
[-ບໍ່]-orig-name
ໃນລະຫວ່າງໄລຍະການປົກກະຕິ, ບາງຕົວແປອາດຈະໄດ້ຮັບການປ່ຽນຊື່ເມື່ອແຕກຕ່າງກັນ
ຕົວແປທີ່ມີຊື່ດຽວກັນສາມາດຢູ່ຮ່ວມກັນໄດ້ (ເຊັ່ນ: ຕົວແປທົ່ວໂລກ ແລະເປັນທາງການ
ພາລາມິເຕີ). ເມື່ອຕົວເລືອກນີ້ເປີດຢູ່, ຂໍ້ຄວາມຈະຖືກພິມອອກໃນແຕ່ລະຄັ້ງທີ່ເກີດຂຶ້ນ.
ຄ່າເລີ່ມຕົ້ນທີ່ຈະບໍ່ມີ.
[-no]-warn-signed-downcast
ສ້າງການປຸກໃນເວລາທີ່ downcasts ລົງນາມອາດຈະເກີນຂອບເຂດຈຸດຫມາຍປາຍທາງ (ຄ່າເລີ່ມຕົ້ນທີ່
ບໍ່).
[-no]-warn-signed-ລົ້ນ
ສ້າງສັນຍານເຕືອນສໍາລັບການປະຕິບັດງານທີ່ມີລາຍເຊັນທີ່ລົ້ນ (ຄ່າເລີ່ມຕົ້ນເປັນແມ່ນ).
[-no]-warn-unsigned-downcast
ສ້າງສັນຍານເຕືອນເມື່ອ downcasts unsigned ອາດຈະເກີນຂອບເຂດປາຍທາງ (ຄ່າເລີ່ມຕົ້ນ
ບໍ່).
[-no]-warn-unsigned-overflow
ສ້າງສັນຍານເຕືອນສໍາລັບການປະຕິບັດງານທີ່ບໍ່ໄດ້ເຊັນທີ່ລົ້ນ (ຄ່າເລີ່ມຕົ້ນທີ່ຈະບໍ່ມີ).
[-ບໍ່]-pp-annot
ຄໍາບັນຍາຍກ່ອນຂະບວນການ. ປະຈຸບັນນີ້ເປັນໄປໄດ້ພຽງແຕ່ເມື່ອໃຊ້ gcc (ຫຼື GNU
cpp) ໂປເຊດເຊີກ່ອນ. ຄ່າເລີ່ມຕົ້ນແມ່ນບໍ່ໃຫ້ປະມວນຜົນຄຳອະທິບາຍປະກອບກ່ອນ.
[-ບໍ່]-ພິມ
pretty-prints the source code as normalized by CIL (ຄ່າເລີ່ມຕົ້ນທີ່ຈະບໍ່ມີ).
-print-libpath
ສົ່ງອອກໄດເຣັກທໍຣີທີ່ຫ້ອງສະຫມຸດ Kernel Frama-C ຖືກຕິດຕັ້ງ
- ເສັ້ນທາງການພິມ
ນາມແຝງຂອງ -print-share-ເສັ້ນທາງ
-print-plugin-path
ຜົນໄດ້ຮັບຂອງໄດເລກະທໍລີທີ່ Frama-C ຄົ້ນຫາ plugins ຂອງມັນ (ສາມາດ overidden ໂດຍ
FRAMAC_PLUGIN ຕົວແປແລະ - ເພີ່ມເສັ້ນທາງ ທາງເລືອກ)
-print-share-ເສັ້ນທາງ
ສົ່ງອອກໄດເລກະທໍລີທີ່ Frama-C ເກັບຮັກສາຂໍ້ມູນຂອງມັນ (ສາມາດຖືກ overidden ໂດຍ
FRAMAC_SHARE ຕົວແປ)
-remove-unused-specified-functions
ຮັກສາ prototypes ຟັງຊັນທີ່ມີສະເພາະ ACSL ແຕ່ບໍ່ໄດ້ໃຊ້ໃນ
ລະຫັດ. ນີ້ແມ່ນຄ່າເລີ່ມຕົ້ນ. ຟັງຊັນທີ່ມີຄຸນລັກສະນະ FRAMAC_BUILTIN ແມ່ນສະເຫມີໄປ
ເກັບຮັກສາໄວ້.
-safe-arrays
ສໍາລັບ arrays multidimensional ຫຼື arrays ທີ່ເປັນ fields ພາຍໃນໂຄງສ້າງ, ສົມມຸດວ່າ.
ການເຂົ້າເຖິງທັງຫມົດຕ້ອງຢູ່ໃນການຜູກມັດ (ຕັ້ງເປັນຄ່າເລີ່ມຕົ້ນ). ທາງເລືອກກົງກັນຂ້າມແມ່ນ -ບໍ່ປອດໄພ
ອາຄານ
- ຊ່ວຍປະຢັດ ເອກະສານ
ຊ່ວຍປະຢັດສະຖານະຂອງ Frama-C ເຂົ້າໄປໃນ ເອກະສານ ຫຼັງຈາກການວິເຄາະໄດ້ເກີດຂຶ້ນ.
[-no]-simplify-cfg
ເອົາການຢຸດ, ສືບຕໍ່ແລະສະຫຼັບຄໍາຖະແຫຼງກ່ອນການວິເຄາະ. ຄ່າເລີ່ມຕົ້ນທີ່ຈະບໍ່ມີ.
- ແລ້ວ ອະນຸຍາດໃຫ້ຜູ້ຫນຶ່ງເພື່ອປະກອບການວິເຄາະ: ການດໍາເນີນການທໍາອິດຂອງ Frama-C ຈະເກີດຂຶ້ນກັບທາງເລືອກ
ກ່ອນທີ່ຈະ - ແລ້ວ ແລະໄລຍະທີສອງຈະຖືກເຮັດດ້ວຍທາງເລືອກຫຼັງຈາກນັ້ນ - ແລ້ວ ກ່ຽວກັບ
ໂຄງການປະຈຸບັນຈາກໄລຍະທໍາອິດ.
-ຫຼັງຈາກນັ້ນ prj
ຄ້າຍຄືກັບ - ແລ້ວ ຍົກເວັ້ນແຕ່ວ່າການແລ່ນຄັ້ງທີສອງແມ່ນປະຕິບັດໃນໂຄງການ prj ຖ້າບໍ່ມີ
ມີໂຄງການຢູ່, Frama-C ອອກມາດ້ວຍຄວາມຜິດພາດ.
ເວລາ ເອກະສານ
ຕື່ມຂໍ້ມູນໃສ່ເວລາຂອງຜູ້ໃຊ້ ແລະວັນທີໃນທີ່ໃຫ້ ເອກະສານ ເມື່ອ Frama-C ອອກ.
- ກວດສອບຕົວພິມ
ບັງຄັບໃຫ້ກວດພິມເອກະສານແຫຼ່ງທີ່ມາ. ຕົວເລືອກນີ້ມີຄວາມກ່ຽວຂ້ອງເທົ່ານັ້ນຖ້າບໍ່ມີອີກ
ການວິເຄາະແມ່ນຖືກຮ້ອງຂໍ (ເປັນການກວດສອບປະເພດຈະເກີດຂຶ້ນ implicitely ກ່ອນການວິເຄາະໄດ້
ຖືກເປີດຕົວ).
-ulevel n
syntactically unroll loops n ເວລາກ່ອນການວິເຄາະ. ນີ້ສາມາດມີຄ່າໃຊ້ຈ່າຍຫຼາຍ
ແລະບາງ plugins (ເຊັ່ນ: ການວິເຄາະມູນຄ່າ) ສະຫນອງວິທີການທີ່ມີປະສິດທິພາບຫຼາຍຂຶ້ນໃນການປະຕິບັດ
ສິ່ງດຽວກັນ. ເບິ່ງຄູ່ມືຂອງເຂົາເຈົ້າສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ. ນີ້ຍັງສາມາດ
ໄດ້ຮັບການກະຕຸ້ນບົນພື້ນຖານຕໍ່ loop ຜ່ານ loop pragma ລົງທະບຽນ ທິດທາງ. ກ
ມູນຄ່າທາງລົບສໍາລັບການ n ຈະຍັບຍັ້ງ pragmas ດັ່ງກ່າວ.
[-ບໍ່]-unicode
ສົ່ງອອກສູດ ACSL ດ້ວຍຕົວອັກສອນ utf8. ນີ້ແມ່ນຄ່າເລີ່ມຕົ້ນ. ເມື່ອໄດ້ມອບໃຫ້
-no-unicode ທາງເລືອກ, Frama-C ຈະໃຊ້ເວີຊັນ ASCII ແທນ. ເບິ່ງຄູ່ມື ACSL
ສໍາລັບການພົວພັນ.
-unsafe-arrays
ເບິ່ງ -safe-arrays
[-no]-unspecified-access
ກວດສອບວ່າການເຂົ້າເຖິງການອ່ານ / ຂຽນເກີດຂຶ້ນໃນຄໍາສັ່ງທີ່ບໍ່ໄດ້ກໍານົດ (ອີງຕາມ C
ແນວຄວາມຄິດມາດຕະຖານຂອງຈຸດລໍາດັບ) ແມ່ນປະຕິບັດຢູ່ໃນສະຖານທີ່ແຍກຕ່າງຫາກ. ກັບ
-no-unspecified-access, ຖືວ່າມັນເປັນກໍລະນີສະເໝີ (ນີ້ແມ່ນຄ່າເລີ່ມຕົ້ນ).
-ການປ່ຽນແປງ
ສົ່ງອອກສະຕຣິງລຸ້ນຂອງ Frama-C
-warn-decimal-float
ເຕືອນເມື່ອຄ່າຄົງທີ່ຈຸດລອຍບໍ່ສາມາດສະແດງໄດ້ແນ່ນອນ (ຕົວຢ່າງ: 0.1).
ສາມາດເປັນຫນຶ່ງໃນ none, ຄັ້ງຫນຶ່ງ, ຫຼື ທັງຫມົດ
[-ບໍ່]-warn-undeclared-callee
ເຕືອນເມື່ອຟັງຊັນຖືກເອີ້ນກ່ອນທີ່ຈະຖືກປະກາດ (ຕັ້ງຕາມຄ່າເລີ່ມຕົ້ນ).
ເຟຣມ-ຄ
Plugins ສະເພາະ ທາງເລືອກໃນການ
ສໍາລັບແຕ່ລະຄົນ plugin, ຄໍາສັ່ງ
frama-c -plugin-ຊ່ວຍ
ຈະໃຫ້ບັນຊີລາຍຊື່ຂອງທາງເລືອກທີ່ສະເພາະກັບ plugin ໄດ້.
ອອກ STATUS
0 ການປະຕິບັດສົບຜົນສໍາເລັດ
1 ການປ້ອນຂໍ້ມູນຂອງຜູ້ໃຊ້ບໍ່ຖືກຕ້ອງ
2 ການຂັດຂວາງຜູ້ໃຊ້ (ຂ້າຫຼືທຽບເທົ່າ)
3 ຄຸນສົມບັດທີ່ບໍ່ໄດ້ປະຕິບັດ
4 5 6 ຂໍ້ຜິດພາດພາຍໃນ
125 ຄວາມຜິດພາດທີ່ບໍ່ຮູ້ຈັກ
ອອກຈາກສະຖານະທີ່ໃຫຍ່ກວ່າ 2 ສາມາດຖືວ່າເປັນຂໍ້ບົກພ່ອງ (ຫຼືການຮ້ອງຂໍຄຸນສົມບັດສໍາລັບກໍລະນີ
ຂອງສະຖານະພາບທາງອອກ 3) ແລະອາດຈະຖືກລາຍງານຢູ່ໃນ BTS ຂອງ Frama-C (ເບິ່ງຂ້າງລຸ່ມນີ້).
ENVIRONMENT ຄວາມຮັບຜິດຊອບ
ມັນເປັນໄປໄດ້ທີ່ຈະຄວບຄຸມສະຖານທີ່ບ່ອນທີ່ Frama-C ຊອກຫາໄຟລ໌ຂອງມັນໂດຍຜ່ານ
ຕົວແປຕໍ່ໄປນີ້.
FRAMAC_LIB
ໄດເລກະທໍລີທີ່ kernel's compiled interfaces ຖືກຕິດຕັ້ງ
FRAMAC_PLUGIN
ໄດເລກະທໍລີທີ່ Frama-C ສາມາດຊອກຫາປລັກອິນມາດຕະຖານ. ຖ້າທ່ານຕ້ອງການມີ plugins
ໃນຫຼາຍບ່ອນ, ໃຊ້ - ເພີ່ມເສັ້ນທາງ ແທນທີ່ຈະເປັນ.
FRAMAC_SHARE
ໄດເລກະທໍລີທີ່ຂໍ້ມູນ Frama-C ຖືກຕິດຕັ້ງ.
ໃຊ້ frama-c-gui ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net