ไลบรารีส่วนหัวเดียวของฉันสำหรับ C/C ++
| ห้องสมุด | เวอร์ชันล่าสุด | หมวดหมู่ | LOC | ใบอนุญาต | คำอธิบาย |
|---|---|---|---|---|---|
| json.h | 1.00 | ตัวแยกวิเคราะห์ | 848 | zlib | ตัวแยกวิเคราะห์ JSON ที่ไม่ได้รวบรวม |
| sched.h | 1.00 | มัลติเธรด | 699 | zlib | ตัวกำหนดตารางงานมัลติเธรด |
| web.h | 1.00 | เครือข่าย | 1455 | BSD | เว็บเซิร์ฟเวอร์น้ำหนักเบา |
| sdefl.h | 1.00 | การบีบอัด | 525 | โดเมนสาธารณะ | คอมเพรสเซอร์ |
| sinfl.h | 1.00 | การบีบอัด | 320 | โดเมนสาธารณะ | decompressor |
ห้องสมุดทั้งหมด: 5
บรรทัดทั้งหมดของรหัส C: 4487
Windows ไม่มีไดเรกทอรีมาตรฐานที่ห้องสมุดอาศัยอยู่ สิ่งนี้ทำให้การปรับใช้ไลบรารีใน Windows เจ็บปวดมากกว่านักพัฒนาโอเพนซอร์สบน Unix-derivates โดยทั่วไป (มันยังทำให้การพึ่งพาห้องสมุดแย่ลงมากใน Windows)
นอกจากนี้ยังมีปัญหาที่พบบ่อยใน Windows ที่ห้องสมุดถูกสร้างขึ้นกับห้องสมุดรันไทม์รุ่นอื่นซึ่งทำให้เกิดความขัดแย้งและความสับสนของลิงก์ การจัดส่ง LIBS เป็นส่วนหัวหมายความว่าคุณเพียงแค่รวบรวมพวกเขาโดยตรงในโครงการของคุณโดยไม่ต้องทำห้องสมุดดังนั้นจึงหลีกเลี่ยงปัญหานั้น
การทำให้ไฟล์เดียวทำให้ง่ายมากที่จะวางลงในโครงการที่ต้องการ (แน่นอนคุณยังสามารถใส่ไว้ในแผนผังห้องสมุดที่ใช้ร่วมกันได้อย่างเหมาะสมหากคุณต้องการ)
ทำไมไม่สองไฟล์หนึ่งส่วนหัวและการใช้งานหนึ่งไฟล์? ความแตกต่างระหว่าง 10 ไฟล์และ 9 ไฟล์ไม่ใช่เรื่องใหญ่ แต่ความแตกต่างระหว่าง 2 ไฟล์และ 1 ไฟล์เป็นเรื่องใหญ่ คุณไม่จำเป็นต้องซิปหรือทำให้ไฟล์ขึ้นคุณไม่ต้องจำไว้ว่าต้องแนบไฟล์ สอง ไฟล์ ฯลฯ
แต่ละไฟล์มีเอกสารคำอธิบายการใช้งานพื้นฐานและตัวอย่างที่ด้านบนของไฟล์ นอกจากนี้แต่ละฟังก์ชั่น API ตัวแปรโครงสร้างและสมาชิกจะได้รับการบันทึกไว้เช่นกัน ในที่สุดแต่ละไลบรารีมีไฟล์ทดสอบที่สอดคล้องกันภายในไดเรกทอรีทดสอบสำหรับตัวอย่างการทำงานเพิ่มเติม
โดยส่วนตัวแล้วฉันใช้ C แทน C ++ เป็นหลักและเนื่องจากฉันต้องการสนับสนุนทั้ง C และ C ++ และ C ++ ไม่สามารถใช้งานได้จาก CI ดังนั้นจึงมุ่งเน้นไปที่ C.
ฉันใช้ C89 แทน C99/C11 สำหรับการพกพาระหว่างคอมไพเลอร์ที่แตกต่างกันและ Accessiblity สำหรับภาษาอื่น ๆ