ນີ້ແມ່ນຄວາມສັບສົນຂອງຄໍາສັ່ງທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
ຄວາມສັບສົນ - ວັດແທກຄວາມສັບສົນຂອງແຫຼ່ງ C
ສະຫຼຸບສັງລວມ
ຄວາມສັບສົນ [- ທຸງ] [- ທຸງ [ມູນຄ່າ]] [--option-name[=| ]ມູນຄ່າ]] [ ... ]
operands ທີ່ໂຄງການນີ້ດໍາເນີນການກ່ຽວກັບການອາດຈະຖືກກໍານົດບໍ່ວ່າຈະຢູ່ໃນເສັ້ນຄໍາສັ່ງຫຼື
ອ່ານຈາກວັດສະດຸປ້ອນມາດຕະຖານ, ຫນຶ່ງຕໍ່ແຖວ. ໃນການປ້ອນຂໍ້ມູນນັ້ນ, ນຳໜ້າ ແລະຕິດຕາມພື້ນທີ່ສີຂາວ
ຖືກຖອດອອກ, ເສັ້ນຫວ່າງຖືກລະເລີຍ. ການປ້ອນຂໍ້ມູນມາດຕະຖານອາດຈະບໍ່ເປັນເຄື່ອງໝາຍປາຍທາງ.
ຄິດໄລ່ຄວາມສັບສົນຂອງລະຫັດແຫຼ່ງບໍ່ພຽງແຕ່ດ້ວຍການນັບເສັ້ນທາງຜ່ານລະຫັດ, ແຕ່
ຍັງຂະຫຍາຍການນັບເສັ້ນໂດຍການວາງລະດັບຕາມເຫດຜົນ.
ຄິດໄລ່ຄວາມຊັບຊ້ອນຂອງລະຫັດໂດຍການນັບແຖວຂອງແຫຼ່ງທີ່ບໍ່ແມ່ນຄໍາຄິດເຫັນ ແລະຄູນດ້ວຍ
ປັດໄຈນ້ໍາຫນັກຕາມເຫດຜົນທີ່ຊ້ອນກັນ. ໂດຍຄ່າເລີ່ມຕົ້ນ, 1.9.
ລາຍລະອຽດ
ນ້ຳໜັກຂອງແຕ່ລະຄຳຖະແຫຼງແມ່ນຈຳນວນແຖວທີ່ຄຳຖະແຫຼງໃຊ້. ມູນຄ່ານີ້ແມ່ນ
ຄູນດ້ວຍນ້ຳໜັກຕາມເຫດຜົນທີ່ຊ້ອນກັນ (1.9 ຕາມຄ່າເລີ່ມຕົ້ນ) ສຳລັບແຕ່ລະຊັ້ນຂອງເຫດຜົນ. ສໍາລັບ
ຕົວຢ່າງ, snippet ນີ້:
ຖ້າ (foo) {
ຖ້າ (ແຖບ) {
bumble; baz;
}
}
ຈະໃຫ້ຄະແນນ 11. ຄະແນນນີ້ຈະຖືກປັບຂະໜາດເປັນປະມານ pmccabe ຜົນໄດ້ຮັບໂດຍການຫານໂດຍ 20
ແລະຮອບ. ນີ້ໃຫ້ຄະແນນ "1" ໃນຕອນທ້າຍ. pmccabe ຄະແນນສູງຂຶ້ນໃນຂັ້ນຕອນການງ່າຍດາຍແລະ
ຄວາມສັບສົນ ຄະແນນສູງກວ່າດ້ວຍເຫດຜົນທີ່ຝັງເລິກກວ່າ.
ຄະແນນສາມາດປັບໄດ້ໂດຍການປັບ -- ຮັງ- ການລົງໂທດ ແລະ --ຂະໜາດ- ປັດໄຈ.
ຄ່າເລີ່ມຕົ້ນໄດ້ຖືກປັບໂດຍການປຽບທຽບຜົນໄດ້ຮັບສະເລ່ຍຂອງລ້ານແຖວ
ຂອງລະຫັດທີ່ມີຜົນໄດ້ຮັບຂອງ pmccabe.
ສໍາລັບຈຸດປະສົງຂອງໂຄງການນີ້, ຂັ້ນຕອນແມ່ນຖືກກໍານົດໂດຍຊື່ຕາມດ້ວຍ a
ການສະແດງອອກໃນວົງເລັບ ແລະຫຼັງຈາກນັ້ນເປັນວົງໂຄ້ງເປີດ. ມັນສິ້ນສຸດລົງດ້ວຍ curly ປິດ
brace ໃນຖັນ 1.
ໂຄງການນີ້ຈະປະຕິບັດຫນ້າທີ່ຂອງຕົນສໍາລັບໄຟລ໌ທີ່ມີຊື່ໃນບັນຊີຄໍາສັ່ງຫຼືທຸກ
ໄຟລ໌ທີ່ມີຊື່ຢູ່ໃນບັນຊີລາຍຊື່ທີ່ອ່ານຈາກ stdin. arguments ຫຼື input ຊື່ຕ້ອງມີຢູ່ກ່ອນ
ໄຟລ໌. ລາຍການປ້ອນຂໍ້ມູນອາດຈະປະກອບດ້ວຍຄໍາຄິດເຫັນ, ຊຶ່ງເປັນເສັ້ນຫວ່າງເປົ່າຫຼືເສັ້ນທີ່ເລີ່ມຕົ້ນດ້ວຍ
ຕົວອັກສອນ '#'.
OPTIONS
-t ຕໍາ່ສຸດທີ່, -- ເກນ=ຕໍາ່ສຸດທີ່
ເກນການລາຍງານ. ຕົວເລືອກນີ້ໃຊ້ຕົວເລກຈຳນວນເຕັມເປັນຕົວໂຕ້ແຍ້ງຂອງມັນ. ໄດ້
Default ຕໍາ່ສຸດທີ່ ສໍາລັບທາງເລືອກນີ້ແມ່ນ:
30
ບໍ່ສົນໃຈຂັ້ນຕອນໃດນຶ່ງທີ່ມີມາດຕະການທີ່ຊັບຊ້ອນຕໍ່າກວ່າເກນນີ້. ໂດຍຄ່າເລີ່ມຕົ້ນ,
ຄະແນນຄວາມຊັບຊ້ອນຕ່ຳກວ່າ 30 ບໍ່ໄດ້ຖືກພິມອອກ. ຢ່າງໃດກໍຕາມ, ຖ້າ histogram ແລະ
ສະຖິຕິຈະຖືກພິມອອກ, ແຕ່ບໍ່ແມ່ນຄະແນນຂັ້ນຕອນສ່ວນບຸກຄົນ, ຫຼັງຈາກນັ້ນເປັນຄ່າເລີ່ມຕົ້ນ
ຖືກຕັ້ງເປັນສູນ. ຂັ້ນຕອນທີ່ຕໍ່າກວ່າຂີດຈຳກັດນີ້ບໍ່ໄດ້ຖືກນັບຢູ່ໃນສະຖິຕິ.
--horrid-threshold=ຕໍາ່ສຸດທີ່
ເກນອອກສູນ. ຕົວເລືອກນີ້ໃຊ້ຕົວເລກຈຳນວນເຕັມເປັນຕົວໂຕ້ແຍ້ງຂອງມັນ. ໄດ້
Default ຕໍາ່ສຸດທີ່ ສໍາລັບທາງເລືອກນີ້ແມ່ນ:
100
ຖ້າຂັ້ນຕອນໃດ ໜຶ່ງ ໄດ້ຄະແນນສູງກວ່າລະດັບນີ້, ໂຄງການຈະອອກຈາກທີ່ບໍ່ແມ່ນ.
ສູນ. (4/COMPLEX_EXIT_HORRID_FUNCTION, ຖ້າບໍ່ພົບບັນຫາອື່ນໆ.) ໂດຍ
ຄ່າເລີ່ມຕົ້ນ, ໂປຣແກຣມນີ້ອອກຈາກສູນ ເວັ້ນເສຍແຕ່ຟັງຊັນໜຶ່ງເກີນຄະແນນທີ່ໜ້າຢ້ານ
100.
-n ປັດໄຈ, -- ຮັງ- ການລົງໂທດ=ປັດໄຈ
ຕົວຄູນຄະແນນສຳລັບລະຫັດທີ່ຊ້ອນກັນ.
ໂຄງສ້າງທາງພາສາສາດມີນໍ້າໜັກຫຼາຍຫຼາຍເມື່ອພວກມັນຖືກຕັ້ງໄວ້ຢ່າງເລິກເຊິ່ງ. ໂດຍ
ຄ່າເລີ່ມຕົ້ນ, ແຕ່ລະຊັ້ນລົງໂທດໂດຍປັດໃຈ 1.9. ການໂຕ້ຖຽງທາງເລືອກແມ່ນ a
ຕົວເລກຈຸດລອຍ. ການລົງໂທດອາດຈະເປັນ 1, ແຕ່ບໍ່ແມ່ນຫນ້ອຍ.
--demi-nesting-ການລົງໂທດ=ປັດໄຈ
ຕົວຄູນຄະແນນສຳລັບການສະແດງຜົນທີ່ຊ້ອນກັນ.
ໂດຍຄ່າເລີ່ມຕົ້ນ, ຄ່ານີ້ແມ່ນເຄິ່ງທາງລະຫວ່າງ 1.0 ແລະການລົງໂທດຮັງ
(ໂດຍສະເພາະ, ຮາກສີ່ຫລ່ຽມຂອງການລົງໂທດຮັງ). ມັນຫມາຍເຖິງ ກ
ການສະແດງອອກຍ່ອຍໃນວົງເລັບ. ຕົວຢ່າງ
((a > b) && (c > d))
ປະກອບດ້ວຍສອງຕົວຊີ້ວັດຍ່ອຍວົງເລັບ. ນີ້ຈະນັບ 3.5 ຈຸດ. ສຸດ
ອີກດ້ານຫນຶ່ງ, ນີ້:
(a > b && c > d)
ມີສອງຕົວປະຕິບັດການຄວາມສໍາພັນແລະຕົວປະຕິບັດການຢ່າງມີເຫດຜົນໃນລະດັບດຽວກັນ. ເຫຼົ່ານີ້
ການນັບທີ່ຊ້ອນກັນຈະຖືກຄູນເຂົ້າກັນ ແລະໃຫ້ຜົນຜະລິດ 2.5 * 2.5, ຫຼື 6.25. ຢ່າເຮັດ
ນັ້ນ. ມັນຮ້າຍແຮງກວ່າເກົ່າຖ້າທ່ານມີເຫດຜົນແລະແລະຫຼືຢູ່ໃນລະດັບດຽວກັນ.
-s ປັດໄຈ, --ຂະໜາດ=ປັດໄຈ
ປັດໄຈການຂະຫຍາຍຄວາມຊັບຊ້ອນ. ຕົວເລືອກນີ້ໃຊ້ຕົວເລກຈຳນວນເຕັມເປັນຕົວໂຕ້ແຍ້ງຂອງມັນ.
ໂດຍຄ່າເລີ່ມຕົ້ນ, ຂະຫນາດແມ່ນ 20 ເຊິ່ງແບ່ງຄະແນນດິບໂດຍ 20. ນີ້ແມ່ນ
normalized ປະມານປະມານເທົ່າກັບ pmccabe ຄະແນນ:
0-9 ລະຫັດຮັກສາໄດ້ຢ່າງງ່າຍດາຍ.
10-19 ຮັກສາດ້ວຍບັນຫາເລັກນ້ອຍ.
20-29 ຮັກສາດ້ວຍຄວາມພະຍາຍາມບາງຢ່າງ.
30-39 ຍາກທີ່ຈະຮັກສາລະຫັດ.
40-49 ຍາກທີ່ຈະຮັກສາລະຫັດ.
50-99 ລະຫັດທີ່ບໍ່ສາມາດຮັກສາໄດ້.
100-199 Crazy ສ້າງລະຫັດຍາກ.
200 + ຂ້າພະເຈົ້າພຽງແຕ່ຕ້ອງການຂ້າພະເຈົ້າ kidding.
ຄະແນນ | ln-ct | nc-lns| file-name(line): proc-name
4707 3815 2838 lib/vasnprintf.c(1747): VASNPRINTF
-h, --Histogram, --no-histogram
ສະແດງ histogram ຂອງຕົວເລກຄວາມສັບສົນ. ໄດ້ no-histogram ແບບຟອມຈະປິດການໃຊ້ງານ
ທາງເລືອກ. ທາງເລືອກນີ້ອາດຈະບໍ່ໄດ້ຖືກຕັ້ງໄວ້ລ່ວງຫນ້າກັບຕົວແປສະພາບແວດລ້ອມຫຼືໃນ
ໄຟລ໌ເບື້ອງຕົ້ນ (rc).
ແທນທີ່ຈະພິມອອກຄະແນນຂອງແຕ່ລະຫນ້າທີ່, ບົດສະຫຼຸບແມ່ນພິມອອກໃນຕອນທ້າຍຂອງ
ສະແດງໃຫ້ເຫັນຈໍານວນຫນ້າທີ່ມີຂອບເຂດສະເພາະຂອງຄະແນນ. ເວັ້ນເສຍແຕ່ --ຄະແນນ is
ຮຽກຮ້ອງໂດຍສະເພາະ, ຄະແນນຈະບໍ່ພິມດ້ວຍຕົວເລືອກນີ້. ໄດ້
ເກນຄະແນນຕໍ່າສຸດຈະຖືກຫຼຸດລົງເປັນສູນ (0), ເວັ້ນເສຍແຕ່ -- ເກນ is
ລະບຸ.
-c, --ຄະແນນ, -- ບໍ່ມີຄະແນນ
ສະແດງຄະແນນສໍາລັບແຕ່ລະຂັ້ນຕອນ. ໄດ້ ບໍ່ມີຄະແນນ ແບບຟອມຈະປິດຕົວເລືອກ.
ທາງເລືອກນີ້ອາດຈະບໍ່ໄດ້ຖືກຕັ້ງໄວ້ລ່ວງຫນ້າກັບຕົວແປສະພາບແວດລ້ອມຫຼືໃນການເລີ່ມຕົ້ນ (rc)
ໄຟລ໌.
ຖ້າທ່ານລະບຸ --Histogram, ຄະແນນສ່ວນບຸກຄົນຈະບໍ່ຖືກສະແດງ, ເວັ້ນເສຍແຕ່ວ່ານີ້
ທາງເລືອກແມ່ນລະບຸໄວ້.
-I string, --ບໍ່ສົນໃຈ=string
ຊື່ຂັ້ນຕອນທີ່ຈະຖືກລະເລີຍ. ຕົວເລືອກນີ້ອາດຈະປາກົດເປັນຈໍານວນເວລາບໍ່ຈໍາກັດ.
ບາງລະຫັດມີ macros ກໍານົດທີ່ສັບສົນການວິເຄາະ lexical. ນີ້ຈະເຮັດໃຫ້ເກີດ
ເຂົາເຈົ້າຈະຖືກລະເລີຍ. ວິທີອື່ນທີ່ເຮັດໃຫ້ຟັງຊັນຖືກລະເລີຍແມ່ນ:
ໃຊ້ syntax K&R ສໍາລັບສ່ວນຫົວຂັ້ນຕອນ.
ໃຊ້ macro preprocessing ເພື່ອປະກອບສ່ວນຫົວຂັ້ນຕອນ.
ເຮັດໃຫ້ລະຫັດຂອງທ່ານງ່າຍຂຶ້ນ.
ໂດຍທົ່ວໄປແລ້ວ, ສິ່ງໃດແດ່ທີ່ທ່ານເຮັດການປ່ຽນແປງ syntax C ປົກກະຕິຈະສັບສົນ
ການວິເຄາະ lexical. ຖ້າບໍ່ເຫັນຂັ້ນຕອນ, ມັນຈະບໍ່ຖືກນັບ. ຖ້າ
ລະຫັດພາຍໃນຂັ້ນຕອນແມ່ນບໍ່ສາມາດເຂົ້າໃຈໄດ້, ທ່ານອາດຈະບໍ່ເຫມາະສົມ
ຜົນໄດ້ຮັບ.
-H, --ບໍ່ມີສ່ວນຫົວ
ຢ່າພິມຫົວຂໍ້ຄະແນນ. ຕົວເລືອກນີ້ອາດຈະບໍ່ຖືກຕັ້ງໄວ້ລ່ວງໜ້າກັບສະພາບແວດລ້ອມ
ຕົວແປຫຼືໃນໄຟລ໌ເບື້ອງຕົ້ນ (rc).
ຖ້າສະຄຣິບຈະປະມວນຜົນຜົນການໃຫ້ຄະແນນ, ການແຍກວິເຄາະແມ່ນງ່າຍຂຶ້ນໂດຍບໍ່ມີ a
ສ່ວນຫົວ. ຜົນໄດ້ຮັບຂອງ histogram ຈະມີສ່ວນຫົວຢູ່ສະເໝີ.
-u unifdef-opt, --unifdef=unifdef-opt
ແລ່ນແຫຼ່ງຜ່ານ unifdef(1BSD). ຕົວເລືອກນີ້ອາດຈະປາກົດບໍ່ຈໍາກັດ
ຈໍານວນຄັ້ງ.
ຖອດສ່ວນຕ່າງໆຂອງລະຫັດທີ່ອ້ອມຮອບດ້ວຍ #if/#endif ຄຳແນະນຳ. ທາງເລືອກ
ການໂຕ້ຖຽງແມ່ນຜ່ານເປັນການໂຕ້ຖຽງກັບ unifdef(1BSD) ໂຄງການ. ຍົກຕົວຢ່າງ:
ຄວາມສັບສົນ -u-Dsymbol
ຈະເຮັດໃຫ້ເກີດ ສັນຍາລັກ ເພື່ອກໍານົດແລະເອົາພາກສ່ວນຂອງລະຫັດກ່ອນຫນ້າ #ifndef
ສັນຍາລັກ ທິດທາງ.
ກະລຸນາເບິ່ງ unifdef ເອກະສານສໍາລັບຂໍ້ມູນເພີ່ມເຕີມ.
--unif-exe=ໂປຣແກມ
ລະບຸໂຄງການ unifdef.
ໂຄງການທາງເລືອກທີ່ຈະໃຊ້ສໍາລັບການ unifdef-ing ວັດສະດຸປ້ອນ.
-i ຊື່ເອກະສານ, --ການປ້ອນຂໍ້ມູນ=ຊື່ເອກະສານ
ໄຟລ໌ບັນຊີລາຍຊື່ໄຟລ໌.
ແທນທີ່ຈະເປັນບັນຊີລາຍການບັນຊີລາຍຊື່ບັນຊີລາຍການປ້ອນຂໍ້ມູນຫຼືການອ່ານມັນຈາກມາດຕະຖານ
ການປ້ອນຂໍ້ມູນ, ອ່ານລາຍການໄຟລ໌ຈາກໄຟລ໌ນີ້.
-- ຕິດຕາມ=ຊື່ເອກະສານ
ຕິດຕາມໄຟລ໌ຜົນຜະລິດ.
ພິມຄະແນນປານກາງໃສ່ໄຟລ໌ຕິດຕາມ.
-?, - ຊ່ວຍ
ສະແດງຂໍ້ມູນການນໍາໃຊ້ແລະອອກ.
-!, --ການຊ່ວຍເຫຼືອເພີ່ມເຕີມ
ຖ່າຍທອດຂໍ້ມູນການນຳໃຊ້ທີ່ຂະຫຍາຍຜ່ານ pager.
-> [cfgfile], --save-opts [=cfgfile]
ບັນທຶກສະຖານະທາງເລືອກເປັນ cfgfile. ຄ່າເລີ່ມຕົ້ນແມ່ນ ສຸດທ້າຍ ແຟ້ມການຕັ້ງຄ່າ
ລາຍຊື່ໃນ ທາງເລືອກ ວຽກງານ ພາກສ່ວນ, ຂ້າງລຸ່ມນີ້. ຄໍາສັ່ງຈະອອກຫຼັງຈາກການປັບປຸງ
ໄຟລ໌ config.
-< cfgfile, --load-opts=cfgfile, --no-load-opts
ໂຫຼດຕົວເລືອກຈາກ cfgfile. ໄດ້ no-load-opts ແບບຟອມຈະປິດການໂຫຼດຂອງ
ໄຟລ໌ config/rc/ini ກ່ອນຫນ້ານີ້. --no-load-opts ຖືກຈັດການໄວ, ອອກຄໍາສັ່ງ.
-v [{v|c|n - ການປ່ຽນແປງ [{v|c|n}]}]
ສະບັບອອກຂອງໂຄງການແລະອອກ. ຮູບແບບເລີ່ມຕົ້ນແມ່ນ `v', ຮຸ່ນທີ່ງ່າຍດາຍ.
ໂໝດ 'c' ຈະພິມຂໍ້ມູນລິຂະສິດ ແລະ 'n' ຈະພິມລິຂະສິດເຕັມຮູບແບບ
ແຈ້ງການ.
ທາງເລືອກ ວຽກງານ
ທາງເລືອກໃດນຶ່ງທີ່ບໍ່ໄດ້ໝາຍເປັນ ບໍ່ ສາມາດຕັ້ງໄວ້ລ່ວງໜ້າໄດ້ ອາດຈະຖືກຕັ້ງໄວ້ລ່ວງໜ້າໂດຍການໂຫຼດຄ່າຈາກ
ໄຟລ໌ການຕັ້ງຄ່າ ("RC" ຫຼື ".INI") ແລະຄ່າຈາກຕົວແປສະພາບແວດລ້ອມທີ່ມີຊື່:
COMPLEXITY_ or ຊັບຊ້ອນ
ການຕັ້ງຄ່າດ້ານສິ່ງແວດລ້ອມມີອັນດັບກ່ອນ (ຖືກປະມວນຜົນພາຍຫຼັງ) ການຕັ້ງຄ່າ
ແຟ້ມ. ທ homerc ໄຟລ໌ແມ່ນ "$@/complex.conf","$ ບ້ານ","$PROJECT_ROOT/complex.conf", ແລະ
".msgstr "ຖ້າຫາກວ່າໃດຫນຶ່ງຂອງເຫຼົ່ານີ້ແມ່ນລະບົບ, ຫຼັງຈາກນັ້ນໄຟລ໌ .complexityrc ຖືກຄົ້ນຫາພາຍໃນ
ລາຍການເຫຼົ່ານັ້ນ.
ENVIRONMENT
ເບິ່ງ ທາງເລືອກ ວຽກງານ ສໍາລັບຕົວແປສະພາບແວດລ້ອມການຕັ້ງຄ່າ.
ໃຊ້ຄວາມສັບສົນອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net