ภาษาอังกฤษภาษาฝรั่งเศสสเปน

Ad


ไอคอน Fav ของ OnWorks

critcl - ออนไลน์ในคลาวด์

เรียกใช้ critcl ในผู้ให้บริการโฮสต์ฟรีของ OnWorks ผ่าน Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

นี่คือคำสั่ง critcl ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS

โครงการ:

ชื่อ


critcl - แอปพลิเคชัน CriTcl

เรื่องย่อ


วิจารณ์ ?ตัวเลือก- -ไฟล์... ?

_________________________________________________________________

DESCRIPTION


ยินดีต้อนรับสู่ C Runtime In Tcl, คริติคอล เรียกสั้นๆ ว่าระบบสำหรับสร้างแพ็คเกจส่วนขยาย C
สำหรับ Tcl ได้ทันที จากโค้ด C ที่ฝังอยู่ภายในสคริปต์ Tcl สำหรับทุกคนที่ต้องการสร้าง
รหัสของพวกเขาไปเร็วขึ้น

เอกสารนี้เป็นคู่มืออ้างอิงสำหรับ วิจารณ์ สั่งการ. กลุ่มเป้าหมายคือ
คนที่ต้องสร้างแพ็คเกจโดยใช้ วิจารณ์ สำหรับการปรับใช้ ผู้เขียนแพ็คเกจด้วย
รหัส C แบบฝังสามารถละเว้นเอกสารนี้ได้ หากคุณต้องการภาพรวมของทั้งหมด
ระบบแทน โปรดเข้าไปอ่าน บทนำ ไปยัง คริติคอล.

แอปพลิเคชันนี้อยู่ใน Application Layer ของ CriTcl

-
|แอพพลิเคชั่น |
| วิจารณ์ |
| critcl::แอป |
-

++----------------
|แพ็คเกจหลัก |
| วิจารณ์ |
- critcl::util |
++----------------

++----------------
|แพ็คเกจสนับสนุน|
| ต้นขั้ว::* |
| md5 แพลตฟอร์ม |
| ...|
++----------------

แอปพลิเคชันรองรับบรรทัดคำสั่งทั่วไปต่อไปนี้:

วิจารณ์ ?ตัวเลือก- -ไฟล์... ?
มีรายละเอียดชุดตัวเลือกที่แน่นอน ความหมาย และการโต้ตอบใน
ส่วน การใช้งาน Options ด้านล่าง. สำหรับชุดตัวอย่างที่ใหญ่ขึ้น โปรดดูหัวข้อ
"การสร้าง Critcl Packages" ในเอกสารเกี่ยวกับ การใช้ คริติคอล.

ใบสมัคร OPTIONS


เข้าใจตัวเลือกต่อไปนี้

-v

--รุ่น
ตัวเลือกเหล่านี้ทำให้ critcl พิมพ์เวอร์ชันเป็น แย่ แล้วออก

-I เส้นทาง
อ็อพชันนี้ระบุพาธรวมโกลบอลเพิ่มเติมเพื่อใช้ในระหว่างการคอมไพล์
ของ ".critcl" ไฟล์ ค่าทั้งหมดจะถูกใช้หากมีการระบุหลายครั้ง

ตัวเลือกนี้ไม่เกี่ยวข้องเมื่อสร้างแพ็คเกจ TEA (ดูตัวเลือก -ชา ด้านล่าง)

-L เส้นทาง
ตัวเลือกนี้ระบุเส้นทางการค้นหาไลบรารีส่วนกลางเพิ่มเติมเพื่อใช้ในระหว่างการลิงก์
ของ ".critcl" ไฟล์ ค่าทั้งหมดจะถูกใช้หากมีการระบุหลายครั้ง

ตัวเลือกนี้ไม่เกี่ยวข้องเมื่อสร้างแพ็คเกจ TEA (ดูตัวเลือก -ชา ด้านล่าง)

-แคช เส้นทาง
อ็อพชันนี้ระบุพาธไปยังไดเร็กทอรีเพื่อใช้เป็นแคชผลลัพธ์ ถ้าไม่
ระบุค่าเริ่มต้นเป็น "~/.critcl/" หรือเมื่อสร้างแพ็คเกจ (ดู
ตัวเลือก -แพ็ค ด้านล่าง) ถึง "~/.critcl/.", เมื่อระบุหลายครั้ง
ใช้ค่าสุดท้าย

ตัวเลือกนี้ไม่เกี่ยวข้องเมื่อสร้างแพ็คเกจ TEA (ดูตัวเลือก -ชา ด้านล่าง)

-Clean เมื่อระบุแคชผลลัพธ์จะว่างเปล่า กล่าวคือ พบไฟล์และไดเร็กทอรีทั้งหมด
ภายในจะถูกลบ) ก่อนที่การรวบรวมจะเริ่มขึ้น

ตัวเลือกนี้ไม่เกี่ยวข้องเมื่อสร้างแพ็คเกจ (ดูตัวเลือก -แพ็ค ด้านล่าง) เพราะ
โหมดนี้เริ่มต้นด้วยแคชผลลัพธ์ที่ไม่ซ้ำกันและว่างเปล่า

ตัวเลือกนี้ไม่เกี่ยวข้องเมื่อสร้างแพ็คเกจ TEA (ดูตัวเลือก -ชา ด้านล่าง)

- กำหนดค่า เส้นทาง
ตัวเลือกนี้ระบุพาธไปยังไฟล์การกำหนดค่าแบบกำหนดเอง อนุญาตให้ผู้ใช้
ใช้ข้อกำหนดเป้าหมายของตนเอง หากไม่ได้ระบุค่าเริ่มต้นแบบเดินสาย
ใช้การกำหนดค่าที่ฝังอยู่ในแกนระบบแทน เมื่อระบุหลายรายการ
คูณด้วยค่าสุดท้ายที่ใช้

ตัวเลือกนี้ไม่เกี่ยวข้องเมื่อสร้างแพ็คเกจ TEA (ดูตัวเลือก -ชา ด้านล่าง)

-debug โหมด
ตัวเลือกนี้เปิดใช้งานการคอมไพล์ด้วยการดีบัก ยอมรับโหมดด้านล่าง เมื่อไหร่
ระบุหลายครั้งโดยใช้การรวมกันของโหมดทั้งหมด

ตัวเลือกนี้ไม่เกี่ยวข้องเมื่อสร้างแพ็คเกจ TEA (ดูตัวเลือก -ชา ด้านล่าง)

หน่วยความจำ โหมดนี้เปิดใช้งานการดีบักหน่วยความจำของการจัดสรรที่ทำผ่านTcl
แกน

สัญลักษณ์
โหมดนี้เปิดใช้งานการสร้างทั้งหมด ".c" ไฟล์ที่มีสัญลักษณ์การดีบัก

ทั้งหมด โหมดนี้เปิดใช้งานทั้งคู่ หน่วยความจำ และ สัญลักษณ์.

-ปิดการใช้งาน ชื่อ
ตัวเลือกนี้ตั้งค่าของตัวเลือกการกำหนดค่าการสร้างแบบกำหนดเอง ชื่อ ไปยัง เท็จ.
มันเทียบเท่ากับ "-กับ-ชื่อ 0"

ข้อมูลจะถูกตรวจสอบเฉพาะในกรณีที่หนึ่งใน ".critcl" ไฟล์อินพุตจริงๆ
กำหนดและใช้ตัวเลือกการกำหนดค่าบิลด์แบบกำหนดเองด้วยนั้น ชื่อ.

ตัวเลือกนี้ไม่เกี่ยวข้องเมื่อสร้างแพ็คเกจ TEA (ดูตัวเลือก -ชา ด้านล่าง)

-เปิดใช้งาน ชื่อ
ตัวเลือกนี้ตั้งค่าของตัวเลือกการกำหนดค่าการสร้างแบบกำหนดเอง ชื่อ ไปยัง จริง.
มันเทียบเท่ากับ "-กับ-ชื่อ 1"

ข้อมูลจะถูกตรวจสอบเฉพาะในกรณีที่หนึ่งใน ".critcl" ไฟล์อินพุตจริงๆ
กำหนดและใช้ตัวเลือกการกำหนดค่าบิลด์แบบกำหนดเองด้วยนั้น ชื่อ.

ตัวเลือกนี้ไม่เกี่ยวข้องเมื่อสร้างแพ็คเกจ TEA (ดูตัวเลือก -ชา ด้านล่าง)

-บังคับ เมื่อการคอมไพล์ที่ระบุเสร็จสิ้นเสมอ แม้ว่าไลบรารีที่แบ่งใช้สำหรับไฟล์นั้น
มีอยู่แล้ว เอฟเฟกต์นี้สามารถเกิดขึ้นได้ผ่านการล้างแคช (ดูด้านบน) เป็น
ดีเว้นแต่จะขี้เกียจในการทำลายไฟล์และจะไม่ทำลายไฟล์
ไม่เกี่ยวข้องกับสิ่งที่เรากำลังสร้าง

ตัวเลือกนี้ไม่เกี่ยวข้องเมื่อสร้างแพ็คเกจ (ดูตัวเลือก -แพ็ค ด้านล่าง) เพราะ
โหมดนี้เริ่มต้นด้วยแคชผลลัพธ์ที่ไม่ซ้ำกันและว่างเปล่า

ตัวเลือกนี้ไม่เกี่ยวข้องเมื่อสร้างแพ็คเกจ TEA (ดูตัวเลือก -ชา ด้านล่าง)

-ช่วยด้วย ตัวเลือกนี้จะทำให้ระบบพิมพ์ความช่วยเหลือสั้น ๆ เกี่ยวกับไวยากรณ์บรรทัดคำสั่ง
และตัวเลือกต่างๆ แล้วออกจากแอปพลิเคชัน

-เก็บไว้ ตัวเลือกนี้จะทำให้ระบบคง ".c" ไฟล์ที่สร้างโดยการรันใน
แคชผลลัพธ์ เมื่อสร้างแพ็คเกจ (ดูตัวเลือก -แพ็ค ด้านล่าง) สิ่งนี้ยังป้องกัน
การลบแคชผลลัพธ์เฉพาะที่ใช้โดยการรัน ตัวเลือกนี้มีไว้สำหรับ
สำหรับการดีบักของ วิจารณ์ เอง โดยอาจจำเป็นต้องตรวจสอบ
สร้างรหัส C

ตัวเลือกนี้ไม่เกี่ยวข้องเมื่อสร้างแพ็คเกจ TEA (ดูตัวเลือก -ชา ด้านล่าง)

-libdir เส้นทาง
ตัวเลือกนี้ระบุเส้นทางภายใต้แพ็คเกจที่สร้างผ่าน option -แพ็ค
จะถูกบันทึกไว้ นอกจากนี้ยังระบุเส้นทางเพื่อค้นหาไลบรารีเช่น for -L. เมื่อ
ระบุหลายครั้งโดยใช้ค่าสุดท้าย เมื่อไม่ได้ระบุไว้เลย
ค่าเริ่มต้น, "lib" ใช้ สังเกตว่านี่คือเส้นทางสัมพัทธ์โดยวางผลลัพธ์ลงใน
ไดเร็กทอรีการทำงานปัจจุบัน

- รวม เส้นทาง
ตัวเลือกนี้ระบุพาธภายใต้การบันทึกส่วนหัวของแพ็คเกจที่สร้างขึ้น
นอกจากนี้ยังระบุพาธในการค้นหารวมถึงไฟล์ต่างๆ เช่น for -I. เมื่อกำหนด
หลายครั้งที่ค่าสุดท้ายถูกใช้เป็นปลายทาง อย่างไรก็ตาม ค่าก่อนหน้าทั้งหมด
จะถูกเก็บไว้ในเส้นทางการค้นหารวม เมื่อไม่ได้ระบุค่าเริ่มต้นเลย
"ประกอบด้วย" ใช้ สังเกตว่านี่คือเส้นทางสัมพัทธ์โดยวางผลลัพธ์ลงใน
ไดเร็กทอรีการทำงานปัจจุบัน

ตัวเลือกนี้ไม่เกี่ยวข้องเมื่อสร้างแพ็คเกจ TEA (ดูตัวเลือก -ชา ด้านล่าง)

-แพ็ค โหมดเริ่มต้นของแอปพลิเคชันคือการสร้าง ".critcl" ไฟล์ที่ระบุไว้ใน
บรรทัดคำสั่งและบันทึกผลลัพธ์ในแคชผลลัพธ์ โดยพื้นฐานแล้วการเติม
แคชกับแพ็คเกจที่สำคัญ ลดเวลาที่ต้องใช้เหล่านี้
แพคเกจ

ตัวเลือกนี้เปิดใช้งานหนึ่งในโหมดอื่น การสร้างแพ็คเกจ ในโหมดนี้
ไฟล์อินพุตจะถูกประมวลผลก่อนตามปกติ แต่หลังจากนั้นจะถูกรวมเป็น
ไลบรารีเดียวและไฟล์เพิ่มเติมจะถูกสร้างขึ้นเพื่อให้ไลบรารีนี้ใช้งานได้เหมือน
แพ็คเกจ Tcl ปกติ

ทางเลือก -ชาดูด้านล่าง เรียกใช้โหมดสุดท้าย การสร้าง TEA ถ้าทั้งสองทางเลือก
เช่น -แพ็ค และ -ชา ระบุผู้ชนะที่ระบุล่าสุด

ในโหมดนี้ ตัวเลือก -Clean และ -บังคับ ไม่เกี่ยวข้องและถูกละเลย ในทางตรงกันข้าม,
ทางเลือก -libdir มีความเกี่ยวข้องทั้งในเรื่องนี้และ -ชา โหมด.

เมื่อระบุตัวเลือกนี้ชื่อฐานของอาร์กิวเมนต์ไฟล์แรกหลัง
ตัวเลือกถูกใช้เป็นชื่อของแพ็คเกจเพื่อสร้าง ถ้าจะขยายความนั้น
ไฟล์ระบุไลบรารีที่ใช้ร่วมกัน (".ดังนั้น"".sl"".dylib"และ"dll.") มันยัง
ลบออกจากชุดของไฟล์อินพุต เอ ".tcl" ไฟล์ถูกเก็บไว้เป็นส่วนหนึ่งของอินพุต A
ไฟล์เดียวที่ไม่มีนามสกุลจะถือว่ามี ".tcl" ส่วนขยาย A
ไฟล์ที่ไม่มีนามสกุล แต่ไฟล์อินพุตอื่น ๆ ที่ตามมาจะถือว่าเหมือนกับชื่อ
ไลบรารีที่ใช้ร่วมกันที่เหมาะสม และลบออกจากชุดของไฟล์อินพุต

ตัวอย่าง:
=> ชื่อแพ็คเกจคือ: foo
=> ไฟล์อินพุตคือ: foo.tcl
=> ชื่อแพ็คเกจคือ: foo
=> ไฟล์อินพุตคือ: bar.tcl
=> ชื่อแพ็คเกจคือ: foo
=> ไฟล์อินพุตคือ: foo.tcl
=> ชื่อแพ็คเกจคือ: foo
=> ไฟล์อินพุตคือ: bar.tcl

-แสดง เมื่อระบุตัวเลือกนี้จะทำให้ระบบพิมพ์การกำหนดค่าของ
เป้าหมายที่เลือกไป แย่ แล้วออก สามารถเลือกเป้าหมายได้
ผ่านตัวเลือก - เป้าหมาย (ดูด้านล่าง)

-แสดงทั้งหมด
ตัวเลือกนี้เมื่อระบุจะทำให้ระบบพิมพ์ทั้งหมดที่เลือก
ไฟล์กำหนดค่าเป็น แย่ แล้วออก ทางเลือกของไฟล์การกำหนดค่าสามารถ
ได้รับอิทธิพลผ่านตัวเลือก - กำหนดค่า (ดูด้านบน).

- เป้าหมาย ชื่อ
ตัวเลือกนี้จะแทนที่ตัวเลือกเริ่มต้นของเป้าหมายการสร้างด้วยตัวเลือกของผู้ใช้
เมื่อระบุหลายครั้ง ค่าสุดท้ายจะถูกใช้ เป้าหมายที่มีชื่อต้องมีอยู่จริง
ในไฟล์การกำหนดค่าที่เลือก ใช้ตัวเลือก -เป้าหมาย (ดูด้านล่าง) เพื่อรับรายการ
เป้าหมายที่ยอมรับได้ สามารถเลือกไฟล์การกำหนดค่าได้ผ่าน
ทางเลือก - กำหนดค่า (ดูด้านบน).

ตัวเลือกนี้ไม่เกี่ยวข้องเมื่อสร้างแพ็คเกจ TEA (ดูตัวเลือก -ชา ด้านล่าง)

-เป้าหมาย
ตัวเลือกนี้เมื่อระบุจะทำให้ระบบพิมพ์รายการของที่รู้จักทั้งหมด
เป้าหมายจากไฟล์การกำหนดค่าที่เลือกถึง แย่ แล้วออก ทางเลือกของ
ไฟล์การกำหนดค่าสามารถได้รับอิทธิพลผ่านตัวเลือก - กำหนดค่า (ดูด้านบน).

-ชา คล้ายกับตัวเลือก -แพ็คยกเว้นว่าโหมดที่เรียกใช้จะไม่สร้างไบนารี
แต่ลำดับชั้นไดเร็กทอรีที่มี ".critcl" ไฟล์ ไฟล์ประกอบ และ a
ระบบบิลด์ที่คล้ายกับ TEA พร้อมรหัสสนับสนุนที่จำเป็นส่วนใหญ่ (รวมถึงสำเนา
ของแพ็คเกจ critcl)

ถ้าทั้งสองตัวเลือก เช่น -แพ็ค และ -ชา ระบุผู้ชนะที่ระบุล่าสุด

ในโหมดนี้ ตัวเลือก -I, -L, -Clean, -บังคับ, -แคช, - รวม, -เปิดใช้งาน,
-ปิดการใช้งานและ -กับ-FOO ไม่เกี่ยวข้องและละเลย ในทางตรงกันข้าม ตัวเลือก -libdir
มีความเกี่ยวข้องทั้งในเรื่องนี้และ -แพ็ค โหมด.

เมื่อระบุตัวเลือกนี้ชื่อฐานของอาร์กิวเมนต์ไฟล์แรกหลัง
ตัวเลือกถูกใช้เป็นชื่อของแพ็คเกจเพื่อสร้าง ถ้าจะขยายความนั้น
ไฟล์ระบุไลบรารีที่ใช้ร่วมกัน (".ดังนั้น"".sl"".dylib"และ"dll.") มันยัง
ลบออกจากชุดของไฟล์อินพุต เอ ".tcl" ไฟล์ถูกเก็บไว้เป็นส่วนหนึ่งของอินพุต A
ไฟล์เดียวที่ไม่มีนามสกุลจะถือว่ามี ".tcl" ส่วนขยาย A
ไฟล์ที่ไม่มีนามสกุล แต่ไฟล์อินพุตอื่น ๆ ที่ตามมาจะถือว่าเหมือนกับชื่อ
ไลบรารีที่ใช้ร่วมกันที่เหมาะสม และลบออกจากชุดของไฟล์อินพุต

ตัวอย่าง:
=> ชื่อแพ็คเกจคือ: foo
=> ไฟล์อินพุตคือ: foo.tcl
=> ชื่อแพ็คเกจคือ: foo
=> ไฟล์อินพุตคือ: bar.tcl
=> ชื่อแพ็คเกจคือ: foo
=> ไฟล์อินพุตคือ: foo.tcl
=> ชื่อแพ็คเกจคือ: foo
=> ไฟล์อินพุตคือ: bar.tcl

-มีชื่อ ความคุ้มค่า
ตัวเลือกนี้ตั้งค่าของตัวเลือกการกำหนดค่าการสร้างแบบกำหนดเอง ชื่อ ไปยัง ความคุ้มค่า.

ข้อมูลจะถูกตรวจสอบเฉพาะในกรณีที่หนึ่งใน ".critcl" ไฟล์อินพุตจริงๆ
กำหนดและใช้ตัวเลือกการกำหนดค่าบิลด์แบบกำหนดเองด้วยนั้น ชื่อ.

ตัวเลือกนี้ไม่เกี่ยวข้องเมื่อสร้างแพ็คเกจ TEA (ดูตัวเลือก -ชา ข้างบน).

แพคเกจ โครงสร้าง


แพ็คเกจที่สร้างโดย critcl มีโครงสร้างพื้นฐานดังต่อไปนี้:

+- pkgIndex.tcl
+-critcl-rt.tcl
+- license.terms (ไม่บังคับ)
|
+- tcl (ไม่บังคับ)
| +-
|
+-
+-

หมายเหตุ / รายละเอียดเพิ่มเติม

[1] ไฟล์ "pkgIndex.tcl" เป็นไฟล์ดัชนีแพ็คเกจมาตรฐานที่ Tcl's . คาดไว้
การจัดการแพ็คเกจ มีที่มาระหว่างการค้นหาแพ็คเกจและประกาศ
แพ็คเกจไปยัง Tcl พร้อมไฟล์ต่างๆ และวิธีจัดการ

[2] ไฟล์ "critcl-rt.tcl" เป็นไฟล์ตัวช่วยที่มีรหัสทั่วไปที่ใช้โดย
"pkgIndex.tcl" เพื่อดำเนินการตามหน้าที่

[3] ไฟล์ "ใบอนุญาต.เงื่อนไข" เป็นทางเลือกและจะปรากฏก็ต่อเมื่อปุ่ม ".critcl" ยื่น
แพ็คเกจถูกสร้างขึ้นจากคำสั่งที่ใช้ critcl::ใบอนุญาต ประกาศแพ็คเกจ
ผู้เขียนและใบอนุญาต

[4] ไฟล์ทั้งหมดที่ประกาศด้วยคำสั่ง critcl::tsource ถูกใส่ลงในไดเร็กทอรีย่อย
"TCL".

[5] ไลบรารีที่ใช้ร่วมกันที่สร้างโดย critcl ถูกใส่ลงใน sub- เฉพาะแพลตฟอร์ม
ไดเรกทอรี

โครงสร้างทั้งหมด โดยเฉพาะจุดสุดท้าย ทำให้เราสามารถรวมผลลัพธ์ได้ในภายหลัง
(สำหรับแพ็คเกจและเวอร์ชันเดียวกัน) สำหรับแพลตฟอร์มเป้าหมายหลายรายการในไดเร็กทอรีเดียว
โครงสร้างที่ไม่มีความขัดแย้ง โดยเพียงแค่คัดลอกไดเร็กทอรีด้านบนทับกัน ดิ
เฉพาะไฟล์ที่ขัดแย้งกันอยู่ใน และ "TCL" ไดเรกทอรีและสำหรับสิ่งเหล่านี้เรา
รู้ว่าแต่ละเป้าหมายเหมือนกันหมด ผลของการรวมดังกล่าวจะมีลักษณะดังนี้:

+- pkgIndex.tcl
+-critcl-rt.tcl
+- license.terms (ไม่บังคับ)
|
+- tcl (ไม่บังคับ)
| +-
|
+-
| +-
+-
| +-
+-
+-

การเปลี่ยนแปลง สำหรับ VERSION 2.1


[1] แก้ไขข้อบกพร่องโดยที่ critcl::tsource ตีความเส้นทางสัมพัทธ์ว่าสัมพันธ์กับ
ไดเร็กทอรีการทำงานปัจจุบันแทนที่จะสัมพันธ์กับ ".critcl" ไฟล์โดยใช้
คำสั่ง เช่นเดียวกับคำสั่งอื่นๆ ของประเภทนี้

[2] แก้ไข internals ป้องกันไม่ให้รวบรวมข้อมูลหลาย ๆ ".critcl" ไฟล์ถึง
รั่วไหลระหว่างกัน โดยเฉพาะอย่างยิ่ง คริติคอล::tk ไม่ใช่ตัวเลือกการกำหนดค่าส่วนกลาง
อีกต่อไป

[3] แก้ไขคำสั่ง critcl::ใบอนุญาต ให้เป็นโมฆะการทำงานในโหมด "คอมไพล์ & รัน"
แทนที่จะโยนข้อผิดพลาด

[4] แก้ไขการรบกวนของแอปพลิเคชัน critcl กับแคชผลลัพธ์ "คอมไพล์ & เรียกใช้"
in -แพ็ค โหมดโดยกำหนดให้ใช้แบบแยกส่วนทั้งหมด (และโดยปริยายชั่วขณะ)
ไดเรกทอรีสำหรับโหมดนั้น

[5] แก้ไขบั๊กที่เปลี่ยนเป็น ".critcl" ไฟล์ไม่ส่งผลให้มีการสร้างใหม่สำหรับโหมด
"รวบรวมและเรียกใช้". คำสั่ง API ที่เกี่ยวข้องทั้งหมดในขณะนี้ช่วยให้มั่นใจว่าการเปลี่ยนแปลง UUID

[6] แก้ไขข้อบกพร่องในการจัดการแบ็กเอนด์ของ critcl::debug โดยที่สหาย c-แหล่งที่มาของ
ก ".critclไฟล์ " ไม่ได้ถูกคอมไพล์ด้วยตัวเลือกการดีบัก แม้ว่า ".critcl"ไฟล์
เป็น

[7] แก้ไขข้อบกพร่องใน critcl::debug ที่ป้องกันการรู้จำของแบบวิธี "ทั้งหมด" เมื่อเป็น
ไม่ใช่อาร์กิวเมนต์แรกของคำสั่ง

[8] แก้ไขข้อบกพร่องใน "พรีโหลด.ค" ป้องกันการคอมไพล์บนแพลตฟอร์มที่ไม่ใช่ Windows

[9] แก้ไขข้อบกพร่องที่มีมายาวนานในการจัดการตัวระบุเนมสเปซในชื่อคำสั่ง
ข้อโต้แย้งของ critcl::cproc และ critcl::คำสั่ง. ขณะนี้สามารถระบุ a . ได้แล้ว
ชื่อคำสั่งที่มีคุณสมบัติครบถ้วนโดยไม่มีปัญหา

[10] ขยาย/ทำใหม่ critcl::tsource เพื่อเป็นแนวทางการประกาศ".tcl"
ไฟล์สหายแม้สำหรับโหมด "คอมไพล์ & รัน"

[11] ขยาย/ทำใหม่ critcl::tsource เพื่อให้สามารถใช้ ".critcl" ไฟล์เป็นของตัวเอง
ไฟล์สหาย Tcl

[12] ขยายเวลา critcl::กรอบงาน เพื่อตรวจสอบภายในสำหรับเป้าหมายการสร้าง OS X และเพิกเฉย
การประกาศถ้าไม่ใช่

[13] ขยายเวลา critcl::ล้มเหลว ที่จะเรียกได้มากกว่าหนึ่งครั้งใน ".critcl" ไฟล์
การเรียกครั้งแรกจะบังคับให้บิลด์ หากยังไม่ได้ดำเนินการ เพื่อให้ได้ผลลัพธ์ ไกลออกไป
โทรกลับผลลัพธ์แคชของการโทรครั้งแรก

[14] ขยายการจัดการตัวแปรสภาพแวดล้อม CC ในโค้ดที่กำหนด
คอมไพเลอร์ที่จะใช้จัดการกับ (เช่น ลบ) พาธไปยังคอมไพเลอร์, ไฟล์คอมไพเลอร์
ส่วนขยายและตัวเลือกคอมไพเลอร์ที่ระบุหลังจากคอมไพเลอร์เอง เหลือไว้เท่านั้น
ชื่อเปล่าของคอมไพเลอร์

[15] ขยายรหัสที่จัดการการค้นหาไลบรารีที่โหลดไว้ล่วงหน้าเพื่อพิมพ์เส้นทางนั้น
ค้นหา ทำให้การดีบักความล้มเหลวในการค้นหาง่ายขึ้น

[16] คำสั่งใหม่ คริติคอล::tcl สามารถใช้ประกาศเวอร์ชัน Tcl ขั้นต่ำได้
จำเป็นต้องสร้างและเรียกใช้ ".critcl" ไฟล์และแพ็คเกจ ค่าเริ่มต้นเป็น 8.4 ถ้าไม่
ประกาศ ขยาย critcl เพื่อให้มีต้นขั้วและส่วนหัวสำหรับ Tcl 8.4, 8.5 ทั้งหมด
และ 8.6

[17] คำสั่งใหม่ critcl::โหลด บังคับให้สร้างและโหลดของ ".critcl" ไฟล์ นี่คือ
วิธีอย่างเป็นทางการสำหรับการเอาชนะโครงร่าง lazy-build-&-load-on-demand เริ่มต้นของ critcl
สำหรับโหมด "คอมไพล์ & รัน"

หมายเหตุ ว่าหลังใช้ critcl::โหลด / critcl::ล้มเหลว ใน ".critcl" ไฟล์มันไม่ใช่
เป็นไปได้ที่จะใช้คำสั่ง critcl ในไฟล์นั้นอีกต่อไป การทำเช่นนี้จะทำให้เกิดข้อผิดพลาด

[18] ขยายรุ่น '#line' Pragmas สู่การใช้งาน ข้อมูล กรอบ (ถ้ามี) ถึง
ให้คอมไพเลอร์ C พร้อมหมายเลขบรรทัดที่แน่นอนลงใน ".critcl" ไฟล์สำหรับ
การรายงานคำเตือนและข้อผิดพลาด

[19] ขยายเวลา crtcl::ตรวจสอบ ด้วยการบันทึกเพื่อช่วยในการดีบักการตรวจสอบเวลาบิวด์ของ
สภาพแวดล้อม บวกอาร์กิวเมนต์ที่เป็นตัวเลือกเพิ่มเติมเพื่อจัดเตรียมการติดฉลาก

(20) เพิ่มคำสั่งใหม่ critcl::ตรวจสอบลิงค์ ที่ไม่เพียงแต่พยายามตรวจสอบสภาพแวดล้อม
ผ่านการคอมไพล์โค้ด แต่ยังเชื่อมโยงได้

(21) เพิ่มคำสั่งใหม่ Critcl::msg สำหรับการส่งข้อความ เช่น command critcl::ข้อผิดพลาด สำหรับ
การรายงานข้อผิดพลาด ในทำนองเดียวกันนี่คือตะขอที่ผู้ใช้แพ็คเกจได้รับอนุญาต
แทนที่. การใช้งานเริ่มต้น ใช้โดย mode รวบรวม & วิ่ง ไม่ทำอะไรเลย ดิ
การใช้งานสำหรับโหมด สร้าง แพ็คเกจ พิมพ์ข้อความไปที่ stdout

การใช้จินตนาการมีไว้สำหรับการรายงานผลที่กำหนดโดย crtcl::ตรวจสอบ และ
critcl::ตรวจสอบลิงค์ ระหว่างสร้าง เพื่อช่วยในการดีบักเมื่อมีสิ่งผิดปกติเกิดขึ้น
ด้วยเช็ค

[22] เปิดเผยข้อโต้แย้งที่ประมวลผลภายในของ critcl::proc สำหรับการใช้งานขั้นสูง
ผู้ใช้ คำสั่งใหม่คือ

[1] critcl::arnames

[2] critcl::argcnames

[3] critcl::argcsignature

[4] critcl::argvardecls

[5] critcl::argconversion

โปรดดูส่วน ระดับสูง ที่ฝัง C รหัส ของ วิจารณ์ เอกสารแพ็คเกจสำหรับ
รายละเอียด

[23] ขยายแพ็คเกจ critcl เพื่อสกัดกั้น แพ็คเกจ ให้ และบันทึกไฟล์ ->
การแมปชื่อแพ็คเกจ บวกกับการเปลี่ยนแปลงภายในอื่นๆ ในขณะนี้ อนุญาตให้ใช้เนมสเปซ
ชื่อแพ็กเกจในขณะที่ยังคงใช้ชื่อพาธและฟังก์ชัน init ที่ถูกต้อง

[24] ยกเลิกคำสั่งที่ไม่ได้ใช้ critcl::เพิ่มประสิทธิภาพ และ critcl::รวม.

[25] หลุด - ลิบ โหมดจากแอปพลิเคชัน critcl

[26] ลดการสนับสนุนส่วนที่เหลือสำหรับ Tcl 8.3 และก่อนหน้า

การเปลี่ยนแปลง สำหรับ VERSION 3


[1] คำสั่ง critcl::แพลตฟอร์ม เลิกใช้แล้วในเวอร์ชัน 2.1 แทนที่โดย
critcl::targetplatformแต่ยังคงไว้เพื่อความเข้ากันได้ ตอนนี้มันถูกลบออกไปแล้ว

[2] คำสั่ง critcl::คอมไพล์ ถูกเก็บไว้ในเวอร์ชัน 2.1 พร้อมความหมายใน
ขัดแย้งกับมันเพื่อความเข้ากันได้ ความขัดแย้งนี้ถูกลบออก
เปลี่ยนความหมายที่มองเห็นได้ของคำสั่งให้สอดคล้องกับชื่อคำสั่ง

[3] การเปลี่ยนแปลงเป็นเวอร์ชัน 3 กลายเป็นสิ่งจำเป็นเนื่องจากทั้งสองไม่เข้ากันที่มองเห็นได้
การเปลี่ยนแปลงข้างต้น

[4] ขยายแพ็คเกจแอปพลิเคชันด้วยรหัสจัดการตัวเลือกใหม่ -ชา. ระบุ
ตัวเลือกนี้เรียกใช้โหมดพิเศษที่ critcl สร้างแพ็คเกจ TEA เช่น wraps
อินพุตในลำดับชั้นของไดเร็กทอรีและไฟล์สนับสนุนที่ให้ไว้ TEA-
ระบบสร้างที่คล้ายคลึงกัน

ตัวเลือกใหม่นี้และ -แพ็ค, ยกเว้นซึ่งกันและกัน. หากระบุทั้งสองอย่างที่ใช้ล่าสุด
ตัวเลือกมีความสำคัญ

ลำดับชั้นไดเร็กทอรีของแพ็คเกจที่สร้างขึ้นนั้นส่วนใหญ่มีอยู่แล้วในตัวเอง แต่ไม่ทั้งหมด
มันไม่เพียงแต่ต้องการการติดตั้งที่ใช้งานได้ของ Tcl เท่านั้น แต่ยังต้องการการติดตั้งที่ใช้งานได้อีกด้วย
ของแพ็คเกจ md5 และ cmdline. ทั้งสองสิ่งนี้จัดทำโดย ทีคลิบ กำ
ไม่จำเป็น แต่แนะนำให้ติดตั้งเป็นแพ็คเกจใด ๆ ที่สามารถ
เร่งการทำงานของ md5 นั่นคือ การเข้ารหัสลับ, ทีซีแอลบีซี,หรือ ทร.

[5] ขยายแพ็คเกจ critcl ด้วยคำสั่งใหม่ คริติคอล::scan เข้าสู่เส้นทาง
".critcl" ไฟล์, สแกนมันแบบคงที่, และส่งคืนใบอนุญาต, รุ่น, รายการของ
ไฟล์คู่หู รายการ API ที่นำเข้า และรายการกำหนดเองที่นักพัฒนาระบุ
ตัวเลือกการกำหนดค่า ข้อมูลนี้เป็นพื้นฐานสำหรับการห่อ TEA ที่อธิบายไว้
ข้างบน.

โปรดทราบว่านี่คือ คงที่ สแกน ในขณะที่โหมดการสร้างอื่น ๆ สามารถ (ต้อง) ดำเนินการ
".critcl" ยื่นและตัดสินใจเฉพาะแพลตฟอร์มเกี่ยวกับโค้ด C ที่ประกอบขึ้น
ไฟล์สหาย ฯลฯ โหมดการห่อ TEA ไม่อยู่ในตำแหน่งที่จะสร้างแพลตฟอร์ม-
การตัดสินใจเฉพาะ ต้องห่อทุกอย่างที่อาจจำเป็น
เมื่อสร้างจริง ดังนั้นการสแกนแบบคงที่ อย่างไรก็ตามมีชุดของ
ปัญหาคือไม่สามารถคิดสร้างไดนามิกของสหาย
เส้นทางของไฟล์ อย่างน้อยก็ในตัวเอง ดังนั้น:

[6] ขยาย API ที่ใช้โดยแพ็คเกจที่ใช้ critcl ด้วยคำสั่ง critcl::เจ้าของ. ในขณะที่
คำสั่งนี้จะถูกละเว้นโดยโหมดการสร้างปกติที่เครื่องสแกนแบบคงที่อธิบายไว้
ด้านบนใช้อาร์กิวเมนต์เป็นชื่อของไฟล์ที่แสดงร่วมซึ่งต้องถูกห่อ
ลงในแพ็คเกจ TEA และสแกนเนอร์ไม่สามารถคิดได้เป็นอย่างอื่นเช่น
เพราะเส้นทางสู่ critcl::tsource, critcl::csources, รับแหล่งที่มา
โดยตรงหรือเพียงแค่เป็นไฟล์ข้อมูลเสริม

[7] ขยาย API ที่ใช้โดยแพ็คเกจที่ใช้ critcl ด้วยคำสั่ง Critcl::api สำหรับ
การจัดการตารางต้นขั้ว ไม่ว่าจะเป็นการใช้งาน และ/หรือการประกาศและการส่งออก

โปรดดูส่วน ไม่สมบูรณ์ ตาราง การจัดการ ของ วิจารณ์ เอกสารแพ็คเกจสำหรับ
รายละเอียด

[8] ขยาย API ที่ใช้โดยแพ็คเกจที่ใช้ critcl ด้วยคำสั่ง critcl::userconfig.php
สำหรับการจัดการตัวเลือกการกำหนดค่าแบบกำหนดเองที่นักพัฒนาระบุ ไม่ว่าจะเป็น
การใช้และ/หรือการประกาศ

โปรดดูส่วน ประเพณี สร้าง องค์ประกอบ ของ วิจารณ์ เอกสารแพ็คเกจ
เพื่อดูรายละเอียด

[9] ขยาย API ที่ใช้โดยแพ็คเกจที่ใช้ critcl ด้วยคำสั่ง
critcl::คำอธิบาย, critcl::สรุป, critcl::หัวเรื่อง, critcl::เมตาและ
critcl::buildrequirement สำหรับการประกาศข้อมูลเมตาของ TEApot สำหรับ/เกี่ยวกับ
บรรจุภัณฑ์

โปรดดูส่วน แพ็คเกจ Meta ข้อมูล ของ วิจารณ์ เอกสารแพ็คเกจสำหรับ
รายละเอียด

การเปลี่ยนแปลง สำหรับ VERSION 3.0.1


[1] แก้ไขข้อผิดพลาดทั่วๆ ไป ในรายละเอียด:

[2] แก้ไขการบันทึกข้อกำหนดเวอร์ชัน Tcl เก็บชื่อแพ็คเกจและรุ่น
ร่วมกันสร้างข้อมูลเมตาที่ไม่ทำลายและสร้างคำสั่งโหลดแพ็คเกจที่สร้างขึ้น

[3] แก้ไขสคริปต์บิลด์: เมื่อติดตั้งหรือปิด TEA ให้สร้างสิ่งที่ขาดหายไป
ไดเรกทอรี

[4] แก้ไขบิลด์สคริปต์เพื่อออกจากแอปพลิเคชันอย่างถูกต้องเมื่อหน้าต่างของ
GUI ของพวกเขาถูกปิดผ่านปุ่ม (X)

[5] ลบ 8.5-ism (เปิด wb) ซึ่งเล็ดลอดเข้าไปในสคริปต์บิลด์หลัก

[6] แก้ไขตัวอย่างสคริปต์สร้างเพื่อแยกเอาต์พุตสำหรับ different
ตัวอย่าง (และแพ็คเกจ) โดยการเพิ่มบรรทัดว่าง

[7] ข้อผิดพลาด stack::c ตัวอย่าง: รวมการประกาศ API สำหรับใช้ในไฟล์ที่แสดงร่วม

[8] ขยายเอกสาร: สังเกตความจำเป็นในการติดตั้ง C . ที่ใช้งานได้
คอมไพเลอร์

[9] ขยายคำจำกัดความและรหัสเป้าหมายของ Windows เพื่อจัดการไฟล์รายการที่ใช้
โดยสภาพแวดล้อมการพัฒนา MS ที่ทันสมัย โปรดทราบว่ารหัสนี้จัดการทั้ง
ความเป็นไปได้ สภาพแวดล้อมที่ใช้รายการ และสภาพแวดล้อม (เก่า (เอ้อ)) ที่ไม่มี

[10] ขยายคำจำกัดความและโค้ดเป้าหมายของ Windows 64 บิตเพื่อตรวจหาความต้องการโดยอัตโนมัติ
ไลบรารีตัวช่วย "bufferoverflowU.lib" และกำหนดค่าคอมไพล์และลิงก์ใหม่
สั่งการได้อย่างเหมาะสม เราคิดว่าจะต้องเชื่อมโยงห้องสมุดเมื่อมี
สิ่งนี้จะไม่เป็นอันตรายหากมีห้องสมุด แต่ยังไม่จำเป็น แค่ฟุ่มเฟือย
เราค้นหาไลบรารีในเส้นทางที่ระบุโดยตัวแปรสภาพแวดล้อม LIB

การเปลี่ยนแปลง สำหรับ VERSION 3.0.2


[1] แก้ไขปัญหาในโหมดคอมไพล์และรันที่คำสั่งที่ใส่ลงใน auto_index ไม่ใช่
พบโดยคำสั่ง [ไม่ทราบ] ของ Tcl

[2] แก้ไขการไม่ตรงกันของคีย์อาร์เรย์ที่ใช้งานข้อมูลลูกค้าและลบฟังก์ชันสำหรับ
ขั้นตอน. รายงานโดย Jos DeCoster พร้อมแพตช์

[3] ใช้งานตัวเลือกบรรทัดคำสั่ง -Lเทียบเท่า option -I, เพียงเพื่อห้องสมุด
เส้นทางการค้นหา

[4] แก้ไขปัญหา GitHub 5 และ 8 การแก้ไขตัวแปรที่หายไป ::errorInfo. มัน
ควรมีอยู่เสมอ แต่ดูเหมือนว่าจะมีการแก้ไข Tcl รอบซึ่ง
ละเมิดสมมติฐานนี้

การเปลี่ยนแปลง สำหรับ VERSION 3.0.3


[1] แก้ไขปัญหา github 5 และ 8 สำหรับตัวอย่างสคริปต์ build.tcl ทำงานรอบๆ
ตัวแปรที่หายไป ::errorInfo. มันควรจะมีอยู่เสมออย่างไรก็ตามดูเหมือนว่าจะมี
การแก้ไข Tcl รอบ ๆ ซึ่งละเมิดสมมติฐานนี้

การเปลี่ยนแปลง สำหรับ VERSION 3.0.4


[1] แก้ไขการสร้างชื่อแพ็คเกจเมื่ออ่านรหัสขาเข้าจาก
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] แก้ไขการแทรก #line Pragmas ลงในโค้ด C ที่สร้างขึ้นใหม่เพื่อหลีกเลี่ยง
ข้อจำกัดของอาร์กิวเมนต์หมายเลขบรรทัดที่กำหนดโดยคอมไพเลอร์ต่างๆ และมากกว่านั้น
ถูกต้อง

[6] แก้ไขการประมวลผลอาร์กิวเมนต์ ตัวเลือก -libdir ในตอนนี้ยังหมายถึง -L สำหรับอาร์กิวเมนต์ของมันด้วย

[7] ขยายการจัดการตัวเลือก -show (critcl::showconfig) เพื่อแสดงรายการเส้นทางของ
ไฟล์การกำหนดค่าข้อมูลที่มาจาก ดีสำหรับการดีบักการกำหนดค่า
การประมวลผล

[8] ขยายสคริปต์การสร้างด้วยเป้าหมายเพื่อสร้างเอกสารที่ฝังไว้ใหม่
และไดอะแกรมและเพื่อสร้างการเปิดตัว

การเปลี่ยนแปลง สำหรับ VERSION 3.0.5


[1] แก้ไขข้อบกพร่องในโค้ดใหม่สำหรับ #line Pragmas ที่ทริกเกอร์เมื่อระบุรหัส C
โดยไม่มีช่องว่างนำหน้า

[2] ขยายเอกสารให้มี manpages สำหรับใบอนุญาต การดึงแหล่งที่มา
ตัวติดตั้งและคู่มือนักพัฒนา

การเปลี่ยนแปลง สำหรับ VERSION 3.0.6


[1] แก้ไขปัญหา github 10. แอปพลิเคชัน critcl ส่งรหัสทางออกที่เหมาะสม (1)
ในการสร้างความล้มเหลว แทนที่จะแสดงความสำเร็จเสมอ (สถานะ 0)

[2] แก้ไขปัญหา GitHub 13. การจัดการ bufferoverflowU.lib สำหรับบิลด์รุ่น was
ไม่สอดคล้องกับการจัดการสำหรับบิลด์การดีบัก ตอนนี้มันถูกจัดการเหมือนกัน
(เงื่อนไข) โดยทั้งสองกรณี

[3] การล้างข้อมูลเอกสาร ส่วนใหญ่อยู่ในคู่มือการติดตั้ง และ README.md แสดงโดย
GitHub

การเปลี่ยนแปลง สำหรับ VERSION 3.0.7


[1] แก้ไขรหัสที่สร้างโดย critcl::c++คำสั่ง. รหัสที่ปล่อยออกมาส่งให้
ตารางสตริงคงที่ถึง Tcl_GetIndexFromObjอันเป็นการฝ่าฝืนสัญญาซึ่ง
ต้องการให้ตารางมีที่อยู่คงที่ นี่คือความทรงจำที่รออยู่
เกิดขึ้น. ขอบคุณ Brian Griffin ที่เตือนเราถึงปัญหาทั่วไป

การเปลี่ยนแปลง สำหรับ VERSION 3.1


[1] เพิ่มแพ็คเกจระดับสูงใหม่ critcl::iassoc.

แพ็คเกจนี้ช่วยลดความยุ่งยากในการสร้างโค้ดที่เชื่อมโยงข้อมูลกับล่าม
ผ่าน Tcl's Tcl_(รับ|ตั้งค่า)AssocData() API ผู้ใช้สามารถจดจ่อกับข้อมูลของเขาในขณะที่
รหัส C ต้นแบบที่จำเป็นทั้งหมดเพื่อรองรับสิ่งนี้จะถูกสร้างขึ้นโดยแพ็คเกจ

แพ็คเกจนี้ใช้คุณสมบัติใหม่หลายอย่างซึ่งถูกเพิ่มเข้าไปในคอร์ วิจารณ์
แพ็คเกจดูด้านล่าง

[2] เพิ่มแพ็คเกจระดับสูงขึ้น critcl::คลาส.

แพ็คเกจนี้ช่วยลดความยุ่งยากในการสร้างวัตถุระดับ C ด้วยคลาสและอินสแตนซ์
คำสั่ง ผู้ใช้สามารถเขียนนิยามคลาสด้วยตัวแปรคลาสและอินสแตนซ์
และ -methods คล้ายกับคลาส TclOO โดยมีรหัส C สำเร็จรูปที่จำเป็นทั้งหมดเป็น
สนับสนุนสิ่งนี้ที่สร้างโดยแพ็คเกจ

แพ็คเกจนี้ใช้คุณสมบัติใหม่หลายอย่างซึ่งถูกเพิ่มเข้าไปในคอร์ วิจารณ์
แพ็คเกจดูด้านล่าง

[3] ขยาย API สำหรับจัดการข้อมูลเมตาของ TEApot เพิ่มคำสั่ง critcl::เมตา? ไปยัง
สอบถามข้อมูลที่เก็บไว้ การใช้งานหลักที่จินตนาการไว้ในขณะนี้คือการดึงข้อมูลของ
ชื่อแพ็คเกจปัจจุบันตามคำสั่งยูทิลิตี้ สำหรับใช้ในชื่อที่สร้างขึ้น นี้
มีข้อมูลเฉพาะอยู่เสมอเนื่องจากการสแกนแบบคงที่ของแพ็คเกจ
ไฟล์ในการดำเนินการของคำสั่ง critcl แรก

แพ็คเกจใหม่ critcl::iassoc และ critcl::คลาส (ดูด้านบน) เป็นผู้ใช้สิ่งนี้
คำสั่ง

[4] ขยาย API ด้วยคำสั่ง critcl::name2c, เผยให้เห็นกระบวนการแปลง
ชื่อ Tcl เป็นชื่อฐาน เนมสเปซ และเนมสเปซ C นี้จะช่วยให้ระดับที่สูงขึ้น
เครื่องกำเนิดโค้ดเพื่อสร้างตัวระบุ C ชนิดเดียวกับ วิจารณ์ ตัวเอง

แพ็คเกจใหม่ critcl::คลาส (ดูด้านบน) เป็นผู้ใช้คำสั่งนี้

[5] ขยาย API ด้วยคำสั่ง crtcl::แหล่งที่มา, ดำเนินการคำสั่ง critcl ที่พบใน
ไฟล์แยกต่างหากในบริบทของไฟล์ปัจจุบัน ช่วยให้การจัดการง่ายขึ้น
ของโค้ดที่ใหญ่ขึ้นเนื่องจากทำให้ผู้ใช้แยกย่อยเป็น to . ได้ง่ายขึ้น
แยกย่อยชิ้นเล็ก ๆ โดยไม่ก่อให้เกิดการสร้างหลายแพ็คเกจ

[6] ที่เกี่ยวข้องกับรายการก่อนหน้า ขยาย API ด้วยคำสั่งเพื่อโอนคอลเลกชัน
ของรหัส C ที่สร้างขึ้นในหน่วยความจำ ทำให้ง่ายต่อการใช้คำสั่งสำหรับ
ฝังรหัส C ในตัวสร้างรหัสระดับสูงกว่า

ดูส่วน ขั้นสูง: ความหลากหลาย สำหรับรายละเอียดของคำสั่งที่ให้มา

แพ็คเกจใหม่ critcl::คลาส (ดูด้านบน) เป็นผู้ใช้สิ่งอำนวยความสะดวกเหล่านี้

[7] ขยาย API ด้วยคำสั่งที่ช่วยนักพัฒนาในการสร้าง C . ที่เหมาะสม
#ไลน์ คำสั่ง ซึ่งช่วยให้ตัวสร้างโค้ดระดับสูงสามารถสร้างและแทรก
คำสั่งของตนเองเพื่อให้แน่ใจว่าข้อผิดพลาดในการคอมไพล์ในโค้ดนั้นถูกต้อง
นำมาประกอบ

ดูส่วน ขั้นสูง: แผนที่ การจัดการ สำหรับรายละเอียดของคำสั่งที่ให้มา

แพ็คเกจใหม่ critcl::iassoc และ critcl::คลาส (ดูด้านบน) เป็นผู้ใช้เหล่านี้
สิ่งอำนวยความสะดวก

[8] ขยาย API ด้วยคำสั่งที่ให้ผู้ใช้สามารถกำหนดอาร์กิวเมนต์ที่กำหนดเองได้
และประเภทผลลัพธ์สำหรับ ::critcl::cproc.

ดูส่วน ขั้นสูง: ขยาย ซีโปร สำหรับรายละเอียดของคำสั่งที่ให้มา

การเปลี่ยนแปลง สำหรับ VERSION 3.1.1


[1] แก้ไขข้อผิดพลาดทั่วๆ ไป ในรายละเอียด:

[2] แก้ไขข้อผิดพลาดการสร้างข้อผิดพลาด #args สำหรับ critcl::cproc และรหัสที่ได้รับ
(critcl::คลาส วิธีการตาม cproc) ใช้ NULL หากไม่มีอาร์กิวเมนต์ และรับ
ออฟเซ็ตเข้าบัญชี

[3] แก้ไขการจัดการชื่อแพ็คเกจโดย critcl::คลาส. ลืมไปว่าอาจมี
ตัวคั่นเนมสเปซ ชนเป็นเวอร์ชัน 1.0.1

[4] ขยาย a critcl::คลาส สร้างข้อความแสดงข้อผิดพลาดในการสร้างอินสแตนซ์เพื่อความชัดเจน
ชนเป็นเวอร์ชัน 1.0.2

การเปลี่ยนแปลง สำหรับ VERSION 3.1.2


[1] การเพิ่มประสิทธิภาพ ในรายละเอียด:

[2] ขยายเวลา critcl::cproc เพื่อให้สามารถจัดการกับอาร์กิวเมนต์ที่เป็นทางเลือกได้ ในทางที่จำกัด
นี้ใช้ได้โดยอัตโนมัติเพื่อ critcl::คลาส วิธีการที่ใช้ cproc เช่นกัน

[3] แก้ไขข้อผิดพลาดใน มอบหมาย การจำลองสำหรับ Tcl 8.4 ตั้งค่าตัวแปรที่ไม่ได้ใช้อย่างเหมาะสมเป็น
สตริงที่ว่างเปล่า แพ็คเกจการจำลองเวอร์ชันที่ชนกัน ลามอบหมาย84 เพื่อ 1.0.1

การเปลี่ยนแปลง สำหรับ VERSION 3.1.3


[1] การเพิ่มประสิทธิภาพ ในรายละเอียด:

[2] เพิ่มประเภทอาร์กิวเมนต์ใหม่ "pstring" สำหรับ "Pascal String" ซึ่งเป็นสตริงที่นับแล้ว เช่น a
การรวมกันของตัวชี้สตริงและความยาวของสตริง

[3] เพิ่มวิธีการใหม่ critcl::argtypesupport และ ::critcl::argsupport เพื่อกำหนดและใช้
รหัสสนับสนุนเพิ่มเติมสำหรับประเภทอาร์กิวเมนต์ ที่นี่ใช้โดย "pstring" ด้านบน to
กำหนดโครงสร้างที่จำเป็น

[4] การแก้ไขจุดบกพร่องในแพ็คเกจ critcl::คลาส และ critcl::iassoc. Pragmas สำหรับ AS
เครื่องสแกนข้อมูลเมตาเพื่อให้แน่ใจว่าไฟล์เทมเพลตนั้นเป็นส่วนหนึ่งของแพ็คเกจ
เวอร์ชันชนไปที่ 1.0.4 และ 1.0.1 ตามลำดับ

การเปลี่ยนแปลง สำหรับ VERSION 3.1.4


[1] แก้ไขข้อผิดพลาดในแพ็คเกจ critcl::คลาส. สร้างฟิลด์จำลองในโครงสร้างคลาส if
คลาสไม่มีตัวแปรคลาส หากปราศจากการเปลี่ยนแปลงนี้ โครงสร้างจะว่างเปล่า
และคอมไพเลอร์จำนวนหนึ่งไม่สามารถจัดการกับประเภทดังกล่าวได้

[2] แก้ไขข้อผิดพลาดที่ทำให้การกำหนดค่า win64 เสียหาย

[3] แก้ไขปัญหา #16 การพิมพ์ผิดในเอกสารประกอบของคำสั่ง critcl::คลาส.

การเปลี่ยนแปลง สำหรับ VERSION 3.1.5


[1] แก้ไขปัญหา #19. สร้างนิพจน์ทั่วไปแยกหมายเลขเวอร์ชัน MSVC
ทั่วไปมากขึ้นเพื่อให้ทำงานบนระบบภาษาเยอรมัน นี่อาจจะต้อง
จะกลับมาเยี่ยมชมอีกในอนาคตสำหรับสถานที่ Windows อื่น ๆ

[2] แก้ไขปัญหา #20. สร้างตัวเลือก - ชาทำงานบน windows อย่างน้อยในการจำลองยูนิกซ์
สภาพแวดล้อมเช่น msys/mingw.

การเปลี่ยนแปลง สำหรับ VERSION 3.1.6


[1] แก้ไขปัญหา #21 ในขณะที่หลายคำจำกัดความของตัวแปรพอยน์เตอร์ตาราง stub คือ
ตกลงสำหรับตัวเชื่อมโยง C ทั้งหมดที่เห็นจนถึงตอนนี้ ตัวเชื่อมโยง C ++ ไม่ชอบสิ่งนี้เลย
ทำใหม่โค้ดเพื่อให้แน่ใจว่าชุดของตัวแปรนี้ถูกสร้างขึ้นเพียงครั้งเดียวใน
ห่อรอบชิ้นส่วนทั้งหมดที่จะประกอบ

[2] แก้ไขปัญหา #22 การจัดการอาร์กิวเมนต์ตัวระบุคำสั่งของ
critcl::คำสั่ง, critcl::cprocและ critcl::cdata. ตอนนี้เราอนุญาต Tcl . ใดๆ อย่างถูกต้องแล้ว
ตัวระบุและสร้างตัวระบุ C ภายในที่เหมาะสมจากพวกเขา

เป็นส่วนหนึ่งของลายเซ็นคำสั่ง critcl::name2c เปลี่ยน. คำสั่งตอนนี้
แสดงรายการค่าสี่ค่าแทนที่จะเป็นสามค่า เพิ่มมูลค่าใหม่ที่
ท้าย

ปรับปรุงการใช้งานแพ็คเกจเพิ่มเติม critcl::คลาส, ผู้ใช้ของ
critcl::name2c. แพ็คเกจนี้อยู่ที่เวอร์ชัน 1.0.6 และต้องใช้ critcl 3.1.6

แก้ไขการจัดการตัวเลือกผิดพลาดครั้งสุดท้าย -ชื่อ in critcl::คำสั่งและ
critcl::cproc.

[3] แก้ไขปัญหา #23

การเปลี่ยนแปลง สำหรับ VERSION 3.1.7


[1] แก้ไขปัญหา #24. แยกและแสดงคำเตือนของคอมไพเลอร์อย่างไม่มีเงื่อนไขที่พบในไฟล์
บันทึกการสร้าง ป้องกันผู้ใช้จากคำเตือนที่หายไปซึ่งในขณะที่ไม่ก่อให้เกิดการ build
ล้มเหลวอาจยังบ่งบอกถึงปัญหา

[2] คุณสมบัติใหม่ ตะขอเอาท์พุต เอาต์พุตผู้ใช้ที่ไม่ใช่การส่งข้อความทั้งหมดถูกกำหนดเส้นทางผ่านทาง
คำสั่ง critcl::พิมพ์และผู้ใช้สามารถแทนที่ได้เมื่อใช้ crtcl
แอปพลิเคชั่นเป็นแพ็คเกจ

[3] คุณลักษณะใหม่ โดย Ashok P. Nadkarni การกำหนดค่าแพลตฟอร์มสามารถรับค่าจาก
การกำหนดค่าที่กำหนดไว้ก่อนหน้านั้น

การเปลี่ยนแปลง สำหรับ VERSION 3.1.8


[1] แก้ไขปัญหาเกี่ยวกับดัชนีแพ็คเกจที่สร้างขึ้นสำหรับ Tcl 8.4 เข้าร่วมรายการคำสั่ง
ด้วยเซมิโคลอน ไม่ใช่ขึ้นบรรทัดใหม่

[2] แก้ไขปัญหา #26 ซึ่งทำให้เกิดกรณีการใช้งานที่ฉันลืมพิจารณาขณะแก้ไข
ข้อผิดพลาด #21 (ดู critcl 3.1.6)

การเปลี่ยนแปลง สำหรับ VERSION 3.1.9


[1] แก้ไขปัญหา #27 เพิ่มคำจำกัดความของแพลตฟอร์มที่ขาดหายไปสำหรับลินุกซ์สำรองและ
เป้าหมายของ OS X

[2] แก้ไขปัญหา #28. เพิ่มแฟล็ก -mXX ที่หายไปสำหรับการเชื่อมโยงที่ linux-{32,64}-*
เป้าหมาย

[3] แก้ไขปัญหา #29 แทนที่การใช้ข้อมูล "cheaders" ดิบในการประมวลผล
ของ "cdefines" พร้อมคำสั่งรวมที่เหมาะสมที่ได้รับจากมัน

[4] แก้ไขปัญหาเบื้องหลังคำขอดึงที่ถูกปฏิเสธ #30 โดย Andrew Shadura แบบไดนามิก
แยกการประกาศตัวแปรต้นขั้วจากไฟล์ส่วนหัว Tcl และสร้าง
จับคู่คำจำกัดความของตัวแปรเพื่อใช้ในรหัสแพ็คเกจ รหัสที่สร้างขึ้นจะ
ตอนนี้ให้สอดคล้องกับส่วนหัวเสมอแม้ว่าสำเนาของ crtcl จะเป็น
แทนที่ด้วยส่วนหัวของระบบ

[5] แก้ไขปัญหา #31. ยอมรับแพตช์โดย Andrew Shadura พร้อมการเปลี่ยนแปลง (ความคิดเห็น) สำหรับ
การรวม critcl เข้ากับระบบแพ็คเกจ OS ได้ง่ายขึ้นโดยแทนที่สำเนาของ critcl ของ
ส่วนหัว Tcl ด้วยตัวของพวกเขาเอง

[6] แก้ไขปัญหา #32. รวมคำขอดึงโดย Andrew Shadura การพิมพ์ผิดต่างๆใน
เอกสารและความคิดเห็น

[7] แก้ไขปัญหา #33. จัดการไฟล์ที่ขึ้นต้นด้วยจุดดีกว่า

ผู้เขียน


ฌอง โคล้ด วิพเปลอร์, สตีฟ แลนเดอร์ส, แอนเดรียส คูปรีส์

ใช้ critcl ออนไลน์โดยใช้บริการ onworks.net


เซิร์ฟเวอร์และเวิร์กสเตชันฟรี

ดาวน์โหลดแอพ Windows & Linux

  • 1
    Phaser
    Phaser
    Phaser เป็นโปรแกรมเปิดที่รวดเร็ว ฟรี และสนุก
    ซอร์สเฟรมเวิร์กเกม HTML5 ที่นำเสนอ
    การแสดงผล WebGL และ Canvas ทั่ว
    เว็บเบราว์เซอร์เดสก์ท็อปและมือถือ เกม
    สามารถร่วม...
    ดาวน์โหลดเฟสเซอร์
  • 2
    เครื่องยนต์ VASSAL
    เครื่องยนต์ VASSAL
    VASSAL เป็นเอ็นจิ้นเกมสำหรับการสร้าง
    บอร์ดอิเล็กทรอนิกส์แบบดั้งเดิม
    และการ์ดเกม มันให้การสนับสนุนสำหรับ
    การเรนเดอร์ชิ้นส่วนเกมและการโต้ตอบ
    และ ...
    ดาวน์โหลด VASSAL Engine
  • 3
    OpenPDF - ทางแยกของ iText
    OpenPDF - ทางแยกของ iText
    OpenPDF เป็นไลบรารี Java สำหรับสร้าง
    และแก้ไขไฟล์ PDF ด้วย LGPL และ
    ใบอนุญาตโอเพ่นซอร์ส MPL OpenPDF คือ
    LGPL / MPL โอเพ่นซอร์สผู้สืบทอดของ iText
    แล้ว ...
    ดาวน์โหลด OpenPDF - Fork of iText
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - ระบบอัตโนมัติ
    การวิเคราะห์ทางธรณีวิทยา - เป็นภูมิศาสตร์
    ซอฟต์แวร์ระบบสารสนเทศ (GIS) พร้อม
    ความสามารถอันยิ่งใหญ่สำหรับ geodata
    การประมวลผลและอนา...
    ดาวน์โหลด SAGA GIS
  • 5
    กล่องเครื่องมือสำหรับ Java/JTOpen
    กล่องเครื่องมือสำหรับ Java/JTOpen
    IBM Toolbox สำหรับ Java / JTOpen คือ
    ไลบรารีของคลาส Java ที่สนับสนุน
    ไคลเอนต์/เซิร์ฟเวอร์และโปรแกรมอินเทอร์เน็ต
    รุ่นไปยังระบบที่ใช้ OS/400,
    i5/โอเอส โอ...
    ดาวน์โหลดกล่องเครื่องมือสำหรับ Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (หรือ D3 สำหรับเอกสารที่ขับเคลื่อนด้วยข้อมูล)
    เป็นไลบรารี JavaScript ที่ช่วยให้คุณ
    เพื่อสร้างข้อมูลเชิงโต้ตอบแบบไดนามิก
    การแสดงภาพในเว็บเบราว์เซอร์ ด้วย D3
    คุณ...
    ดาวน์โหลด D3.js
  • เพิ่มเติม»

คำสั่ง Linux

  • 1
    อธิบดี
    อธิบดี
    abidiff - เปรียบเทียบ ABI ของไฟล์ ELF
    Abidiff เปรียบเทียบ Application Binary
    อินเทอร์เฟซ (ABI) ของสองไลบรารีที่ใช้ร่วมกัน
    ในรูปแบบเอลฟ์ มันเปล่งออกมาอย่างมีความหมาย
    รายงาน...
    เรียกใช้ abidiff
  • 2
    อาบิดวี
    อาบิดวี
    abidw - ทำให้เป็นอันดับ ABI ของ ELF
    ไฟล์ abidw อ่านไลบรารีที่ใช้ร่วมกันใน ELF
    จัดรูปแบบและปล่อยการแสดง XML
    ของ ABI ไปยังเอาต์พุตมาตรฐาน เดอะ
    ปล่อยออกมา ...
    วิ่งต่อไป
  • 3
    โคแพค2xml
    โคแพค2xml
    bibutils - การแปลงบรรณานุกรม
    ค่าสาธารณูปโภค ...
    เรียกใช้ copac2xml
  • 4
    ชาวอียิปต์โบราณ
    ชาวอียิปต์โบราณ
    copt - เครื่องมือเพิ่มประสิทธิภาพตาแมว SYSNOPIS:
    ไฟล์คอปต์ .. รายละเอียด: คอปต์คือไฟล์
    เครื่องมือเพิ่มประสิทธิภาพช่องมองสำหรับวัตถุประสงค์ทั่วไป มัน
    อ่านรหัสจากอินพุตมาตรฐานและ
    เขียน ...
    เรียกใช้ตำรวจ
  • 5
    Gather_stx_titles
    Gather_stx_titles
    Gather_stx_titles - รวบรวมชื่อเรื่อง
    ประกาศจากเอกสาร Stx ...
    เรียกใช้ Gather_stx_titles
  • 6
    ม้านั่ง Gatling
    ม้านั่ง Gatling
    ม้านั่ง - เกณฑ์มาตรฐาน http ...
    เรียกม้านั่ง Gatling
  • เพิ่มเติม»

Ad