ไก่เป็นแหล่งฟรีและเปิดแอปพลิเคคอมไพเลอร์สำหรับการเขียนโปรแกรมภาษาโครงการ มันเข้ากันได้กับระบบปฏิบัติการ Linux / UNIX
ไก่ C ผลิตที่มีประสิทธิภาพและแบบพกพาและสนับสนุนหลายภาษามาตรฐานโครงการปัจจุบัน (ดูรายชื่อด้านล่างเพื่อดูรายละเอียด)
จะให้ออกจากกล่องการสนับสนุนสำหรับ SRFI 0 (cond ขยาย) SRFI 1 (รายชื่อห้องสมุด) SRFI 2 (และให้ *), SRFI 4 (เนื้อเดียวกันประเภทข้อมูลเวกเตอร์ที่เป็นตัวเลข) SRFI 6 (พอร์ตสตริงพื้นฐาน ) SRFI 8 (รับ) SRFI 9 (Record ชนิด), SRFI 10 (# รูปแบบภายนอก), SRFI 13 (ห้องสมุด String), SRFI 14 (ห้องสมุดตั้งตัวละคร) SRFI 16 (กรณีที่แลมบ์ดา) SRFI 17 ( ชุดทั่วไป!) SRFI 18 (สนับสนุน Multithreading) SRFI 23 (ผิด), SRFI 25 (วิทยาการอาร์เรย์หลายมิติ) SRFI 26 (ตัด, น่ารัก) SRFI 28 (รูปแบบ) SRFI 30 (ความคิดเห็นบล็อก) SRFI 37 ( หน่วยประมวลผลอาร์กิวเมนต์โปรแกรม) SRFI 38 (ตัวแทนภายนอกสำหรับข้อมูลที่มีโครงสร้างที่ใช้ร่วมกัน) SRFI 39 (พารามิเตอร์) SRFI 40 (ห้องสมุดสตรีม) SRFI 42 (กระตือรือร้น comprehensions) SRFI ที่ 43 (ห้องสมุดเวกเตอร์) และ SRFI 55 (ต้องใช้นามสกุล ).
มีอะไรใหม่ ในข่าวประชาสัมพันธ์นี้:
- ข่าวประชาสัมพันธ์ฉบับนี้รวมถึงการรักษาความปลอดภัยที่สำคัญหลายประการและความผิดพลาดการแก้ไขหลังจากที่สนุกสนานข้อผิดพลาดที่ผ่านมาการล่าสัตว์โดยแฮกเกอร์หลักของเรา.
มีอะไรใหม่ ในรุ่น 4.8.0.5:
- ข่าวประชาสัมพันธ์ฉบับนี้รวมถึงการรักษาความปลอดภัยที่สำคัญหลายประการและความผิดพลาดการแก้ไขหลังจากที่สนุกสนานข้อผิดพลาดที่ผ่านมาการล่าสัตว์โดยแฮกเกอร์หลักของเรา.
มีอะไรใหม่ ในรุ่น 4.8.0.3:
- ข่าวประชาสัมพันธ์ฉบับนี้เป็นหลักในการแก้ไขข้อผิดพลาดบน Linux และ Solaris ซึ่งทำให้เกิดการใช้งาน CPU สูงเมื่อรอให้กระบวนการเด็ก I / O.
มีอะไรใหม่ ในรุ่น 4.8.0.2:
- ล่าม:
- การถดถอยในการแก้ไขปัญหา, D สำหรับขั้นตอนซึ่งส่งผลให้เกิดข้อผิดพลาด sprintf.
- คอมไพเลอร์:
- การเขียนใหม่ของการแก้ไขปัญหาการขึ้นบรรทัดใหม่ (~~) ใน printf.
- Runtime:
- อนุญาต & gt; กอง 4GB ในระบบ 64 บิต (# 974).
- ห้องสมุดที่ขาดหายไปเพิ่ม (-lrt) บน Solaris สำหรับการโทร nanosleep (# 970).
- สร้างระบบ:
- ใช้ -f ทดสอบแทนการทดสอบ -e ใน identify.sh จะปลอบโยน Solaris.
มีอะไรใหม่ ในรุ่น 4.8.0.1:
- แก้ไขการรักษาความปลอดภัย:
- การสำรวจความคิดเห็นการใช้ POSIX () บนระบบที่มีให้บริการ นี้หลีกเลี่ยงข้อบกพร่องในการออกแบบเลือก (); จะสนับสนุนไม่เกินอธิบาย FD_SETSIZE.
- ห้องสมุดหลัก:
- คงจัดการ EINTR ในขั้นตอนการรอและเมื่ออ่านจากพอร์ตไฟล์.
- แก้ไขข้อผิดพลาดสำหรับ irregex (# 686) หมายเหตุ:. แม้ว่าขณะนี้ irregex.scm รุ่น 0.9.2 กล่าวว่ารุ่นที่เป็นจริง 0.8.3 บวกไม่กี่แพทช์ backported
- ปัญหาถาวรใน "ทำให้ชื่อพา ธ " ที่กลับเส้นทางแน่นอนหากได้รับอย่างใดอย่างหนึ่งโดยไม่ต้องโต้แย้งญาติไดเรกทอรี.
- ในระบบ 64 บิตระบุคุณลักษณะ "64bit" มีการลงทะเบียน.
- คอมไพเลอร์:
- ข้อบกพร่องต่างๆคงที่ในฐานข้อมูลชนิด.
- Bugfixes และการปรับปรุงใน scrutinizer ได้.
- ในการไหลผ่านการวิเคราะห์ประเภทของการจับคู่ของการรวมกันของ "รายการ" / "รายการของ" ชนิดที่ได้รับการทำเชื่อถือได้มากขึ้น.
- ไวยากรณ์แผ่:
- กำหนดให้เปลี่ยนชื่อมหภาคในร่างกายเริ่มต้น (โมดูลภายใน) สามารถมองเห็นรูปแบบในภายหลัง (# 944).
- ระบบ Runtime:
- รหัสไม่ถูกต้องคงที่ในการแปลงข้อโต้แย้งต่างประเทศสำหรับ "ไม่ได้ลงนาม-integer64" (# 955).
- เครื่องมือหลัก:
- เส้นทางลิงเกอร์รันไทม์สำหรับ executables รวบรวมไม่ได้ตั้งค่าอย่างถูกต้องในระบบ FreeBSD.
- แก้ไขความแตกแยกติดตั้งส่วนขยายเมื่อหาเรื่องที่สองมีคู่ (SRC DST).
- สร้างระบบ:
- ป้องกันการสร้างใหม่ของ buildversion.scm บนทำทุก (1) บน Windows.
มีอะไรใหม่ ในรุ่น 4.8.0:
- การเชื่อมต่อและ functors ได้มีการเพิ่มระบบโมดูล.
- ระบบการพิมพ์ที่ได้รับการขยาย.
- จำนวนมาก bugfixes และการทำความสะอาดทั่วไปได้รับการดำเนินการในการรวบรวมระบบรันไทม์ห้องสมุดหลักไวยากรณ์และแผ่.
มีอะไรใหม่ ในรุ่น 4.6.0:
- การเพิ่มประสิทธิภาพคอมไพเลอร์บางคนได้รับการปรับปรุงอย่างมีนัยสำคัญ.
- ขั้นตอนในตัวหลายและวิธีการจัดสรรสำหรับรายการเวกเตอร์และโครงสร้างสร้างรหัสได้เร็วขึ้น.
- หน่วย srfi-4 และ srfi-18 ได้รับการทำความสะอาดอย่างหนักขึ้นและเพิ่มประสิทธิภาพ.
- ข้อบกพร่องหลายคนได้รับการแก้ไขในการจัดตารางเวลาด้าย.
- ไก่ติดตั้งได้รับการขยายและการสนับสนุนการรวบรวมข้ามได้รับการอัพเกรดอย่างมีนัยสำคัญ.
- สร้างระบบในขณะนี้สนับสนุนแพลตฟอร์มมากขึ้นและคอมไพเลอร์.
- สคริปต์โครงสร้างพื้นฐานต่างๆได้รับการซ่อมแซมเพื่อให้สอดคล้องกับโครงสร้างของโครงสร้างพื้นฐานที่เว็บไซต์ใหม่.
มีอะไรใหม่ ในรุ่น 4.4.0:
- ระบบขณะนี้คุณสามารถสร้างขึ้นด้วย LLVM-gcc และ / หรือ "เสียงดังกราว" (คอมไพเลอร์ C LLVM ซึ่งไม่ได้ใช้หน้า GNU C)
- เพิ่มตัวเลือกใหม่ -trunk `'` ไก่ที่จะติดตั้ง' ซึ่งการสร้างกองกำลังและการติดตั้งรุ่นพัฒนาของนามสกุลร่วมกับ `t-ท้องถิ่น
- เพิ่มตัวเลือกใหม่ -deploy `'` ไก่ที่จะติดตั้ง' ซึ่งสร้างส่วนขยายสำหรับการใช้งานใน "นำไปใช้งาน" (ดูด้านล่าง)
- เพิ่มตัวเลือก `-deploy 'เพื่อ` CSC' ขับคอมไพเลอร์ ด้วยตัวเลือกนี้ `CSC 'สามารถสร้างแอพลิเคชันได้อย่างเต็มที่รวมกลุ่มอยู่ในตัวเองและ Macintosh ดับเบิลคลิกปพลิเคชัน GUI; ดู "การใช้งาน" บทคู่มือสำหรับข้อมูลเพิ่มเติม
- ไดเรกทอรีที่กำหนดให้ตัวเลือกของ `ไก่ติดตั้ง '` -prefix ตอนนี้อาจจะเป็นญาติชื่อพา ธ .
- ลบออกห้องสมุดรันไทม์ GUI เฉพาะ (`libchicken-GUI) จาก Windows สร้าง
- GUI- และการใช้งานที่ไม่ GUI ตอนนี้ใช้ห้องสมุดรันไทม์เดียวกัน
- รูปแบบพิเศษของอินเตอร์เฟซฟังก์ชั่นต่างประเทศได้ถูกแทนที่ด้วยรูปแบบภายในและไวยากรณ์ที่จะอนุญาตให้เปลี่ยนชื่อและแชโดว์ของแบบฟอร์มเหล่านี้
- ใหม่ `ส่วนตัว-พื้นที่เก็บข้อมูล 'ใน' CSC 'รวบรวม executables กับเส้นทางที่เก็บนามสกุลตั้งไปยังไดเรกทอรีที่โปรแกรมถูกเริ่มต้น
- `CSC: เลิก` -W 'และ `-Windows' ตัวเลือกเพิ่ม` -gui 'แทนแพลตฟอร์ม
- `ต้องใช้นามสกุล '/' ใช้ 'ยอมรับตอนนี้นำเข้าข้อกำหนด
- ผู้ใช้กำหนดส่วนขยาย specifiers และ `ตั้งส่วนขยายระบุ! ได้ถูกลบออก
- `ลบไฟล์ [*] ',` เปลี่ยนชื่อไฟล์', `สร้างไดเรกทอรี ',` ไฟล์คัดลอก', `ไฟล์ย้าย ',` ลบไดเรกทอรี' และ `เปลี่ยนไดเรกทอรี 'กลับโต้แย้งของพวกเขา / ชื่อไฟล์ปลายทางความสำเร็จ
- เพิ่มขั้นตอนที่ขาดหายไป `เงื่อนไขตัวแปรชื่อ 'เพื่อ srfi-18 หน่วยห้องสมุด (ขอขอบคุณ Joerg Wittenberger)
- `glob? ฟังก์ชั่นจากหน่วย `regex 'ได้รับการคัดค้าน
- เพิ่มขั้นตอนการสแกน `อินพุตสาย 'เพื่อ` utils หน่วยห้องสมุด
- เพิ่มตัวเลือกใหม่รันไทม์ `-: g 'ซึ่งจะช่วยให้การส่งออกการแก้จุดบกพร่อง GC
- การบุกเบิกของสัญลักษณ์ที่ไม่ได้ใช้ใน "สัญลักษณ์ GC โหมด" (`- w: th ') ตอนนี้ใช้เวลาเพียงสถานที่สำหรับสัญลักษณ์ที่มีรายชื่อสถานที่ให้บริการที่ว่างเปล่า
- ในการโหลดของ Windows รหัสเรียบเรียงด้วย [ไม่] ห้องสมุดรันไทม์ GUI จะล้มเหลวและสร้างข้อผิดพลาดเมื่อโหลดปฏิบัติการมีการเชื่อมโยงกับระบบรันไทม์ที่แตกต่างกัน
- บน Windows, ห้องสมุด GUI ไม่ได้เชื่อมโยงได้อย่างถูกต้องโดย `CSC '
- หน่วย POSIX: เพิ่มหมาสำหรับ `แฟ้มการปรับเปลี่ยนเวลา '
- แบนเนอร์แสดง branchname ของการสร้างนอกจากจะเป็น "ต้นแบบ"
- 'การเลือกที่จะ `ไก่ติดตั้ง'` ไม่มีการติดตั้งจะถูกละเว้นเมื่อมีการสร้าง / การติดตั้งการอ้างอิง
- `ไก่ถอนการติดตั้ง 'ใช้ glob แทนการแสดงออกปกติเป็นอาร์กิวเมนต์
- เปลี่ยนชื่อและเปรียบเทียบฟังก์ชั่นสำหรับระดับต่ำนิยามแมโครยอมรับในขณะนี้โดยพล s-สำนวนและเปลี่ยนชื่อ / เปรียบเทียบพวกเขาซ้ำ
- `หมายเลข & gt; สตริง 'จับตัวเลขเชิงลบที่มีฐานที่แตกต่างกันได้อย่างถูกต้องตั้งแต่วันที่ 10 (ขอบคุณปีเตอร์ Danenberg)
- ลบออกเลิก `ติดตั้งติดตั้งธง 'และ` การติดตั้งอย่างละเอียด-ธงจากการติดตั้งโมดูล `-API'
- เพิ่มตัวเลือกใหม่ -repository `'` ไก่ที่จะติดตั้ง' (ขอขอบคุณคริสเตียน Kellermann)
- ลบออก `ไก่ติดตั้งโปรแกรมต้นขั้ว
- แก้ไข `CSC 'การใช้ไลบรารีที่ถูกต้องเมื่อแก้ไขเส้นทางโหลดแบบไดนามิก (ขอขอบคุณ Derrell ไพเพอร์)
- ลบออกเอกสาร html ที่จากการกระจาย (คู่มือวิกิพีเดียในขณะนี้จะได้รับการติดตั้ง)
- การแก้ไขข้อผิดพลาดใน `reexport 'ซึ่งก่อให้เกิดไวยากรณ์ไม่ได้ที่จะถูกต้องเอกสารกำกับ
- ได้รับมอบหมายก่อนหน้านี้ให้กับตัวแปรระดับบนสุดที่มีการแยกจากกันโดยผลข้างเคียงการแสดงออกฟรีจะถูกลบออก
- Windows รุ่นคงที่ของ `ค้นหาไฟล์ '(ขอบคุณจิม Ursetto)
- เอกสารสำหรับส่วนขยายไม่ได้ติดตั้งโดยอัตโนมัติโดย `ไก่ติดตั้ง 'อีกต่อไป
- การเปลี่ยนแปลงรุ่นไบนารีจาก "4" ถึง "5" เพราะห้องสมุดรันไทม์ใหม่ไม่ได้ไบนารีเข้ากันได้กับรุ่นก่อนหน้านี้; นี้หมายถึงไข่ทั้งหมดจะต้องมีการติดตั้งใหม่และโปรแกรมที่มีอยู่สามารถ recompiled!
- เพิ่ม unboxing ผ่านการคอมไพเลอร์ซึ่งผลในการปรับปรุงประสิทธิภาพการทำงานบางส่วน dramatical รหัสลอยจุดที่ไม่ปลอดภัยมาก; unboxing ถูกเปิดใช้งานในระดับที่เพิ่มประสิทธิภาพที่ 4 และ 5
- การเพิ่มประสิทธิภาพส่วนที่เหลืออาร์กิวเมนต์เวกเตอร์ลบออกมันจะขัดแย้งกับอินไลน์ (ขอบคุณสเวน Hartrumpf)
- เปลี่ยนชื่อ `ชี้ชดเชย 'เพื่อชี้` +' และเลิก `ชี้ชดเชย '
- การกำหนดระดับบนสุดที่ไม่มีผลข้างเคียงอื่น ๆ ที่สามารถตัดออกว่าจะสามารถแสดงให้เห็นว่าค่าที่ไม่ได้ใช้ (คอมไพเลอร์จะสร้างคำเตือนในกรณีนี้)
- ลบออกเลิก 'ใน' ไก่ '`เงียบโปรแกรม
- ลบออกเลิก `เรียกใช้เวลาแมโคร 'ประกาศ
- ลบออกเลิก `-v2 'และ` -v3' ตัวเลือกใน `CSC โปรแกรม
- ลบออกเลิก `รายชื่อของฟังก์ชั่น (มันสามารถใช้ได้เฉพาะเป็น` รายการของ? 'ตอนนี้)
- ลบออกเลิก `สถิติ -... ฟังก์ชั่นในหน่วย POSIX ห้องสมุด
- ลบออกเลิก `สำหรับแต่ละบรรทัด 'และ` สำหรับแต่ละ-argv บรรทัด' วิธีการในการ utils หน่วยห้องสมุด
- เพิ่ม `fpinteger? และ `fpabs '
- เลิก `กำหนดรวบรวมไวยากรณ์ '
- เพิ่มวิทยาการใหม่จุดลอย `fpsin ',` fpcos', `fptan ',` fpasin', `fpacos ',` fpatan', `fpatan2 ',` fpexp', `fplog ',` fpexpt' และ ` fpsqrt '
- ล้างหนักของลอยฟังก์ชั่นทางคณิตศาสตร์ซึ่งจะช่วยให้ประสิทธิภาพที่ดีขึ้นมากโดยเฉพาะอย่างยิ่งสำหรับรหัสเรียบเรียงในโหมดที่ไม่ปลอดภัย
- เรียก `ยืนยันกับอาร์กิวเมนต์เดียวแสดงให้เห็นถึงการแสดงออกผ่านการทดสอบในความล้มเหลว
- bugfixes ต่างๆและการทำความสะอาด
มีอะไรใหม่ ในรุ่น 4.2.0:
- ไก่ติดตั้งได้รับการแก้ไขในการจัดเรียงอ้างอิงห้องสมุดเพื่อทอพอโลยีและพยายามเซิร์ฟเวอร์ทางเลือกถ้าเซิร์ฟเวอร์ไข่ตอบสนองกับข้อผิดพลาด.
- กองปฏิบัติการในโมดูลรหัสการชุมนุมถูกปิดใช้งานโดยค่าเริ่มต้น.
- ข้อบกพร่องจำนวนมากได้รับการแก้ไขในการสร้าง MinGW.
- เลือกใหม่หลายคนได้รับการเพิ่มคอมไพเลอร์และล่าม.
มีอะไรใหม่ ในรุ่น 3.4.0:
- คอมไพเลอร์ในขณะนี้สนับสนุนโปรไฟล์ขั้นตอนการคัดเลือก.
- ทุกขั้นตอนที่เกี่ยวข้องกับไฟล์ได้ถูกย้ายไปหน่วยงานใหม่ไฟล์.
- มีการแก้ไขจำนวนมากไปยัง Cygwin และสร้าง MinGW.
- PCRE พร้อมกับไก่ได้รับการปรับปรุง.
ความคิดเห็นที่ไม่พบ