ນີ້ແມ່ນຄໍາສັ່ງ critcl ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍສະຖານີເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
critcl - ຄໍາຮ້ອງສະຫມັກ CriTcl
ສະຫຼຸບສັງລວມ
critcl ?ທາງເລືອກ...? ?ເອກະສານ... ?
_________________________________________________________________
ລາຍລະອຽດ
ຍິນດີຕ້ອນຮັບ C ເວລາແລ່ນ In Tcl, CriTcl ສໍາລັບສັ້ນ, ລະບົບການສ້າງຊຸດຂະຫຍາຍ C
ສໍາລັບ Tcl ໃນເວລາບິນ, ຈາກລະຫັດ C ທີ່ຝັງຢູ່ໃນສະຄິບ Tcl, ສໍາລັບທຸກຄົນທີ່ຕ້ອງການເຮັດ
ລະຫັດຂອງພວກເຂົາໄວຂຶ້ນ.
ເອກະສານນີ້ແມ່ນ manpage ອ້າງອີງສໍາລັບ critcl ຄໍາສັ່ງ. ຜູ້ຊົມທີ່ມີຈຸດປະສົງຂອງຕົນແມ່ນ
ປະຊາຊົນທີ່ມີການສ້າງການຫຸ້ມຫໍ່ການນໍາໃຊ້ critcl ສໍາລັບການນໍາໃຊ້. ນັກຂຽນຂອງຊຸດທີ່ມີ
ລະຫັດ C ທີ່ຝັງໄວ້ສາມາດລະເລີຍເອກະສານນີ້. ຖ້າຫາກວ່າທ່ານຢູ່ໃນຄວາມຕ້ອງການຂອງສະພາບລວມຂອງທັງຫມົດ
ລະບົບແທນ, ກະລຸນາໄປອ່ານ ການນໍາສະເຫນີ To CriTcl.
ແອັບພລິເຄຊັນນີ້ຢູ່ໃນຊັ້ນຄໍາຮ້ອງສະຫມັກຂອງ CriTcl.
*================*
|ຄໍາຮ້ອງສະຫມັກ |
| critcl |
| critcl::app |
*================*
++----------------+
|ຊຸດຫຼັກ |
| critcl |
| critcl::util |
++----------------+
++----------------+
|ຊຸດຮອງຮັບ|
| stubs::* |
| md5, ເວທີ |
| ... |
++----------------+
ຄໍາຮ້ອງສະຫມັກສະຫນັບສະຫນູນເສັ້ນຄໍາສັ່ງທົ່ວໄປດັ່ງຕໍ່ໄປນີ້:
critcl ?ທາງເລືອກ...? ?ເອກະສານ... ?
ຊຸດທີ່ແນ່ນອນຂອງທາງເລືອກທີ່ສະຫນັບສະຫນູນ, ຄວາມຫມາຍຂອງເຂົາເຈົ້າ, ແລະການໂຕ້ຕອບແມ່ນລາຍລະອຽດໃນ
ສ່ວນ ຄໍາຮ້ອງສະຫມັກ ທາງເລືອກໃນການ ຂ້າງລຸ່ມນີ້. ສໍາລັບຊຸດຕົວຢ່າງທີ່ໃຫຍ່ກວ່າ, ກະລຸນາເບິ່ງພາກ
"ການກໍ່ສ້າງຊຸດ Critcl" ໃນເອກະສານກ່ຽວກັບ ການນໍາໃຊ້ CriTcl.
ຄໍາຮ້ອງສະຫມັກ OPTIONS
ທາງເລືອກຕໍ່ໄປນີ້ແມ່ນເຂົ້າໃຈ
-v
- ການປ່ຽນແປງ
ທາງເລືອກເຫຼົ່ານີ້ເຮັດໃຫ້ critcl ພິມສະບັບຂອງຕົນເປັນ stdout ແລະຫຼັງຈາກນັ້ນອອກ.
-I ເສັ້ນທາງ
ທາງເລືອກນີ້ກໍານົດການເພີ່ມເຕີມທົ່ວໂລກປະກອບມີເສັ້ນທາງທີ່ຈະນໍາໃຊ້ໃນລະຫວ່າງການລວບລວມ
ຂອງ ".critcl" ໄຟລ໌. ຄ່າທັງໝົດຖືກໃຊ້ຖ້າອັນນີ້ຖືກລະບຸຫຼາຍຄັ້ງ.
ຕົວເລືອກນີ້ບໍ່ກ່ຽວຂ້ອງໃນເວລາສ້າງຊຸດ TEA (ເບິ່ງທາງເລືອກ - ຊາ ດ້ານລຸ່ມ).
-L ເສັ້ນທາງ
ຕົວເລືອກນີ້ກໍານົດເສັ້ນທາງການຊອກຫາຫ້ອງສະຫມຸດທົ່ວໂລກເພີ່ມເຕີມເພື່ອໃຊ້ໃນລະຫວ່າງການເຊື່ອມຕໍ່
ຂອງ ".critcl" ໄຟລ໌. ຄ່າທັງໝົດຖືກໃຊ້ຖ້າອັນນີ້ຖືກລະບຸຫຼາຍຄັ້ງ.
ຕົວເລືອກນີ້ບໍ່ກ່ຽວຂ້ອງໃນເວລາສ້າງຊຸດ TEA (ເບິ່ງທາງເລືອກ - ຊາ ດ້ານລຸ່ມ).
- cache ເສັ້ນທາງ
ຕົວເລືອກນີ້ລະບຸເສັ້ນທາງໄປຫາໄດເລກະທໍລີທີ່ຈະໃຊ້ເປັນແຄດຜົນໄດ້ຮັບ. ຖ້າບໍ່
ກໍານົດມັນໄວ້ໃນຕອນຕົ້ນ "~/.critcl/", ຫຼື, ເມື່ອສ້າງຊຸດ (ເບິ່ງ
ທາງເລືອກ -pkg ຂ້າງລຸ່ມນີ້), ກັບ "~/.critcl/.", ໃນເວລາທີ່ກໍານົດຫຼາຍຄັ້ງ the
ຄ່າສຸດທ້າຍແມ່ນໃຊ້.
ຕົວເລືອກນີ້ບໍ່ກ່ຽວຂ້ອງໃນເວລາສ້າງຊຸດ TEA (ເບິ່ງທາງເລືອກ - ຊາ ດ້ານລຸ່ມ).
- ສະອາດ ເມື່ອລະບຸ cache ຜົນໄດ້ຮັບແມ່ນເປົ່າ, ie ໄຟລ໌ແລະໄດເລກະທໍລີທັງຫມົດທີ່ພົບເຫັນ
ພາຍໃນຖືກລຶບ) ກ່ອນທີ່ຈະເລີ່ມຕົ້ນການລວບລວມ.
ຕົວເລືອກນີ້ບໍ່ກ່ຽວຂ້ອງໃນເວລາສ້າງຊຸດ (ເບິ່ງທາງເລືອກ -pkg ຂ້າງລຸ່ມນີ້) ເພາະວ່າ
ໂຫມດນີ້ເລີ່ມຕົ້ນດ້ວຍແຄດຜົນໄດ້ຮັບທີ່ເປັນເອກະລັກແລະຫວ່າງເປົ່າ.
ຕົວເລືອກນີ້ບໍ່ກ່ຽວຂ້ອງໃນເວລາສ້າງຊຸດ TEA (ເບິ່ງທາງເລືອກ - ຊາ ດ້ານລຸ່ມ).
-ການຕັ້ງຄ່າ ເສັ້ນທາງ
ທາງເລືອກນີ້ລະບຸເສັ້ນທາງໄປຫາໄຟລ໌ການຕັ້ງຄ່າທີ່ກໍານົດໄວ້, ໃຫ້ຜູ້ໃຊ້ໄດ້
ໃຊ້ສະເພາະເປົ້າໝາຍຂອງຕົນເອງ. ຖ້າບໍ່ໄດ້ລະບຸຄ່າເລີ່ມຕົ້ນຂອງສາຍໄຟ
ການຕັ້ງຄ່າທີ່ຝັງຢູ່ໃນຫຼັກຂອງລະບົບແມ່ນໃຊ້ແທນ. ເມື່ອລະບຸຫຼາຍ
ເວລາທີ່ໃຊ້ຄ່າສຸດທ້າຍ.
ຕົວເລືອກນີ້ບໍ່ກ່ຽວຂ້ອງໃນເວລາສ້າງຊຸດ TEA (ເບິ່ງທາງເລືອກ - ຊາ ດ້ານລຸ່ມ).
-ແມງໄມ້ ຮູບແບບການ
ຕົວເລືອກນີ້ເປີດໃຊ້ການລວບລວມດ້ວຍການດີບັກ. ມັນຍອມຮັບຮູບແບບຂ້າງລຸ່ມນີ້. ເມື່ອໃດ
ລະບຸຫຼາຍຄັ້ງທີ່ປະສົມປະສານຂອງທຸກໂໝດຖືກໃຊ້.
ຕົວເລືອກນີ້ບໍ່ກ່ຽວຂ້ອງໃນເວລາສ້າງຊຸດ TEA (ເບິ່ງທາງເລືອກ - ຊາ ດ້ານລຸ່ມ).
ຫນ່ວຍຄວາມຈໍາ ໂໝດນີ້ເປີດໃຊ້ການດີບັກຄວາມຈຳຂອງການຈັດສັນທີ່ເຮັດຜ່ານ Tcl
ຫຼັກ.
ສັນຍາລັກ
ໂຫມດນີ້ກະຕຸ້ນການສ້າງຂອງທັງຫມົດ ".c" ໄຟລ໌ທີ່ມີສັນຍາລັກດີບັກ.
ທັງຫມົດ ໂໝດນີ້ເປີດໃຊ້ທັງສອງຢ່າງ ຫນ່ວຍຄວາມຈໍາ ແລະ ສັນຍາລັກ.
- ປິດການໃຊ້ງານ ຊື່
ທາງເລືອກນີ້ກໍານົດຄ່າຂອງຕົວເລືອກການຕັ້ງຄ່າການກໍ່ສ້າງທີ່ກໍານົດໄວ້ ຊື່ to ທີ່ບໍ່ຖືກຕ້ອງ.
ມັນເທົ່າກັບ "-with-ຊື່ 0 ".
ຂໍ້ມູນໄດ້ຮັບການຢັ້ງຢືນພຽງແຕ່ຖ້າຫາກວ່າຫນຶ່ງໃນ "..critcl" ປ້ອນໄຟລ໌ຕົວຈິງ
ກໍານົດແລະນໍາໃຊ້ຕົວເລືອກການຕັ້ງຄ່າການກໍ່ສ້າງທີ່ກໍານົດໄວ້ກັບທີ່ ຊື່.
ຕົວເລືອກນີ້ບໍ່ກ່ຽວຂ້ອງໃນເວລາສ້າງຊຸດ TEA (ເບິ່ງທາງເລືອກ - ຊາ ດ້ານລຸ່ມ).
- ເປີດໃຊ້ ຊື່
ທາງເລືອກນີ້ກໍານົດຄ່າຂອງຕົວເລືອກການຕັ້ງຄ່າການກໍ່ສ້າງທີ່ກໍານົດໄວ້ ຊື່ to ທີ່ແທ້ຈິງ.
ມັນເທົ່າກັບ "-with-ຊື່ 1 ".
ຂໍ້ມູນໄດ້ຮັບການຢັ້ງຢືນພຽງແຕ່ຖ້າຫາກວ່າຫນຶ່ງໃນ "..critcl" ປ້ອນໄຟລ໌ຕົວຈິງ
ກໍານົດແລະນໍາໃຊ້ຕົວເລືອກການຕັ້ງຄ່າການກໍ່ສ້າງທີ່ກໍານົດໄວ້ກັບທີ່ ຊື່.
ຕົວເລືອກນີ້ບໍ່ກ່ຽວຂ້ອງໃນເວລາສ້າງຊຸດ TEA (ເບິ່ງທາງເລືອກ - ຊາ ດ້ານລຸ່ມ).
- ຜົນບັງຄັບໃຊ້ ເມື່ອການລວບລວມຂໍ້ມູນທີ່ກໍານົດແມ່ນເຮັດສະເຫມີ, ເຖິງແມ່ນວ່າຫ້ອງສະຫມຸດທີ່ແບ່ງປັນສໍາລັບໄຟລ໌
ມີຢູ່ແລ້ວ. ຜົນກະທົບນີ້ສາມາດມີໂດຍຜ່ານການທໍາຄວາມສະອາດ cache (ເບິ່ງຂ້າງເທິງ) ເປັນ
ດີ, ຍົກເວັ້ນວ່າມັນຂີ້ຄ້ານໃນການທໍາລາຍໄຟລ໌ແລະຈະບໍ່ທໍາລາຍໄຟລ໌
ບໍ່ກ່ຽວຂ້ອງກັບສິ່ງທີ່ພວກເຮົາສ້າງ.
ຕົວເລືອກນີ້ບໍ່ກ່ຽວຂ້ອງໃນເວລາສ້າງຊຸດ (ເບິ່ງທາງເລືອກ -pkg ຂ້າງລຸ່ມນີ້) ເພາະວ່າ
ໂຫມດນີ້ເລີ່ມຕົ້ນດ້ວຍແຄດຜົນໄດ້ຮັບທີ່ເປັນເອກະລັກແລະຫວ່າງເປົ່າ.
ຕົວເລືອກນີ້ບໍ່ກ່ຽວຂ້ອງໃນເວລາສ້າງຊຸດ TEA (ເບິ່ງທາງເລືອກ - ຊາ ດ້ານລຸ່ມ).
-ຊ່ວຍ ຕົວເລືອກນີ້ຈະເຮັດໃຫ້ລະບົບພິມການຊ່ວຍເຫຼືອສັ້ນໆກ່ຽວກັບ syntax ຂອງເສັ້ນຄໍາສັ່ງ
ແລະທາງເລືອກແລະຫຼັງຈາກນັ້ນອອກຈາກຄໍາຮ້ອງສະຫມັກ.
- ຮັກສາ ທາງເລືອກນີ້ຈະເຮັດໃຫ້ລະບົບຮັກສາ "..c" ໄຟລ໌ທີ່ສ້າງຂຶ້ນໂດຍການແລ່ນຢູ່ໃນ
cache ຜົນໄດ້ຮັບ. ເມື່ອສ້າງຊຸດ (ເບິ່ງທາງເລືອກ -pkg ຂ້າງ ລຸ່ມ ນີ້) ນີ້ ຍັງ ປ້ອງ ກັນ
ການລຶບ cache ຜົນໄດ້ຮັບທີ່ເປັນເອກະລັກທີ່ໃຊ້ໂດຍການແລ່ນ. ທາງເລືອກນີ້ແມ່ນມີຈຸດປະສົງ
ສໍາລັບການ debugging ຂອງ critcl ຕົວຂອງມັນເອງ, ບ່ອນທີ່ມັນອາດຈະມີຄວາມຈໍາເປັນເພື່ອກວດກາເບິ່ງ
ສ້າງລະຫັດ C.
ຕົວເລືອກນີ້ບໍ່ກ່ຽວຂ້ອງໃນເວລາສ້າງຊຸດ TEA (ເບິ່ງທາງເລືອກ - ຊາ ດ້ານລຸ່ມ).
- libdir ເສັ້ນທາງ
ທາງເລືອກນີ້ລະບຸເສັ້ນທາງທີ່ຊຸດທີ່ສ້າງໂດຍທາງເລືອກ -pkg
ຖືກບັນທືກ. ມັນຍັງກໍານົດເສັ້ນທາງໄປຫາຫ້ອງສະຫມຸດຄົ້ນຫາໃນ, ເຊັ່ນ: ສໍາລັບ -Lທີ່ຢູ່ ເມື່ອໃດ
ລະບຸຫຼາຍຄັ້ງທີ່ຄ່າສຸດທ້າຍຖືກໃຊ້. ໃນເວລາທີ່ບໍ່ໄດ້ລະບຸໄວ້ທັງຫມົດ
ຄ່າເລີ່ມຕົ້ນ, "lib", ຖືກນໍາໃຊ້. ໃຫ້ສັງເກດວ່ານີ້ແມ່ນເສັ້ນທາງພີ່ນ້ອງແນວໃດ, ເອົາຜົນໄດ້ຮັບເຂົ້າໄປໃນ
ໄດເລກະທໍລີທີ່ເຮັດວຽກໃນປະຈຸບັນ.
- ລວມທັງ ເສັ້ນທາງ
ຕົວເລືອກນີ້ລະບຸເສັ້ນທາງທີ່ຫົວຊຸດທີ່ສ້າງຂຶ້ນຈະຖືກບັນທຶກໄວ້.
ມັນຍັງລະບຸເສັ້ນທາງໃນການຄົ້ນຫາລວມທັງໄຟລ໌ໃນ, ເຊັ່ນ: ສໍາລັບ -I. ເມື່ອລະບຸ
ຫຼາຍຄັ້ງທີ່ຄ່າສຸດທ້າຍຖືກໃຊ້ເປັນຈຸດໝາຍປາຍທາງ, ແນວໃດກໍ່ຕາມຄ່າທີ່ຜ່ານມາທັງໝົດ
ຖືກເກັບຮັກສາໄວ້ໃນເສັ້ນທາງຄົ້ນຫາ. ເມື່ອບໍ່ໄດ້ລະບຸໄວ້ໃນຄ່າເລີ່ມຕົ້ນທັງໝົດ,
"ປະກອບດ້ວຍ", ຖືກນໍາໃຊ້. ໃຫ້ສັງເກດວ່ານີ້ແມ່ນເສັ້ນທາງພີ່ນ້ອງແນວໃດ, ການວາງຜົນໄດ້ຮັບເຂົ້າໄປໃນ
ໄດເລກະທໍລີທີ່ເຮັດວຽກໃນປະຈຸບັນ.
ຕົວເລືອກນີ້ບໍ່ກ່ຽວຂ້ອງໃນເວລາສ້າງຊຸດ TEA (ເບິ່ງທາງເລືອກ - ຊາ ດ້ານລຸ່ມ).
-pkg ຮູບແບບເລີ່ມຕົ້ນຂອງແອັບພລິເຄຊັນແມ່ນການສ້າງ ".critcl" ໄຟລ໌ທີ່ລະບຸໄວ້ໃນ
ເສັ້ນຄໍາສັ່ງແລະບັນທຶກຜົນໄດ້ຮັບໃນ cache ຜົນໄດ້ຮັບ. ໂດຍພື້ນຖານແລ້ວກ່ອນທີ່ຈະຕື່ມຂໍ້ມູນໃສ່
cache ກັບແພັກເກັດທີ່ສໍາຄັນ, ຕັດເວລາທີ່ຈໍາເປັນເພື່ອນໍາໃຊ້ເຫຼົ່ານີ້
packages
ທາງເລືອກນີ້ກະຕຸ້ນຫນຶ່ງໃນໂຫມດອື່ນໆ, ການສ້າງຊຸດ. ໃນຮູບແບບນີ້
ໄຟລ໌ປ້ອນຂໍ້ມູນຖືກປະມວນຜົນກ່ອນຕາມປົກກະຕິ, ແນວໃດກໍ່ຕາມຫຼັງຈາກນັ້ນພວກມັນຖືກມັດເຂົ້າ
ຫ້ອງສະຫມຸດດຽວແລະໄຟລ໌ເພີ່ມເຕີມແມ່ນຖືກສ້າງຂຶ້ນເພື່ອເຮັດໃຫ້ຫ້ອງສະຫມຸດນີ້ສາມາດໃຊ້ໄດ້ເປັນ
ຊຸດ Tcl ປົກກະຕິ.
ທາງເລືອກ - ຊາ, ເບິ່ງຂ້າງລຸ່ມນີ້, invokes ຮູບແບບສຸດທ້າຍ, ການຜະລິດ TEA. ຖ້າທັງສອງທາງເລືອກ,
ie -pkg ແລະ - ຊາ ແມ່ນໄດ້ລະບຸການຊະນະສຸດທ້າຍທີ່ລະບຸໄວ້.
ໃນຮູບແບບນີ້ທາງເລືອກ - ສະອາດ ແລະ - ຜົນບັງຄັບໃຊ້ ແມ່ນບໍ່ກ່ຽວຂ້ອງແລະຖືກລະເລີຍ. ໃນທາງກົງກັນຂ້າມ,
ທາງເລືອກ - libdir ມີຄວາມກ່ຽວຂ້ອງທັງສອງນີ້ແລະ - ຊາ mode
ເມື່ອຕົວເລືອກນີ້ຖືກລະບຸຊື່ພື້ນຖານຂອງການໂຕ້ຖຽງໄຟລ໌ທໍາອິດຫຼັງຈາກ
ທາງເລືອກແມ່ນໃຊ້ເປັນຊື່ຂອງຊຸດເພື່ອສ້າງ. ຖ້າຫາກວ່າການຂະຫຍາຍຂອງທີ່
ໄຟລ໌ຊີ້ໃຫ້ເຫັນຫ້ອງສະຫມຸດທີ່ໃຊ້ຮ່ວມກັນ ("ດັ່ງນັ້ນ,","sl",".dylib", ແລະ"dll") ມັນຍັງເປັນ
ເອົາອອກຈາກຊຸດຂອງໄຟລ໌ປ້ອນຂໍ້ມູນ. A ".tcl" ໄຟລ໌ຖືກເກັບໄວ້ເປັນສ່ວນຫນຶ່ງຂອງການປ້ອນຂໍ້ມູນ. A
ໄຟລ໌ດຽວທີ່ບໍ່ມີນາມສະກຸນແມ່ນຖືວ່າມີ ".tcl"ການຂະຫຍາຍ. A
ໄຟລ໌ທີ່ບໍ່ມີນາມສະກຸນ, ແຕ່ໄຟລ໌ປ້ອນຂໍ້ມູນອື່ນໆຕໍ່ໄປນີ້ຖືກປະຕິບັດຄືກັບຊື່ຂອງ
ຫ້ອງສະຫມຸດທີ່ແບ່ງປັນທີ່ເຫມາະສົມ, ແລະເອົາອອກຈາກຊຸດຂອງໄຟລ໌ປ້ອນຂໍ້ມູນ.
ຕົວຢ່າງ:
=> ຊື່ຊຸດແມ່ນ: foo
=> ໄຟລ໌ປ້ອນຂໍ້ມູນແມ່ນ: foo.tcl
=> ຊື່ຊຸດແມ່ນ: foo
=> ໄຟລ໌ປ້ອນຂໍ້ມູນແມ່ນ: bar.tcl
=> ຊື່ຊຸດແມ່ນ: foo
=> ໄຟລ໌ປ້ອນຂໍ້ມູນແມ່ນ: foo.tcl
=> ຊື່ຊຸດແມ່ນ: foo
=> ໄຟລ໌ປ້ອນຂໍ້ມູນແມ່ນ: bar.tcl
- ສະແດງໃຫ້ເຫັນ ທາງເລືອກນີ້, ເມື່ອລະບຸໄວ້, ຈະເຮັດໃຫ້ລະບົບພິມການຕັ້ງຄ່າຂອງ
ເປົ້າຫມາຍທີ່ເລືອກ stdout ແລະຫຼັງຈາກນັ້ນອອກ. ທາງເລືອກຂອງເປົ້າຫມາຍສາມາດໄດ້ຮັບອິດທິພົນ
ໂດຍຜ່ານທາງເລືອກ -ເປົ້າຫມາຍ (ເບິ່ງຂ້າງລຸ່ມ).
- ຫໍ
ທາງເລືອກນີ້, ເມື່ອລະບຸໄວ້, ຈະເຮັດໃຫ້ລະບົບພິມທັງຫມົດເລືອກ
ໄຟລ໌ການຕັ້ງຄ່າເພື່ອ stdout ແລະຫຼັງຈາກນັ້ນອອກ. ທາງເລືອກຂອງໄຟລ໌ການຕັ້ງຄ່າສາມາດ
ໄດ້ຮັບອິດທິພົນໂດຍຜ່ານທາງເລືອກ -ການຕັ້ງຄ່າ (ເບິ່ງຢູ່ຂ້າງເທິງ).
-ເປົ້າຫມາຍ ຊື່
ທາງເລືອກນີ້ overrides ທາງເລືອກເລີ່ມຕົ້ນຂອງເປົ້າຫມາຍການກໍ່ສ້າງກັບທາງເລືອກຂອງຜູ້ໃຊ້.
ເມື່ອລະບຸຫຼາຍຄັ້ງ ຄ່າສຸດທ້າຍແມ່ນໃຊ້. ເປົ້າໝາຍທີ່ມີຊື່ຕ້ອງມີຢູ່
ໃນໄຟລ໌ການຕັ້ງຄ່າທີ່ເລືອກ. ໃຊ້ທາງເລືອກ - ເປົ້າຫມາຍ (ເບິ່ງຂ້າງລຸ່ມນີ້) ເພື່ອໃຫ້ໄດ້ຮັບບັນຊີລາຍຊື່ຂອງ
ເປົ້າໝາຍທີ່ຍອມຮັບໄດ້. ທາງເລືອກຂອງໄຟລ໌ການຕັ້ງຄ່າສາມາດໄດ້ຮັບອິດທິພົນໂດຍຜ່ານ
ທາງເລືອກ -ການຕັ້ງຄ່າ (ເບິ່ງຢູ່ຂ້າງເທິງ).
ຕົວເລືອກນີ້ບໍ່ກ່ຽວຂ້ອງໃນເວລາສ້າງຊຸດ TEA (ເບິ່ງທາງເລືອກ - ຊາ ດ້ານລຸ່ມ).
- ເປົ້າຫມາຍ
ຕົວເລືອກນີ້, ເມື່ອລະບຸໄວ້, ຈະເຮັດໃຫ້ລະບົບພິມລາຍຊື່ຂອງທັງຫມົດທີ່ຮູ້ຈັກ
ເປົ້າໝາຍຈາກໄຟລ໌ການຕັ້ງຄ່າທີ່ເລືອກໄປຫາ stdout ແລະຫຼັງຈາກນັ້ນອອກ. ທາງເລືອກຂອງ
ໄຟລ໌ການຕັ້ງຄ່າສາມາດໄດ້ຮັບອິດທິພົນໂດຍຜ່ານທາງເລືອກ -ການຕັ້ງຄ່າ (ເບິ່ງຢູ່ຂ້າງເທິງ).
- ຊາ ຄ້າຍຄືກັນກັບທາງເລືອກ -pkg, ຍົກເວັ້ນຮູບແບບທີ່ຮຽກຮ້ອງບໍ່ໄດ້ສ້າງ binary,
ແຕ່ລໍາດັບຂັ້ນໄດເລກະທໍລີທີ່ປະກອບດ້ວຍ ".critcl" ໄຟລ໌, ໄຟລ໌ຄູ່ຂອງມັນ, ແລະ ກ
TEA-lookalike build system ທີ່ມີລະຫັດສະຫນັບສະຫນູນສ່ວນໃຫຍ່ທີ່ຕ້ອງການ (ລວມທັງສໍາເນົາ
ຂອງຊຸດ critcl).
ຖ້າທັງສອງທາງເລືອກ, ie -pkg ແລະ - ຊາ ແມ່ນໄດ້ລະບຸການຊະນະສຸດທ້າຍທີ່ລະບຸໄວ້.
ໃນຮູບແບບນີ້ທາງເລືອກ -I, -L, - ສະອາດ, - ຜົນບັງຄັບໃຊ້, - cache, - ລວມທັງ, - ເປີດໃຊ້,
- ປິດການໃຊ້ງານ, ແລະ - ກັບ FOO ແມ່ນບໍ່ກ່ຽວຂ້ອງແລະຖືກລະເລີຍ. ໃນທາງກົງກັນຂ້າມ, ທາງເລືອກ - libdir
ມີຄວາມກ່ຽວຂ້ອງທັງສອງນີ້ແລະ -pkg mode
ເມື່ອຕົວເລືອກນີ້ຖືກລະບຸຊື່ພື້ນຖານຂອງການໂຕ້ຖຽງໄຟລ໌ທໍາອິດຫຼັງຈາກ
ທາງເລືອກແມ່ນໃຊ້ເປັນຊື່ຂອງຊຸດເພື່ອສ້າງ. ຖ້າຫາກວ່າການຂະຫຍາຍຂອງທີ່
ໄຟລ໌ຊີ້ໃຫ້ເຫັນຫ້ອງສະຫມຸດທີ່ໃຊ້ຮ່ວມກັນ ("ດັ່ງນັ້ນ,","sl",".dylib", ແລະ"dll") ມັນຍັງເປັນ
ເອົາອອກຈາກຊຸດຂອງໄຟລ໌ປ້ອນຂໍ້ມູນ. A ".tcl" ໄຟລ໌ຖືກເກັບໄວ້ເປັນສ່ວນຫນຶ່ງຂອງການປ້ອນຂໍ້ມູນ. A
ໄຟລ໌ດຽວທີ່ບໍ່ມີນາມສະກຸນແມ່ນຖືວ່າມີ ".tcl"ການຂະຫຍາຍ. A
ໄຟລ໌ທີ່ບໍ່ມີນາມສະກຸນ, ແຕ່ໄຟລ໌ປ້ອນຂໍ້ມູນອື່ນໆຕໍ່ໄປນີ້ຖືກປະຕິບັດຄືກັບຊື່ຂອງ
ຫ້ອງສະຫມຸດທີ່ແບ່ງປັນທີ່ເຫມາະສົມ, ແລະເອົາອອກຈາກຊຸດຂອງໄຟລ໌ປ້ອນຂໍ້ມູນ.
ຕົວຢ່າງ:
=> ຊື່ຊຸດແມ່ນ: foo
=> ໄຟລ໌ປ້ອນຂໍ້ມູນແມ່ນ: foo.tcl
=> ຊື່ຊຸດແມ່ນ: foo
=> ໄຟລ໌ປ້ອນຂໍ້ມູນແມ່ນ: bar.tcl
=> ຊື່ຊຸດແມ່ນ: foo
=> ໄຟລ໌ປ້ອນຂໍ້ມູນແມ່ນ: foo.tcl
=> ຊື່ຊຸດແມ່ນ: foo
=> ໄຟລ໌ປ້ອນຂໍ້ມູນແມ່ນ: bar.tcl
- ມີຊື່ ມູນຄ່າ
ທາງເລືອກນີ້ກໍານົດຄ່າຂອງຕົວເລືອກການຕັ້ງຄ່າການກໍ່ສ້າງທີ່ກໍານົດໄວ້ ຊື່ to ມູນຄ່າ.
ຂໍ້ມູນໄດ້ຮັບການຢັ້ງຢືນພຽງແຕ່ຖ້າຫາກວ່າຫນຶ່ງໃນ "..critcl" ປ້ອນໄຟລ໌ຕົວຈິງ
ກໍານົດແລະນໍາໃຊ້ຕົວເລືອກການຕັ້ງຄ່າການກໍ່ສ້າງທີ່ກໍານົດໄວ້ກັບທີ່ ຊື່.
ຕົວເລືອກນີ້ບໍ່ກ່ຽວຂ້ອງໃນເວລາສ້າງຊຸດ TEA (ເບິ່ງທາງເລືອກ - ຊາ ຂ້າງເທິງ).
PACKAGE STRUCTURE
ຊຸດທີ່ສ້າງຂຶ້ນໂດຍ critcl ມີໂຄງສ້າງພື້ນຖານດັ່ງຕໍ່ໄປນີ້:
+- pkgIndex.tcl
+- critcl-rt.tcl
+- license.terms (ເລືອກໄດ້)
|
+- tcl (ເລືອກໄດ້)
| +-
|
+-
+-
ອ່ືນ
[1] ໄຟລ໌ "pkgIndex.tcl" ແມ່ນໄຟລ໌ດັດຊະນີຊຸດມາດຕະຖານທີ່ຄາດໄວ້ໂດຍ Tcl's
ການຄຸ້ມຄອງຊຸດ. ມັນແມ່ນແຫຼ່ງທີ່ມາໃນລະຫວ່າງການຄົ້ນຫາສໍາລັບການຫຸ້ມຫໍ່, ແລະປະກາດ
package to Tcl ກັບໄຟລ໌ຂອງມັນ, ແລະວິທີການຈັດການກັບພວກມັນ.
[2] ໄຟລ໌ "critcl-rt.tcl" ແມ່ນໄຟລ໌ຜູ້ຊ່ວຍທີ່ມີລະຫັດທົ່ວໄປທີ່ໃຊ້ໂດຍ
"pkgIndex.tcl"ເພື່ອປະຕິບັດວຽກງານຂອງຕົນ.
[3] ໄຟລ໌ "license.terms"ເປັນທາງເລືອກແລະປາກົດພຽງແຕ່ຖ້າຫາກວ່າ ".critcl" ຍື່ນ
ແພັກເກັດຖືກສ້າງຂື້ນຈາກການໃຊ້ຄໍາສັ່ງ critcl::ໃບອະນຸຍາດ ເພື່ອປະກາດຊຸດ
ຜູ້ຂຽນແລະໃບອະນຸຍາດ.
[4] ໄຟລ໌ທັງຫມົດປະກາດດ້ວຍຄໍາສັ່ງ critcl::tsources ຖືກໃສ່ເຂົ້າໃນບັນຊີຍ່ອຍ
"tcl".
[5] ຫ້ອງສະຫມຸດແບ່ງປັນທີ່ສ້າງຂຶ້ນໂດຍ critcl ແມ່ນໄດ້ຮັບການເອົາເຂົ້າໄປໃນການຍ່ອຍສະເພາະຂອງເວທີ.
ລະບົບ.
ໂຄງປະກອບການທັງຫມົດ, ແລະໂດຍສະເພາະແມ່ນຈຸດສຸດທ້າຍ, ເຮັດໃຫ້ພວກເຮົາສາມາດລວມຜົນໄດ້ຮັບຕໍ່ມາ
(ສໍາລັບຊຸດດຽວກັນ, ແລະຮຸ່ນ) ສໍາລັບແພລະຕະຟອມເປົ້າຫມາຍຫຼາຍເຂົ້າໄປໃນໄດເລກະທໍລີດຽວ
ໂຄງສ້າງທີ່ບໍ່ມີຂໍ້ຂັດແຍ່ງ, ໂດຍພຽງແຕ່ຄັດລອກໄດເລກະທໍລີເທິງເຊິ່ງກັນແລະກັນ. ໄດ້
ພຽງແຕ່ໄຟລ໌ທີ່ສາມາດຂັດແຍ້ງຢູ່ໃນ ແລະ "tcl"ໄດເລກະທໍລີ, ແລະສໍາລັບການເຫຼົ່ານີ້ພວກເຮົາ
ຮູ້ວ່າພວກມັນຄືກັນທົ່ວທຸກເປົ້າໝາຍ. ຜົນຂອງການລວມດັ່ງກ່າວຈະເບິ່ງຄືວ່າ:
+- pkgIndex.tcl
+- critcl-rt.tcl
+- license.terms (ເລືອກໄດ້)
|
+- tcl (ເລືອກໄດ້)
| +-
|
+-
| +-
+-
| +-
+-
+-
ການປ່ຽນແປງ FOR ເວີຊັ່ນ 2.1
[1] ແກ້ໄຂບັນຫາທີ່ critcl::tsources ແປເສັ້ນທາງທີ່ເປັນພີ່ນ້ອງກັນ
ໄດເລກະທໍລີທີ່ເຮັດວຽກໃນປະຈຸບັນແທນທີ່ຈະກ່ຽວຂ້ອງກັບ ".critcl" ໄຟລ໌ໂດຍໃຊ້
ຄໍາສັ່ງ, ເຊັ່ນດຽວກັນກັບຄໍາສັ່ງອື່ນໆທັງຫມົດຂອງປະເພດນີ້ເຮັດ.
[2] ການແກ້ໄຂພາຍໃນ, ການປ້ອງກັນຂໍ້ມູນທີ່ເກັບກໍາສໍາລັບການຫຼາຍ ".critcl" ໄຟລ໌ໄປຫາ
ຮົ່ວລະຫວ່າງເຂົາເຈົ້າ. ໂດຍສະເພາະແມ່ນ, critcl::tk ບໍ່ແມ່ນທາງເລືອກໃນການຕັ້ງຄ່າທົ່ວໂລກ
ອີກຕໍ່ໄປ.
[3] ການແກ້ໄຂຄໍາສັ່ງ critcl::ໃບອະນຸຍາດ ຈະເປັນການເຮັດວຽກ null ໃນຮູບແບບ "compile & run",
ແທນທີ່ຈະຖິ້ມຄວາມຜິດພາດ.
[4] ແກ້ໄຂການແຊກແຊງຂອງແອັບພລິເຄຊັນ critcl ກັບ "ລວບລວມແລະແລ່ນ" cache ຜົນລັບ
in -pkg ຮູບແບບໂດຍການໃຫ້ມັນນໍາໃຊ້ແຍກຕ່າງຫາກທັງຫມົດ (ແລະໂດຍການຕັ້ງຄ່າ transient)
ໄດເລກະທໍລີສໍາລັບຮູບແບບນັ້ນ.
[5] ແກ້ໄຂບັນຫາທີ່ມີການປ່ຽນແປງເປັນ "..critcl" ໄຟລ໌ບໍ່ໄດ້ສົ່ງຜົນໃຫ້ເກີດໃຫມ່ສໍາລັບຮູບແບບ
"ລວບລວມແລະແລ່ນ". ຄໍາສັ່ງ API ທີ່ກ່ຽວຂ້ອງທັງຫມົດໃນປັດຈຸບັນຮັບປະກັນການປ່ຽນແປງ UUID.
[6] ແກ້ໄຂ bug ໃນການຈັດການ backend ຂອງ critcl::debug ບ່ອນທີ່ companion c-ແຫຼ່ງຂອງ
ເຖິງ ".critcl" ໄຟລ໌ບໍ່ໄດ້ຖືກລວບລວມດ້ວຍຕົວເລືອກ debug, ເຖິງແມ່ນວ່າ ".critcl"ໄຟລ໌
ແມ່ນ.
[7] ແກ້ໄຂ bug ໃນ critcl::debug ເຊິ່ງປ້ອງກັນການຮັບຮູ້ຂອງຮູບແບບ "ທັງຫມົດ" ໃນເວລາທີ່ມັນແມ່ນ
ບໍ່ແມ່ນການໂຕ້ຖຽງທໍາອິດກັບຄໍາສັ່ງ.
[8] ແກ້ໄຂ bug ໃນ "preload.c" ປ້ອງກັນການລວບລວມຂອງມັນຢູ່ໃນເວທີທີ່ບໍ່ແມ່ນປ່ອງຢ້ຽມ.
[9] ແກ້ໄຂ bug ຍາວປະຈໍາການໃນການຈັດການຄຸນນະສົມບັດ namespace ໃນຊື່ຄໍາສັ່ງ
ການໂຕ້ຖຽງຂອງ critcl::cproc ແລະ critcl::ຄໍາສັ່ງ. ໃນປັດຈຸບັນມັນເປັນໄປໄດ້ທີ່ຈະລະບຸ a
ຊື່ຄໍາສັ່ງທີ່ມີຄຸນວຸດທິຢ່າງເຕັມທີ່ໂດຍບໍ່ມີບັນຫາ.
[10] ຂະຫຍາຍ/ເຮັດໃໝ່ critcl::tsources ເປັນວິທີການ canonical ຂອງການປະກາດ ".tcl"
ໄຟລ໌ companion ເຖິງແມ່ນວ່າສໍາລັບຮູບແບບ "ລວບລວມແລະແລ່ນ".
[11] ຂະຫຍາຍ/ເຮັດໃໝ່ critcl::tsources ເພື່ອອະນຸຍາດໃຫ້ໃຊ້ ".critcl" ໄຟລ໌ເປັນຂອງຕົນເອງ
ໄຟລ໌ຄູ່ Tcl.
[12] ຂະຫຍາຍ critcl::ກອບ ການກວດສອບພາຍໃນສໍາລັບ OS X build target, ແລະບໍ່ສົນໃຈ
ຖະແຫຼງການຖ້າບໍ່ແມ່ນ.
[13] ຂະຫຍາຍ critcl:: ລົ້ມເຫລວ ສາມາດໂທໄດ້ຫຼາຍກວ່າຫນຶ່ງຄັ້ງໃນ ".critcl" ໄຟລ໌. ໄດ້
ໂທທໍາອິດບັງຄັບການກໍ່ສ້າງ, ຖ້າມັນບໍ່ໄດ້ເຮັດແລ້ວ, ເພື່ອໃຫ້ໄດ້ຮັບຜົນໄດ້ຮັບ. ຕື່ມອີກ
ການໂທສົ່ງຄືນຜົນລັບຂອງການໂທທໍາອິດ.
[14] ການຂະຫຍາຍການຈັດການຂອງການປ່ຽນແປງສະພາບແວດລ້ອມ CC ໃນລະຫັດການກໍານົດໄດ້
compiler ເພື່ອໃຊ້ເພື່ອຈັດການກັບ (ie ເອົາ) ເສັ້ນທາງໄປຫາ compiler, compiler file
ສ່ວນຂະຫຍາຍ, ແລະຕົວເລືອກການລວບລວມທີ່ລະບຸໄວ້ຫຼັງຈາກ compiler ຕົວຂອງມັນເອງ, ປ່ອຍໃຫ້ພຽງແຕ່
ຊື່ເປົ່າຂອງ compiler.
[15] ຂະຫຍາຍລະຫັດການຈັດການການຄົ້ນຫາສໍາລັບຫ້ອງສະຫມຸດ preloaded ເພື່ອພິມເສັ້ນທາງຂອງມັນ
ຄົ້ນຫາ, ເຮັດໃຫ້ debugging ຂອງຄວາມລົ້ມເຫຼວຂອງການຄົ້ນຫາງ່າຍຂຶ້ນ.
[16] ຄໍາສັ່ງໃຫມ່ critcl::tcl ສາມາດໃຊ້ເພື່ອປະກາດເວີຊັນຂອງ Tcl ໜ້ອຍທີ່ສຸດ
ຈໍາເປັນຕ້ອງສ້າງແລະດໍາເນີນການ ".critcl" ໄຟລ໌ ແລະແພັກເກດ. ຄ່າເລີ່ມຕົ້ນເປັນ 8.4 ຖ້າບໍ່ແມ່ນ
ປະກາດ. ຂະຫຍາຍ critcl ເພື່ອໃຫ້ມີຫົວແລະຫົວສໍາລັບ Tcl 8.4, 8.5 ທັງຫມົດ,
ແລະ 8.6.
[17] ຄໍາສັ່ງໃຫມ່ critcl::ໂຫຼດ ບັງຄັບໃຫ້ການກໍ່ສ້າງແລະການໂຫຼດຂອງ ".critcl" ໄຟລ໌. ນີ້ແມ່ນ
ວິທີການທີ່ເປັນທາງການສໍາລັບການ overriding ໂຄງການເລີ່ມຕົ້ນຂອງ critcl lazy-build-&-load-on-demand scheme
ສໍາລັບຮູບແບບ "ລວບລວມແລະແລ່ນ".
ຫມາຍເຫດ ຫຼັງຈາກການນໍາໃຊ້ critcl::ໂຫຼດ / critcl:: ລົ້ມເຫລວ ຢູ່ໃນ ".critcl" ໄຟລ໌ມັນບໍ່ແມ່ນ
ສາມາດໃຊ້ຄຳສັ່ງ critcl ໃນໄຟລ໌ນັ້ນໄດ້ອີກຕໍ່ໄປ. ການເຮັດດັ່ງນັ້ນຈະຖິ້ມຄວາມຜິດພາດ.
[18] ຂະຫຍາຍການຜະລິດຂອງ '#line' pragmas ເພື່ອໃຊ້ ຂໍ້ມູນ frame (ຖ້າມີ) ກັບ
ໃຫ້ C compiler ມີຕົວເລກເສັ້ນທີ່ແນ່ນອນເຂົ້າໄປໃນ ".critcl" ໄຟລ໌ສໍາລັບ
ການລາຍງານຂອງຄໍາເຕືອນແລະຄວາມຜິດພາດ.
[19] ຂະຫຍາຍ critcl::ກວດເບິ່ງ ກັບການບັນທຶກເພື່ອຊ່ວຍໃນການກວດສອບການດີບັກການສ້າງເວລາຂອງ
ສະພາບແວດລ້ອມ, ບວກກັບການໂຕ້ຖຽງທາງເລືອກເພີ່ມເຕີມເພື່ອສະຫນອງການຕິດສະຫຼາກ.
[20] ເພີ່ມຄໍາສັ່ງໃຫມ່ critcl::checklink ເຊິ່ງບໍ່ພຽງແຕ່ພະຍາຍາມກວດກາສະພາບແວດລ້ອມເທົ່ານັ້ນ
ໂດຍຜ່ານການລວບລວມລະຫັດ, ແຕ່ຍັງການເຊື່ອມໂຍງຂອງມັນ.
[21] ເພີ່ມຄໍາສັ່ງໃຫມ່ critcl::msg ສໍາລັບການສົ່ງຂໍ້ຄວາມ, ເຊັ່ນຄໍາສັ່ງ critcl::ຜິດພາດ ແມ່ນສໍາລັບ
ການລາຍງານຄວາມຜິດພາດ. ເຊັ່ນດຽວກັນນີ້ແມ່ນ hook ຜູ້ໃຊ້ຂອງຊຸດໄດ້ຖືກອະນຸຍາດໃຫ້
ລົບລ້າງ. ການປະຕິບັດໃນຕອນຕົ້ນ, ນໍາໃຊ້ໂດຍຮູບແບບ ລວບລວມ & ແລ່ນ ບໍ່ເຮັດຫຍັງ. ໄດ້
ການປະຕິບັດສໍາລັບຮູບແບບ ຜະລິດ ຊຸດ ພິມຂໍ້ຄວາມເພື່ອ stdout.
ການນໍາໃຊ້ envisioned ແມ່ນສໍາລັບການລາຍງານຜົນໄດ້ຮັບທີ່ກໍານົດໂດຍ critcl::ກວດເບິ່ງ ແລະ
critcl::checklink ໃນລະຫວ່າງການກໍ່ສ້າງ, ເພື່ອຊ່ວຍໃນການ debugging ໃນເວລາທີ່ບາງສິ່ງບາງຢ່າງຜິດພາດ
ດ້ວຍການກວດສອບ.
[22] ເປີດເຜີຍການໂຕ້ຖຽງການປະມວນຜົນພາຍໃນຂອງ critcl::proc ສໍາລັບການນໍາໃຊ້ໂດຍຂັ້ນສູງ
ຜູ້ໃຊ້. ຄໍາສັ່ງໃຫມ່ແມ່ນ
[1] critcl::argnames
[2] critcl::argcnames
[3] critcl::argcsignature
[4] critcl::argvardecls
[5] critcl::argconversion
ກະລຸນາເບິ່ງພາກ ແບບພິເສດ ຝັງ C ລະຫັດ ຂອງ critcl ເອກະສານຊຸດສໍາລັບ
ລາຍລະອຽດ.
[23] ຂະຫຍາຍຊຸດ critcl ເພື່ອສະກັດ ຊຸດ ໃຫ້ ແລະບັນທຶກໄຟລ໌ ->
ການສ້າງແຜນທີ່ຊື່ຊຸດ. ບວກກັບການປ່ຽນແປງພາຍໃນອື່ນໆໃນປັດຈຸບັນອະນຸຍາດໃຫ້ນໍາໃຊ້ namespaced
ຊື່ແພັກເກດໃນຂະນະທີ່ຍັງໃຊ້ຊື່ເສັ້ນທາງທີ່ຖືກຕ້ອງ ແລະຟັງຊັນ init.
[24] ຫຼຸດລົງຄໍາສັ່ງທີ່ບໍ່ໄດ້ນໍາໃຊ້ critcl::optimize ແລະ critcl::ລວມ.
[25] ຫຼຸດລົງ - lib ໂຫມດຈາກແອັບພລິເຄຊັນ critcl.
[26] ການຫຼຸດລົງຂອງການສະຫນັບສະຫນູນສໍາລັບ Tcl 8.3 ແລະກ່ອນ.
ການປ່ຽນແປງ FOR ເວີຊັ່ນ 3
[1] ຄໍາສັ່ງ critcl::ເວທີ ໄດ້ຖືກຍົກເລີກໃນເວີຊັນ 2.1, ແທນທີ່ໂດຍ
critcl::targetplatform, ທັນເກັບຮັກສາໄວ້ສໍາລັບການເຂົ້າກັນໄດ້. ໃນປັດຈຸບັນມັນໄດ້ຖືກໂຍກຍ້າຍ.
[2] ຄໍາສັ່ງ critcl::ລວບລວມ ໄດ້ຖືກເກັບຮັກສາໄວ້ໃນສະບັບ 2.1 ກັບ semantics ໃນ
ຂັດກັບມັນ, ສໍາລັບຄວາມເຂົ້າກັນໄດ້. ຂໍ້ຂັດແຍ່ງນີ້ໄດ້ຖືກລົບລ້າງ,
ການປ່ຽນແປງ semantics ສັງເກດເຫັນຂອງຄໍາສັ່ງເພື່ອໃຫ້ສອດຄ່ອງກັບຊື່ຂອງມັນ.
[3] ການປ່ຽນແປງໃນສະບັບ 3 ໄດ້ກາຍເປັນຄວາມຈໍາເປັນເນື່ອງຈາກວ່າສອງບໍ່ເຂົ້າກັນໄດ້ສັງເກດເຫັນ
ການປ່ຽນແປງຂ້າງເທິງ.
[4] ການຂະຫຍາຍຊຸດຄໍາຮ້ອງສະຫມັກທີ່ມີການຈັດການລະຫັດທາງເລືອກໃຫມ່ - ຊາ. ການລະບຸ
ຕົວເລືອກນີ້ຮຽກຮ້ອງຮູບແບບພິເສດທີ່ critcl ສ້າງຊຸດ TEA, ເຊັ່ນ: wraps
ການປ້ອນຂໍ້ມູນເຂົ້າໄປໃນລໍາດັບຂອງລະບົບແລະໄຟລ໌ສະຫນັບສະຫນູນທີ່ໃຫ້ມັນ TEA-
ລະບົບການກໍ່ສ້າງຄ້າຍຄື.
ທາງເລືອກໃຫມ່ນີ້, ແລະ -pkg, ຍົກເວັ້ນເຊິ່ງກັນແລະກັນ. ຖ້າທັງສອງຖືກລະບຸແມ່ນໃຊ້ຄັ້ງສຸດທ້າຍ
ທາງເລືອກມີຄວາມສໍາຄັນ.
ລຳດັບຂອງໄດເຣັກທໍຣີແພັກເກັດທີ່ສ້າງຂຶ້ນສ່ວນຫຼາຍແມ່ນບັນຈຸດ້ວຍຕົນເອງ, ແຕ່ບໍ່ຄົບຖ້ວນ.
ມັນຕ້ອງການບໍ່ພຽງແຕ່ການຕິດຕັ້ງ Tcl ທີ່ເຮັດວຽກ, ແຕ່ຍັງການຕິດຕັ້ງທີ່ເຮັດວຽກ
ຂອງການຫຸ້ມຫໍ່ md5 ແລະ cmdline. ທັງສອງນີ້ແມ່ນສະຫນອງໃຫ້ໂດຍ Tclib bundle
ບໍ່ຕ້ອງການ, ແຕ່ແນະນໍາໃຫ້ມີການຕິດຕັ້ງແມ່ນການຫຸ້ມຫໍ່ໃດຫນຶ່ງທີ່ສາມາດເຮັດໄດ້
ເລັ່ງການດໍາເນີນງານຂອງ md5, ie cryptkit, tclibc, ຫຼື Trf.
[5] ຂະຫຍາຍຊຸດ critcl ດ້ວຍຄໍາສັ່ງໃຫມ່ critcl::ສະແກນ ເອົາເສັ້ນທາງໄປສູ່ ກ
".critcl" ໄຟລ໌, ສະແກນມັນຢ່າງສະຖິດ, ແລະໃບອະນຸຍາດກັບຄືນມາ, ສະບັບ, ບັນຊີລາຍຊື່ຂອງ
ໄຟລ໌ຄູ່ຂອງມັນ, ບັນຊີລາຍຊື່ຂອງ APIs ທີ່ນໍາເຂົ້າ, ແລະບັນຊີລາຍຊື່ຂອງຜູ້ພັດທະນາທີ່ກໍານົດເອງ
ຕົວເລືອກການຕັ້ງຄ່າ. ຂໍ້ມູນນີ້ແມ່ນພື້ນຖານສໍາລັບການຫໍ່ TEA ທີ່ອະທິບາຍ
ຂ້າງເທິງ.
ໃຫ້ສັງເກດວ່ານີ້ແມ່ນກ ໄຟຟ້າສະຖິດ ສະແກນ. ໃນຂະນະທີ່ຮູບແບບການກໍ່ສ້າງອື່ນໆສາມາດ (ຕ້ອງ) ດໍາເນີນການ
".critcl" ຍື່ນແລະເຮັດການຕັດສິນໃຈສະເພາະເວທີກ່ຽວກັບລະຫັດ C ທີ່ປະກອບ,
ໄຟລ໌ companion, ແລະອື່ນໆ. ຮູບແບບການຫໍ່ TEA ບໍ່ແມ່ນຢູ່ໃນຖານະທີ່ຈະເຮັດໃຫ້ platform-
ການຕັດສິນໃຈສະເພາະ. ມັນຕ້ອງຫໍ່ທຸກສິ່ງທຸກຢ່າງທີ່ອາດຈະຕ້ອງການ conceivably
ເມື່ອກໍ່ສ້າງຕົວຈິງ. ເພາະສະນັ້ນການສະແກນສະຖິດ. ຢ່າງໃດກໍຕາມ, ນີ້ມີຊຸດຂອງຕົນເອງ
ບັນຫາ, ຄືບໍ່ສາມາດທີ່ຈະຄິດອອກການກໍ່ສ້າງແບບເຄື່ອນໄຫວຂອງຄູ່
ເສັ້ນທາງໄຟລ໌, ຢ່າງຫນ້ອຍມັນເອງ. ດັ່ງນັ້ນ:
[6] ຂະຫຍາຍ API ທີ່ໃຊ້ໂດຍແພັກເກັດທີ່ອີງໃສ່ critcl ດ້ວຍຄໍາສັ່ງ critcl::ເປັນເຈົ້າຂອງ. ໃນຂະນະທີ່
ຄໍາສັ່ງນີ້ຖືກລະເລີຍໂດຍຮູບແບບການກໍ່ສ້າງປົກກະຕິທີ່ເຄື່ອງສະແກນສະຖິດອະທິບາຍ
ຂ້າງເທິງໃຊ້ເວລາການໂຕ້ຖຽງຂອງຕົນເປັນຊື່ຂອງໄຟລ໌ companion ທີ່ຕ້ອງໄດ້ຮັບການຫໍ່
ເຂົ້າໄປໃນຊຸດ TEA ແລະບໍ່ສາມາດຄິດໄດ້ໂດຍເຄື່ອງສະແກນຖ້າບໍ່ດັ່ງນັ້ນ, ເຊັ່ນ:
ເນື່ອງຈາກວ່າເສັ້ນທາງເຄື່ອນໄຫວເພື່ອ critcl::tsources, critcl::csources, ໄດ້ຮັບແຫຼ່ງ
ໂດຍກົງ, ຫຼືພຽງແຕ່ເປັນໄຟລ໌ຂໍ້ມູນເສີມ.
[7] ຂະຫຍາຍ API ທີ່ໃຊ້ໂດຍແພັກເກັດທີ່ອີງໃສ່ critcl ດ້ວຍຄໍາສັ່ງ critcl::api ສໍາລັບ
ການຄຸ້ມຄອງຕາຕະລາງ stubs, ມັນເປັນການນໍາໃຊ້ຂອງເຂົາເຈົ້າ, ແລະ / ຫຼືການປະກາດແລະການສົ່ງອອກ.
ກະລຸນາເບິ່ງພາກ ສະແຕນ ຕາຕະລາງ ການຈັດການ ຂອງ critcl ເອກະສານຊຸດສໍາລັບ
ລາຍລະອຽດ.
[8] ຂະຫຍາຍ API ທີ່ໃຊ້ໂດຍແພັກເກັດທີ່ອີງໃສ່ critcl ດ້ວຍຄໍາສັ່ງ critcl::userconfig
ສໍາລັບການຄຸ້ມຄອງຕົວເລືອກການຕັ້ງຄ່າທີ່ກໍາຫນົດເອງຂອງນັກພັດທະນາ, ບໍ່ວ່າຈະເປັນຂອງພວກເຂົາ
ໃຊ້ ແລະ/ຫຼື ປະກາດ.
ກະລຸນາເບິ່ງພາກ Custom ສ້າງ ການຕັ້ງຄ່າ ຂອງ critcl ເອກະສານຊຸດ
ສໍາລັບລາຍລະອຽດ.
[9] ຂະຫຍາຍ API ທີ່ໃຊ້ໂດຍແພັກເກັດທີ່ອີງໃສ່ critcl ດ້ວຍຄໍາສັ່ງ
critcl::ລາຍລະອຽດ, critcl::ສະຫຼຸບ, critcl::ວິຊາ, critcl::meta, ແລະ
critcl::ຄວາມຕ້ອງການການກໍ່ສ້າງ ສໍາລັບການປະກາດຂໍ້ມູນ meta ຂອງ TEApot ສໍາລັບ / ກ່ຽວກັບ
package
ກະລຸນາເບິ່ງພາກ Package Meta ຂໍ້ມູນ ຂອງ critcl ເອກະສານຊຸດສໍາລັບ
ລາຍລະອຽດ.
ການປ່ຽນແປງ FOR ເວີຊັ່ນ 3.0.1
[1] ແກ້ໄຂ Bug ທັງຫມົດປະມານ. ໃນລາຍລະອຽດ:
[2] ການບັນທຶກການແກ້ໄຂຂອງຄວາມຕ້ອງການສະບັບ Tcl. ຮັກສາຊື່ແພັກເກັດແລະຮຸ່ນ
ຮ່ວມກັນ, unbreaking ຂໍ້ມູນ meta ທີ່ສ້າງຂຶ້ນແລະຄໍາສັ່ງໂຫຼດຊຸດທີ່ສ້າງຂຶ້ນ.
[3] ແກ້ໄຂສະຄຣິບສ້າງ: ເມື່ອຕິດຕັ້ງ, ຫຼືຫໍ່ສໍາລັບ TEA, ສ້າງສິ່ງທີ່ຂາດຫາຍໄປ
ໄດເລກະທໍລີ
[4] ການປັບປຸງການສ້າງສະຄິບທີ່ຈະເຫມາະສົມອອກຈາກຄໍາຮ້ອງສະຫມັກໃນເວລາທີ່ປ່ອງຢ້ຽມຂອງ
GUI ຂອງພວກເຂົາຖືກປິດໂດຍຜ່ານປຸ່ມ (X).
[5] ການໂຍກຍ້າຍອອກເປັນ 8.5-ism (ເປີດ wb) ທີ່ໄດ້ຫຼຸດລົງເຂົ້າໄປໃນ script ການກໍ່ສ້າງຕົ້ນຕໍ.
[6] ການດັດແກ້ຕົວຢ່າງການກໍ່ສ້າງ scripts ເພື່ອແຍກອອກສໍາລັບການທີ່ແຕກຕ່າງກັນ
ຕົວຢ່າງ (ແລະຊຸດ) ໂດຍການເພີ່ມເສັ້ນຫວ່າງເປົ່າ.
[7] stack::c ຕົວຢ່າງ bugfix: ລວມເອົາການປະກາດ API ສໍາລັບໃຊ້ໃນໄຟລ໌ companion.
[8] ການຂະຫຍາຍເອກະສານ: ໄດ້ສັງເກດເຫັນຄວາມຕ້ອງການສໍາລັບການເຮັດວຽກຂອງການຕິດຕັ້ງ C ໄດ້
ນັກຂຽນ.
[9] ຂະຫຍາຍການກຳນົດເປົ້າໝາຍຂອງ Windows ແລະລະຫັດເພື່ອຈັດການໄຟລ໌ manifest ທີ່ໃຊ້
ໂດຍສະພາບແວດລ້ອມການພັດທະນາ MS ທີ່ທັນສະໄຫມ. ໃຫ້ສັງເກດວ່າລະຫັດນີ້ຈັດການກັບທັງສອງ
ຄວາມເປັນໄປໄດ້, ສະພາບແວດລ້ອມທີ່ໃຊ້ manifests, ແລະ (ເກົ່າ(er)) ສະພາບແວດລ້ອມໂດຍບໍ່ມີການ.
[10] ຂະຫຍາຍການກຳນົດເປົ້າໝາຍຂອງ Windows 64bit ແລະລະຫັດເພື່ອກວດຫາອັດຕະໂນມັດທີ່ຕ້ອງການ
ຫ້ອງສະຫມຸດຜູ້ຊ່ວຍ "bufferoverflowU.lib" ແລະ configure ການລວບລວມແລະການເຊື່ອມຕໍ່
ຄໍາສັ່ງທີ່ເຫມາະສົມ. ພວກເຮົາສົມມຸດວ່າຫ້ອງສະຫມຸດຕ້ອງໄດ້ຮັບການເຊື່ອມຕໍ່ເມື່ອມີຢູ່.
ນີ້ບໍ່ຄວນເປັນອັນຕະລາຍຖ້າຫ້ອງສະຫມຸດມີຢູ່, ແຕ່ບໍ່ຈໍາເປັນ. ພຽງແຕ່ superfluous.
ພວກເຮົາຄົ້ນຫາຫ້ອງສະຫມຸດໃນເສັ້ນທາງທີ່ລະບຸໄວ້ໂດຍຕົວແປສະພາບແວດລ້ອມ LIB.
ການປ່ຽນແປງ FOR ເວີຊັ່ນ 3.0.2
[1] ແກ້ໄຂບັນຫາໃນຮູບແບບການລວບລວມແລະແລ່ນບ່ອນທີ່ຄໍາສັ່ງໃສ່ໃນ auto_index ບໍ່ແມ່ນ
ພົບເຫັນໂດຍຄໍາສັ່ງ [ບໍ່ຮູ້ຈັກ] Tcl.
[2] ການແກ້ໄຂເປັນການແກ້ໄຂຄວາມຜິດພາດທີ່ສໍາຄັນ array breaking ການນໍາໃຊ້ຂໍ້ມູນລູກຄ້າແລະການທໍາງານລົບສໍາລັບການ
ຂັ້ນຕອນການ. ລາຍງານໂດຍ Jos DeCoster, ມີ patch.
[3] ການປະຕິບັດທາງເລືອກເສັ້ນຄໍາສັ່ງ -L, ທຽບເທົ່າຂອງທາງເລືອກ -I, ພຽງແຕ່ສໍາລັບຫ້ອງສະຫມຸດ
ເສັ້ນທາງຄົ້ນຫາ.
[4] ແກ້ໄຂບັນຫາ github 5 ແລະ 8. ເຮັດວຽກປະມານຕົວແປທີ່ຂາດຫາຍໄປ ::errorInfo. ມັນ
ຄວນຈະມີຢູ່ສະເໝີ, ແນວໃດກໍ່ຕາມເບິ່ງຄືວ່າມີການດັດແກ້ Tcl ປະມານນັ້ນ
ລະເມີດການສົມມຸດຕິຖານນີ້.
ການປ່ຽນແປງ FOR ເວີຊັ່ນ 3.0.3
[1] ແກ້ໄຂບັນຫາ github 5 ແລະ 8, ຕົວຢ່າງ build.tcl scripts. ເຮັດວຽກປະມານ ກ
ຕົວແປທີ່ຂາດຫາຍໄປ ::errorInfo. ມັນຄວນຈະມີຢູ່ສະ ເໝີ, ແນວໃດກໍ່ຕາມເບິ່ງຄືວ່າມີ
ການແກ້ໄຂ Tcl ປະມານທີ່ລະເມີດການສົມມຸດຕິຖານນີ້.
ການປ່ຽນແປງ FOR ເວີຊັ່ນ 3.0.4
[1] ການຜະລິດຄົງທີ່ຂອງ initname ຂອງຊຸດໃນເວລາທີ່ລະຫັດທີ່ມາແມ່ນອ່ານຈາກ
stdin ແລະບໍ່ມີເສັ້ນທາງທີ່ເຫມາະສົມ.
[2] ແກ້ໄຂບັນຫາ github 11. ໃນປັດຈຸບັນການນໍາໃຊ້ /LIBPATH ແທນ -L ໃນ Windows (libinclude
ການຕັ້ງຄ່າ).
[3] ຂະຫຍາຍ critcl ເພື່ອຈັດການ -l: ຮູບແບບເສັ້ນທາງຂອງທາງເລືອກ -l. GNU ld 2.22+ ຈັດການກັບສິ່ງນີ້
ໂດຍການຊອກຫາເສັ້ນທາງດັ່ງກ່າວ. ດີໃນເວລາທີ່ກໍານົດຫ້ອງສະຫມຸດຄົງທີ່, ເປັນທໍາມະດາ -l
ຊອກຫາຫ້ອງສະຫມຸດທີ່ໃຊ້ຮ່ວມກັນໃນການຕັ້ງຄ່າສະຖິດ. critcl ຈັດການກັບມັນໃນປັດຈຸບັນ, ເປັນ
GNU ld ຂອງເກົ່າບໍ່ເຂົ້າໃຈມັນ, ຫຼືຕົວເຊື່ອມຕໍ່ສະເພາະຂອງຜູ້ຂາຍຕ່າງໆ.
[4] ແກ້ໄຂບັນຫາ github #12. ໃນປັດຈຸບັນ Critcl ກໍານົດສະບັບຂອງ MSVC ໃນການນໍາໃຊ້ແລະການນໍາໃຊ້
ມັນເພື່ອສະຫຼັບລະຫວ່າງທາງເລືອກການດີບັກການເຊື່ອມຕໍ່ຕ່າງໆ. ງ່າຍດາຍການຈັດການຂອງ
bufferoverflowU.lib ເຊັ່ນດຽວກັນ, ເຮັດໃຫ້ການນໍາໃຊ້ກົນໄກດຽວກັນແລະການລົ້ມລົງທັງສອງ
ພາກສ່ວນການຕັ້ງຄ່າພວກເຮົາໄດ້ກັບຄືນໄປບ່ອນຫນຶ່ງ.
[5] Reworked ການແຊກ #line pragmas ເຂົ້າໄປໃນລະຫັດ C ທີ່ສ້າງຂຶ້ນເພື່ອຫຼີກເວັ້ນການ
ຂໍ້ຈໍາກັດກ່ຽວກັບການໂຕ້ຖຽງຈໍານວນເສັ້ນທີ່ຖືກບັງຄັບໂດຍ compilers ຕ່າງໆ, ແລະຫຼາຍກວ່ານັ້ນ
ຖືກຕ້ອງ.
[6] ການປຸງແຕ່ງການໂຕ້ຖຽງການແກ້ໄຂ. ທາງເລືອກ -libdir ໃນປັດຈຸບັນຍັງຫມາຍຄວາມວ່າ -L ສໍາລັບການໂຕ້ຖຽງຂອງມັນ.
[7] ການຂະຫຍາຍການຈັດການທາງເລືອກ -show (critcl::showconfig) ເພື່ອບອກເສັ້ນທາງຂອງ
ໄຟລ໌ການຕັ້ງຄ່າຂໍ້ມູນທີ່ມາຈາກ. ທີ່ດີສໍາລັບການ debugging ການຕັ້ງຄ່າ
ການປຸງແຕ່ງ.
[8] ການຂະຫຍາຍຕົວອັກສອນທີ່ມີເປົ້າຫມາຍເພື່ອຟື້ນຟູເອກະສານຝັງ,
ແລະແຜນວາດ, ແລະເພື່ອສ້າງການປ່ອຍ.
ການປ່ຽນແປງ FOR ເວີຊັ່ນ 3.0.5
[1] ແກ້ໄຂຂໍ້ບົກພ່ອງໃນລະຫັດໃຫມ່ສໍາລັບ #line pragmas ທີ່ກະຕຸ້ນໃນເວລາທີ່ລະບຸລະຫັດ C
ໂດຍບໍ່ມີຊ່ອງຫວ່າງຊັ້ນນໍາ.
[2] ການຂະຫຍາຍເອກະສານທີ່ຈະມີ manpages ສໍາລັບໃບອະນຸຍາດ, ດຶງແຫຼ່ງຂໍ້ມູນ,
ຜູ້ຕິດຕັ້ງ, ແລະຄໍາແນະນໍາຂອງຜູ້ພັດທະນາ.
ການປ່ຽນແປງ FOR ເວີຊັ່ນ 3.0.6
[1] ການແກ້ໄຂບັນຫາ github 10. ຄໍາຮ້ອງສະຫມັກ critcl ໃນປັດຈຸບັນໃຫ້ລະຫັດອອກທີ່ເຫມາະສົມ (1)
ກ່ຽວກັບຄວາມລົ້ມເຫຼວຂອງການກໍ່ສ້າງ, ແທນທີ່ຈະຊີ້ໃຫ້ເຫັນເຖິງຄວາມສໍາເລັດສະເຫມີ (ສະຖານະພາບ 0).
[2] ແກ້ໄຂບັນຫາ github 13. ການຈັດການ bufferoverflowU.lib ສໍາລັບການສ້າງການປ່ອຍແມ່ນ
ບໍ່ສອດຄ່ອງກັບການຈັດການສໍາລັບການສ້າງດີບັກ. ດຽວນີ້ມັນໄດ້ຖືກຈັດການຄືກັນ
(ເງື່ອນໄຂ) ໂດຍທັງສອງກໍລະນີ.
[3] ການທໍາຄວາມສະອາດເອກະສານ, ສ່ວນໃຫຍ່ແມ່ນຢູ່ໃນຄູ່ມືການຕິດຕັ້ງ, ແລະ README.md ສະແດງໃຫ້ເຫັນໂດຍ
GitHub
ການປ່ຽນແປງ FOR ເວີຊັ່ນ 3.0.7
[1] ການແກ້ໄຂລະຫັດທີ່ສ້າງໂດຍ critcl::c++ ຄໍາສັ່ງ. ລະຫັດທີ່ປ່ອຍອອກມາໄດ້ມອບໃຫ້ບໍ່ແມ່ນ
ຕາຕະລາງສະຕຣິງຄົງທີ່ Tcl_GetIndexFromObj, ໃນການລະເມີດສັນຍາ, ທີ່
ຮຽກຮ້ອງໃຫ້ຕາຕະລາງມີທີ່ຢູ່ຄົງທີ່. ນີ້ແມ່ນການຕີຄວາມຊົງຈໍາລໍຖ້າ
ເກີດຂຶ້ນ. ຂໍຂອບໃຈ Brian Griffin ສໍາລັບການແຈ້ງເຕືອນພວກເຮົາກ່ຽວກັບບັນຫາທົ່ວໄປ.
ການປ່ຽນແປງ FOR ເວີຊັ່ນ 3.1
[1] ເພີ່ມຊຸດລະດັບສູງໃຫມ່ critcl::iassoc.
ຊຸດນີ້ເຮັດໃຫ້ການສ້າງຂໍ້ມູນການເຊື່ອມໂຍງລະຫັດກັບນາຍພາສາງ່າຍຂຶ້ນ
ຜ່ານ Tcl's Tcl_(Get|Set)AssocData() APIs. ຜູ້ໃຊ້ສາມາດສຸມໃສ່ຂໍ້ມູນຂອງລາວໃນຂະນະທີ່
ລະຫັດ boilerplate C ທີ່ຈໍາເປັນທັງຫມົດເພື່ອສະຫນັບສະຫນູນນີ້ແມ່ນຜະລິດໂດຍຊຸດ.
ຊຸດນີ້ໃຊ້ຄຸນສົມບັດໃຫມ່ຈໍານວນຫນຶ່ງທີ່ຖືກເພີ່ມເຂົ້າໃນຫຼັກ critcl
ຊຸດ, ເບິ່ງຂ້າງລຸ່ມນີ້.
[2] ເພີ່ມຊຸດລະດັບສູງກວ່າ critcl::ຫ້ອງຮຽນ.
ຊຸດນີ້ເຮັດໃຫ້ການສ້າງວັດຖຸລະດັບ C ງ່າຍດ້ວຍຫ້ອງຮຽນ ແລະຕົວຢ່າງ
ຄໍາສັ່ງ. ຜູ້ໃຊ້ສາມາດຂຽນຄໍານິຍາມຊັ້ນຮຽນທີ່ມີ class- ແລະ instance-variables
ແລະ - ວິທີການທີ່ຄ້າຍຄືກັນກັບຫ້ອງຮຽນ TclOO, ມີລະຫັດ boilerplate C ທີ່ຈໍາເປັນທັງຫມົດເພື່ອ
ສະຫນັບສະຫນູນອັນນີ້ທີ່ສ້າງຂຶ້ນໂດຍຊຸດ.
ຊຸດນີ້ໃຊ້ຄຸນສົມບັດໃຫມ່ຈໍານວນຫນຶ່ງທີ່ຖືກເພີ່ມເຂົ້າໃນຫຼັກ critcl
ຊຸດ, ເບິ່ງຂ້າງລຸ່ມນີ້.
[3] ຂະຫຍາຍ API ສໍາລັບການຈັດການ metadata TEApot. ເພີ່ມຄໍາສັ່ງ critcl::meta? to
ສອບຖາມຂໍ້ມູນເກັບຮັກສາໄວ້. ການນໍາໃຊ້ຕົ້ນຕໍໃນປັດຈຸບັນຄາດຄະເນແມ່ນການຟື້ນຕົວຂອງ
ຊື່ຂອງແພັກເກັດປະຈຸບັນໂດຍຄໍາສັ່ງ utility, ສໍາລັບການນໍາໃຊ້ໃນຊື່ການກໍ່ສ້າງ. ນີ້
ຂໍ້ມູນສະເພາະແມ່ນມີຢູ່ສະເໝີເນື່ອງຈາກການສະແກນສະຖິດຂອງຊຸດ
ໄຟລ໌ໃນການປະຕິບັດຄໍາສັ່ງ critcl ທໍາອິດ.
ຊຸດໃໝ່ critcl::iassoc ແລະ critcl::ຫ້ອງຮຽນ (ເບິ່ງຂ້າງເທິງ) ແມ່ນຜູ້ໃຊ້ນີ້
ຄໍາສັ່ງ.
[4] ການຂະຫຍາຍ API ທີ່ມີຄໍາສັ່ງ, critcl::name2c, exposing ຂະບວນການປ່ຽນໃຈເຫລື້ອມໃສ
ຊື່ Tcl ເປັນຊື່ພື້ນຖານ, namespace, ແລະ C namespace. ນີ້ເຮັດໃຫ້ລະດັບທີ່ສູງຂຶ້ນ
ຜູ້ຜະລິດລະຫັດເພື່ອສ້າງປະເພດດຽວກັນຂອງຕົວລະບຸ C critcl ຕົວເອງ
ຊຸດໃຫມ່ critcl::ຫ້ອງຮຽນ (ເບິ່ງຂ້າງເທິງ) ແມ່ນຜູ້ໃຊ້ຄໍາສັ່ງນີ້.
[5] ການຂະຫຍາຍ API ທີ່ມີຄໍາສັ່ງ, critcl::ແຫຼ່ງ, ປະຕິບັດຄໍາສັ່ງ critcl ທີ່ພົບໃນ
ໄຟລ໌ແຍກຕ່າງຫາກໃນບໍລິບົດຂອງໄຟລ໌ປະຈຸບັນ. ນີ້ເຮັດໃຫ້ການຄຸ້ມຄອງງ່າຍຂຶ້ນ
ຂອງອົງການຈັດຕັ້ງຂະຫນາດໃຫຍ່ຂອງລະຫັດຍ້ອນວ່າມັນອະນຸຍາດໃຫ້ຜູ້ໃຊ້ສາມາດແບ່ງອອກເປັນງ່າຍຂຶ້ນທີ່ຈະ
ຍ່ອຍຊິ້ນສ່ວນນ້ອຍລົງ ໂດຍບໍ່ກໍ່ໃຫ້ເກີດການສ້າງແພັກເກັດຫຼາຍອັນ.
[6] ກ່ຽວຂ້ອງກັບລາຍການທີ່ຜ່ານມາ, ຂະຫຍາຍ API ດ້ວຍຄໍາສັ່ງເພື່ອຫັນການລວບລວມ
ຂອງລະຫັດ C ທີ່ຜະລິດເຂົ້າໄປໃນຫນ່ວຍຄວາມຈໍາ. ນີ້ເຮັດໃຫ້ມັນງ່າຍຕໍ່ການໃຊ້ຄໍາສັ່ງສໍາລັບ
ຝັງລະຫັດ C ໃນເຄື່ອງສ້າງລະຫັດລະດັບສູງກວ່າ.
ເບິ່ງພາກ Advanced: ຄວາມຫຼາກຫຼາຍ ສໍາລັບລາຍລະອຽດຂອງຄໍາສັ່ງທີ່ສະຫນອງໃຫ້.
ຊຸດໃຫມ່ critcl::ຫ້ອງຮຽນ (ເບິ່ງຂ້າງເທິງ) ແມ່ນຜູ້ໃຊ້ສິ່ງອໍານວຍຄວາມສະດວກເຫຼົ່ານີ້.
[7] ການຂະຫຍາຍ API ທີ່ມີຄໍາສັ່ງຊ່ວຍໃຫ້ຜູ້ພັດທະນາທີ່ມີການຜະລິດຂອງ C ທີ່ເຫມາະສົມ
#ສາຍ ຄຳແນະນຳ. ນີ້ອະນຸຍາດໃຫ້ຜູ້ສ້າງລະຫັດລະດັບສູງສ້າງແລະໃສ່
ຄໍາແນະນໍາຂອງຕົນເອງ, ໃຫ້ແນ່ໃຈວ່າການລວບລວມຄວາມຜິດພາດໃນລະຫັດຂອງພວກເຂົາຖືກຕ້ອງ
ສະເພາະ.
ເບິ່ງພາກ Advanced: ສະຖານທີ່ ການຈັດການ ສໍາລັບລາຍລະອຽດຂອງຄໍາສັ່ງທີ່ສະຫນອງໃຫ້.
ຊຸດໃໝ່ critcl::iassoc ແລະ critcl::ຫ້ອງຮຽນ (ເບິ່ງຂ້າງເທິງ) ແມ່ນຜູ້ໃຊ້ເຫຼົ່ານີ້
ສິ່ງ ອຳ ນວຍຄວາມສະດວກ.
[8] ຂະຫຍາຍ API ດ້ວຍຄໍາສັ່ງໃຫ້ຜູ້ໃຊ້ສາມາດກໍານົດການໂຕ້ຖຽງທີ່ກໍາຫນົດເອງ
ແລະປະເພດຜົນໄດ້ຮັບສໍາລັບ ::critcl::cproc.
ເບິ່ງພາກ Advanced: ການຂະຫຍາຍ cprc ສໍາລັບລາຍລະອຽດຂອງຄໍາສັ່ງທີ່ສະຫນອງໃຫ້.
ການປ່ຽນແປງ FOR ເວີຊັ່ນ 3.1.1
[1] ແກ້ໄຂ Bug ທັງຫມົດປະມານ. ໃນລາຍລະອຽດ:
[2] ການແກ້ໄຂການຜະລິດຂອງຜິດພາດ #args ຜິດພາດສໍາລັບການ critcl::cproc ແລະລະຫັດທີ່ມາຈາກ
(critcl::ຫ້ອງຮຽນ ວິທີການອີງໃສ່ cprc). ໃຊ້ NULL ຖ້າບໍ່ມີການໂຕ້ຖຽງ, ແລະເອົາ
ການຊົດເຊີຍເຂົ້າໃນບັນຊີ.
[3] ການແກ້ໄຂການຈັດການຂອງຊື່ຊຸດໂດຍ critcl::ຫ້ອງຮຽນ. ລືມວ່າພວກມັນອາດຈະບັນຈຸ
ຕົວແຍກ namespace. ຕຳກັບເວີຊັນ 1.0.1.
[4] ຂະຫຍາຍ a critcl::ຫ້ອງຮຽນ ຂໍ້ຄວາມຜິດພາດທີ່ສ້າງຂຶ້ນໃນການສ້າງຕົວຢ່າງເພື່ອຄວາມຊັດເຈນ.
ຕຳກັບເວີຊັນ 1.0.2.
ການປ່ຽນແປງ FOR ເວີຊັ່ນ 3.1.2
[1] ການປັບປຸງ. ໃນລາຍລະອຽດ:
[2] ຂະຫຍາຍ critcl::cproc ເພື່ອໃຫ້ສາມາດຈັດການກັບການໂຕ້ຖຽງທາງເລືອກ, ໃນທາງທີ່ຈໍາກັດ.
ນີ້ແມ່ນອັດຕະໂນມັດທີ່ມີຢູ່ critcl::ຫ້ອງຮຽນ ວິທີການອີງໃສ່ cprc ເຊັ່ນດຽວກັນ.
[3] ແກ້ໄຂ Bug ໃນ ມອບໝາຍ emulation ສໍາລັບ Tcl 8.4. ກໍານົດຕົວແປທີ່ບໍ່ໄດ້ໃຊ້ຢ່າງຖືກຕ້ອງໃສ່ກັບ
ສະຕຣິງຫວ່າງເປົ່າ. ສະບັບທີ່ແຕກຂອງຊຸດການຈຳລອງ ມອບໝາຍ84 to 1.0.1
ການປ່ຽນແປງ FOR ເວີຊັ່ນ 3.1.3
[1] ການປັບປຸງ. ໃນລາຍລະອຽດ:
[2] ເພີ່ມການໂຕ້ຖຽງໃຫມ່ປະເພດ "pstring", ສໍາລັບ "Pascal String", ຊ່ອຍແນ່ທີ່ນັບໄດ້, ເຊັ່ນ: a
ການປະສົມປະສານຂອງຕົວຊີ້ສະຕຣິງ ແລະຄວາມຍາວຂອງສະຕຣິງ.
[3] ເພີ່ມວິທີການໃຫມ່ critcl::argtypesupport ແລະ ::critcl::argsupport ເພື່ອກໍານົດແລະນໍາໃຊ້
ລະຫັດສະຫນັບສະຫນູນເພີ່ມເຕີມສໍາລັບປະເພດການໂຕ້ຖຽງ, ທີ່ນີ້ໃຊ້ໂດຍ "pstring" ຂ້າງເທິງ
ກໍານົດໂຄງສ້າງທີ່ຈໍາເປັນ.
[4] ການແກ້ໄຂເຄິ່ງ bug ໃນການຫຸ້ມຫໍ່ critcl::ຫ້ອງຮຽນ ແລະ critcl::iassoc. Pragmas ສໍາລັບ AS
ເຄື່ອງສະແກນຂໍ້ມູນ meta ເພື່ອຮັບປະກັນວ່າໄຟລ໌ແມ່ແບບແມ່ນເປັນສ່ວນຫນຶ່ງຂອງຊຸດ.
ຮຸ່ນທີ່ຖືກກະທົບເປັນ 1.0.4 ແລະ 1.0.1 ຕາມລໍາດັບ.
ການປ່ຽນແປງ FOR ເວີຊັ່ນ 3.1.4
[1] Bugfix ໃນຊຸດ critcl::ຫ້ອງຮຽນ. ສ້າງພາກສະຫນາມ dummy ໃນໂຄງສ້າງຫ້ອງຮຽນ if
ຫ້ອງຮຽນບໍ່ມີຕົວແປຂອງຊັ້ນຮຽນ. ຖ້າບໍ່ມີການປ່ຽນແປງນີ້ໂຄງສ້າງຈະຫວ່າງເປົ່າ,
ແລະຈໍານວນຂອງ compilers ແມ່ນບໍ່ສາມາດຈັດການກັບປະເພດດັ່ງກ່າວ.
[2] ແກ້ໄຂການພິມຜິດພາດທີ່ທໍາລາຍການຕັ້ງຄ່າ win64.
[3] ບັນຫາ #16, typo ໃນເອກະສານຂອງຄໍາສັ່ງໄດ້ critcl::ຫ້ອງຮຽນ.
ການປ່ຽນແປງ FOR ເວີຊັ່ນ 3.1.5
[1] ບັນຫາ #19. ເຮັດໃຫ້ການສະແດງອອກປົກກະຕິສະກັດຕົວເລກສະບັບ MSVC
ໂດຍທົ່ວໄປເພື່ອເຮັດໃຫ້ມັນເຮັດວຽກຢູ່ໃນລະບົບພາສາເຢຍລະມັນ. ນີ້ອາດຈະຕ້ອງເປັນ
ທົບທວນຄືນໃນອະນາຄົດ, ສໍາລັບ Windows ທ້ອງຖິ່ນອື່ນໆ.
[2] ບັນຫາ #20. ເຮັດໃຫ້ທາງເລືອກ -tea ເຮັດວຽກຢູ່ໃນປ່ອງຢ້ຽມ, ຢ່າງຫນ້ອຍໃນ unix emulation
ສະພາບແວດລ້ອມເຊັ່ນ: msys/mingw.
ການປ່ຽນແປງ FOR ເວີຊັ່ນ 3.1.6
[1] ບັນຫາ #21. ໃນຂະນະທີ່ຫຼາຍຄໍານິຍາມຂອງຕົວແປຕົວຊີ້ຕາຕະລາງ stub ແມ່ນ
ດີກັບຕົວເຊື່ອມຕໍ່ C ທັງໝົດທີ່ເຫັນມາເຖິງຕອນນັ້ນ ຕົວເຊື່ອມຕໍ່ C ++ ບໍ່ມັກອັນນີ້ເລີຍ.
ເຮັດລະຫັດຄືນໃໝ່ເພື່ອຮັບປະກັນວ່າຊຸດຕົວແປນີ້ຖືກສ້າງຂື້ນມາພຽງຄັ້ງດຽວ, ໃນ
wrapper ປະມານຕ່ອນທັງຫມົດເພື່ອປະກອບ.
[2] ບັນຫາທີ່ແກ້ໄຂ #22, ການຈັດການຂອງການໂຕ້ຖຽງຕົວລະບຸຄໍາສັ່ງຂອງ
critcl::ຄໍາສັ່ງ, critcl::cproc, ແລະ critcl::cdata. ໃນປັດຈຸບັນພວກເຮົາອະນຸຍາດໃຫ້ Tcl ຢ່າງຖືກຕ້ອງ
ຕົວລະບຸຕົວຕົນແລະສ້າງຕົວລະບຸ C ພາຍໃນທີ່ເຫມາະສົມຈາກພວກມັນ.
ເປັນສ່ວນຫນຶ່ງຂອງການລົງລາຍເຊັນຂອງຄໍາສັ່ງນີ້ critcl::name2c ປ່ຽນແປງ. ຄໍາສັ່ງໃນປັດຈຸບັນ
ສົ່ງບັນຊີລາຍຊື່ຂອງສີ່ຄ່າແທນທີ່ຈະເປັນສາມ. ມູນຄ່າໃຫມ່ໄດ້ຖືກເພີ່ມຢູ່ທີ່
ສິ້ນສຸດ.
ປັບປຸງການປະຕິບັດຊຸດ critcl::ຫ້ອງຮຽນ, ຜູ້ໃຊ້ຂອງ
critcl::name2c. ແພັກເກດນີ້ຢູ່ໃນເວີຊັນ 1.0.6 ແລະຕ້ອງການ critcl 3.1.6
ສຸດທ້າຍໄດ້ແກ້ໄຂທາງເລືອກທີ່ຜິດພາດໃນການຈັດການ -cname in critcl::ຄໍາສັ່ງ, ແລະ
critcl::cproc.
[3] ບັນຫາ #23.
ການປ່ຽນແປງ FOR ເວີຊັ່ນ 3.1.7
[1] ບັນຫາ #24. ສະກັດແລະສະແດງຄໍາເຕືອນ compiler ທີ່ບໍ່ມີເງື່ອນໄຂທີ່ພົບເຫັນຢູ່ໃນ
ບັນທຶກການສ້າງ. ປ້ອງກັນຜູ້ໃຊ້ຈາກຄໍາເຕືອນທີ່ຂາດຫາຍໄປ, ໃນຂະນະທີ່ບໍ່ເຮັດໃຫ້ເກີດການກໍ່ສ້າງ
ລົ້ມເຫລວ, ອາດຈະຊີ້ໃຫ້ເຫັນເຖິງບັນຫາ.
[2] ຄຸນນະສົມບັດໃຫມ່. ສຽງອອກ. ຜົນໄດ້ຮັບຂອງຜູ້ໃຊ້ທີ່ບໍ່ແມ່ນຂໍ້ຄວາມທັງຫມົດແມ່ນໄດ້ຖືກສົ່ງຜ່ານ
ຄໍາສັ່ງ critcl::ພິມ, ແລະຜູ້ໃຊ້ໄດ້ຖືກອະນຸຍາດໃຫ້ override ມັນໃນເວລາທີ່ໃຊ້ critcl
application-as-package.
[3] ຄຸນນະສົມບັດໃຫມ່, ໂດຍ Ashok P. Nadkarni. ການຕັ້ງຄ່າເວທີສາມາດສືບທອດມູນຄ່າຈາກ
ການຕັ້ງຄ່າທີ່ກໍານົດໄວ້ກ່ອນພວກເຂົາ.
ການປ່ຽນແປງ FOR ເວີຊັ່ນ 3.1.8
[1] ແກ້ໄຂບັນຫາກັບດັດຊະນີຊຸດທີ່ສ້າງຂຶ້ນສໍາລັບ Tcl 8.4. ເຂົ້າຮ່ວມບັນຊີລາຍຊື່ຂອງຄໍາສັ່ງ
ມີເຄິ່ງຈໍ້າສອງເມັດ, ບໍ່ແມ່ນເສັ້ນໃຫມ່.
[2] ບັນຫາການແກ້ໄຂ #26 ທີ່ນໍາເອົາເຖິງກໍລະນີນໍາໃຊ້ຂ້າພະເຈົ້າໄດ້ລືມທີ່ຈະພິຈາລະນາໃນຂະນະທີ່ການແກ້ໄຂ
ບັກ #21 (ເບິ່ງ critcl 3.1.6).
ການປ່ຽນແປງ FOR ເວີຊັ່ນ 3.1.9
[1] ບັນຫາ #27. ເພີ່ມຄໍານິຍາມເວທີທີ່ຂາດຫາຍໄປສໍາລັບ linux ທາງເລືອກຕ່າງໆແລະ
OS X ເປົ້າໝາຍ.
[2] ບັນຫາ #28. ເພີ່ມທຸງ -mXX ທີ່ຂາດຫາຍໄປສໍາລັບການເຊື່ອມຕໍ່ຢູ່ linux-{32,64}-*
ເປົ້າ ໝາຍ.
[3] ບັນຫາ #29. ທົດແທນການນໍາໃຊ້ຂໍ້ມູນ "ຫົວ" ດິບໃນການປຸງແຕ່ງ
ຂອງ "cdefines" ກັບທີ່ເຫມາະສົມປະກອບມີຄໍາແນະນໍາທີ່ໄດ້ມາຈາກມັນ.
[4] ແກ້ໄຂບັນຫາທີ່ຢູ່ເບື້ອງຫລັງການຮ້ອງຂໍດຶງປະຕິເສດ #30 ໂດຍ Andrew Shadura. ແບບເຄື່ອນໄຫວ
ສະກັດການປະກາດຕົວແປຂອງ stubs ຈາກໄຟລ໌ Tcl header ແລະສ້າງ
ການຈັບຄູ່ຄໍານິຍາມຕົວແປສໍາລັບການນໍາໃຊ້ໃນລະຫັດຊຸດ. ລະຫັດທີ່ສ້າງຂຶ້ນຈະ
ໃນປັດຈຸບັນໃຫ້ສອດຄ່ອງກັບ headers ສະເຫມີ, ເຖິງແມ່ນວ່າໃນເວລາທີ່ສໍາເນົາຂອງຕົນເອງຂອງ critcl ແມ່ນ
ແທນທີ່ດ້ວຍສ່ວນຫົວຂອງລະບົບ.
[5] ບັນຫາ #31. patch ຍອມຮັບໂດຍ Andrew Shadura, ມີການປ່ຽນແປງ (ຄໍາເຫັນ), ສໍາລັບ
ການເຊື່ອມໂຍງ critcl ງ່າຍຂຶ້ນກັບລະບົບຊຸດ OS, ທົດແທນການສໍາເນົາຂອງ critcl
ສ່ວນຫົວ Tcl ດ້ວຍຕົວຂອງມັນເອງ.
[6] ບັນຫາ #32. ການຮ້ອງຂໍດຶງປະສົມປະສານໂດຍ Andrew Shadura. ພິມຜິດຕ່າງໆໃນ
ເອກະສານ ແລະຄຳເຫັນ.
[7] ບັນຫາ #33. ຈັດການໄຟລ໌ເລີ່ມຕົ້ນດ້ວຍຈຸດທີ່ດີກວ່າ.
AUTHORS
Jean Claude Wippler, Steve Landers, Andreas Kupries
ໃຊ້ critcl ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net