อ่าน 3 นาที
ฟรีเบสิก
FreeBASIC เป็น คอมไพเลอร์ และ ภาษาโปรแกรม แบบโอเพน ซอร์สและฟรี สำหรับหลาย แพลตฟอร์ม โดยอิงจาก BASIC ซึ่งได้รับอนุญาตภายใต้ GNU GPL สำหรับ Microsoft Windows , MS-DOS ในโหมดป้องกัน(...
ฟรีเบสิก
| ฟรีเบสิก | |
|---|---|
![]() | |
| กระบวนทัศน์ | แบบเชิงกระบวนการและเชิงวัตถุ |
| ออกแบบโดย | อังเดร วิคเตอร์ ที. วิเซนตินี[ 1 ] |
| นักพัฒนา | ทีมพัฒนา FreeBASIC |
| ปรากฏครั้งแรก | 2004 |
| เวอร์ชันเสถียร | 1.10.1 / 25 ธันวาคม 2023 |
| วินัยในการพิมพ์ | สถิต |
| โอเอส | เอ็มเอส-ดีโอเอส , ฟรีบีเอสดี , ลินุกซ์ , ไมโครซอฟต์ วินโดว์ |
| ใบอนุญาต | ไลบรารีมาตรฐานได้รับอนุญาตภายใต้ GNU GPLv2 + |
| เว็บไซต์ | www.freebasic.net |
| ได้รับอิทธิพลจาก | |
| QuickBASIC , C | |
FreeBASICเป็นคอมไพเลอร์และภาษาโปรแกรม แบบโอเพน ซอร์สและฟรีสำหรับหลาย แพลตฟอร์ม โดยอิงจากBASICซึ่งได้รับอนุญาตภายใต้GNU GPL สำหรับMicrosoft Windows , MS-DOSในโหมดป้องกัน( DOS extender ), Linux , FreeBSDและXboxเวอร์ชัน Xbox ไม่ได้รับการดูแลรักษาอีกต่อไป[ 2 ]
ตามเว็บไซต์อย่างเป็นทางการ[ 3 ] FreeBASIC ให้ความเข้ากันได้ทางไวยากรณ์กับโปรแกรมที่เขียนขึ้นในMicrosoft QuickBASIC (QB) เดิมที อย่างไรก็ตาม ต่างจาก QuickBASIC ตรงที่ FreeBASIC เป็นคอมไพเลอร์ แบบบรรทัดคำสั่งเท่านั้น เว้นแต่ผู้ใช้จะติดตั้ง สภาพแวดล้อมการพัฒนาแบบบูรณาการ (IDE) ภายนอกที่ตนเลือกด้วย ตนเอง [ 4 ]
คุณสมบัติของคอมไพเลอร์
ในส่วนแบ็กเอนด์ FreeBASIC ใช้GNU Binutilsในการสร้าง แอป พลิเคชันแบบคอนโซลและแบบกราฟิก FreeBASIC รองรับการเชื่อมโยงและการสร้างไลบรารีแบบคงที่และแบบไดนามิก ของภาษา Cและมีการสนับสนุน ไลบรารี C++ อย่างจำกัด ด้วยเหตุนี้ โค้ดที่คอมไพล์ใน FreeBASIC จึงสามารถนำกลับมาใช้ใหม่ได้ในสภาพแวดล้อมการพัฒนาแบบเนทีฟส่วนใหญ่
แม้ว่า FreeBASIC จะไม่ใช่คอมไพเลอร์ที่ปรับแต่งประสิทธิภาพแต่สามารถแปลงโค้ดเป็นภาษา C เพื่อคอมไพล์โดยใช้การปรับแต่งประสิทธิภาพได้ FreeBASIC รองรับ การเขียนโค้ด แอ สเซมบลี แบบอินไลน์ การทำงาน แบบมัลติเธรดและไม่ใช้การ เก็บขยะอัตโนมัติ
โปรแกรมประมวลผลล่วงหน้าแบบ C รองรับการประมวลผล ล่วงหน้า รวมถึงมาโคร หลายบรรทัด การคอมไพล์แบบมีเงื่อนไข และการรวมไฟล์ นอกจากนี้ โปรแกรมประมวลผลล่วงหน้ายังสามารถเข้าถึงข้อมูลสัญลักษณ์และการตั้งค่าคอมไพเลอร์ เช่นภาษาถิ่น ได้อีก ด้วย
ไวยากรณ์
ในขั้นต้น FreeBASIC จำลองไวยากรณ์ของ Microsoft QuickBASIC ให้ใกล้เคียงที่สุดเท่าที่จะเป็นไปได้ นอกจากนั้น ภาษาดังกล่าวยังมีการพัฒนาอย่างต่อเนื่อง ส่งผลให้ FreeBASIC ผสมผสานภาษาถิ่นหลายภาษาเข้าด้วยกันเพื่อให้เข้ากันได้กับ QuickBASIC ในระดับสูงสุดและเข้าถึงคุณสมบัติที่ทันสมัยได้อย่างเต็มที่[ 5 ] คุณสมบัติใหม่ๆ ได้แก่ การสนับสนุนแนวคิดต่างๆ เช่นอ็อบเจ็กต์การโอเวอร์โหลดตัวดำเนินการการโอเวอร์โหลดฟังก์ชันเนมสเปซและอื่นๆ[ 6 ]
อักขระขึ้นบรรทัด ใหม่บ่งบอกถึงการสิ้นสุดของคำสั่งการเขียนโปรแกรม คำสั่งการเขียนโปรแกรมสามารถกระจายไปในหลายบรรทัดติดต่อกันได้โดยใช้เครื่องหมาย ขีดล่าง (_) เพื่อต่อบรรทัด ในขณะที่สามารถเขียนคำสั่งหลายคำสั่งในบรรทัดเดียวได้โดยการคั่นแต่ละคำสั่งด้วยเครื่องหมายโคลอน (:)
รองรับการใส่ ความคิดเห็นแบบบล็อกรวมถึงข้อความปิดท้ายบรรทัด ความคิดเห็นแบบเต็มบรรทัดจะใช้เครื่องหมายอัญประกาศเดี่ยว ('' ) ในขณะที่บล็อกของโค้ดที่มีความคิดเห็นจะเริ่มต้นด้วย/'และจบ'/ด้วย
FreeBASIC ไม่คำนึงถึงตัวพิมพ์ใหญ่เล็ก
ไลบรารีกราฟิก
FreeBASIC มีระบบสนับสนุนกราฟิกในตัวที่เข้ากันได้กับ QuickBASIC ผ่านทาง FBgfx ซึ่งจะถูกรวมเข้าในโปรแกรมที่เรียกใช้SCREENคำสั่งโดยอัตโนมัติ โดยค่าเริ่มต้นจะใช้OpenGLบนLinuxและDirectXบนMicrosoft Windowsการทำงานแบบนี้ทำให้โค้ดกราฟิกของ FBgfx สามารถใช้งานได้ข้ามแพลตฟอร์ม อย่างไรก็ตาม FBgfx ไม่ได้ใช้การเร่งความเร็วด้วยฮาร์ดแวร์
ผู้ใช้ที่คุ้นเคยกับยูทิลิตี้กราฟิกภายนอก เช่น OpenGL หรือ Windows API สามารถใช้งานได้โดยไม่รบกวนไลบรารีกราฟิกในตัว
ภาษาถิ่น
เนื่องจาก FreeBASIC ได้มีการพัฒนาขึ้น จึงมีการเปลี่ยนแปลงที่ทำให้ต้องยกเลิกไวยากรณ์แบบเก่า เพื่อให้ยังคงรองรับโปรแกรมที่เขียนโดยใช้ไวยากรณ์แบบเก่าได้ FreeBASIC จึงรองรับภาษาเฉพาะกลุ่มต่อไปนี้:
- ภาษาเริ่มต้น ( -lang fbเป็นอาร์กิวเมนต์ในบรรทัดคำสั่ง ) รองรับคุณสมบัติใหม่ทั้งหมดของคอมไพเลอร์และไม่อนุญาตให้ใช้ไวยากรณ์แบบเก่า
- ภาษา FB-lite ( -lang fblite ) อนุญาตให้ใช้คุณสมบัติใหม่ๆ ที่ไม่ใช่เชิงวัตถุส่วนใหญ่ นอกเหนือจากการเขียนโปรแกรมแบบเก่า ตัวแปรโดยปริยาย คำต่อท้าย
GOSUB/RETURNป้ายกำกับตัวเลขและคุณสมบัติอื่นๆ ได้รับอนุญาตในภาษานี้ - ภาษา QB ( -lang qb ) พยายามจำลองพฤติกรรมของ QuickBASIC และสามารถคอมไพล์โปรแกรม QuickBASIC หลายโปรแกรมได้โดยไม่ต้องแก้ไขใดๆ
ตัวอย่างโค้ด
โปรแกรมมาตรฐาน เช่นโปรแกรม "Hello, World!"นั้นเขียนได้เหมือนกับใน QuickBASIC ทุกประการ
พิมพ์"สวัสดีโลก!"sleep: end 'ข้อความแสดงความคิดเห็น ป้องกันไม่ให้หน้าต่างโปรแกรมปิดลงทันทีFreeBASIC เพิ่มคุณสมบัติเหล่านี้ด้วยการรองรับ คุณลักษณะ เชิงวัตถุเช่นเมธอดคอนสตรัคเตอร์การจัดสรรหน่วยความจำแบบไดนามิกคุณสมบัติและการจัดสรรชั่วคราว
ประเภทVectorส่วนตัว: x เป็นจำนวนเต็มy เป็นจำนวนเต็มสาธารณะ: ประกาศคอนสตรัคเตอร์( nX เป็นจำนวนเต็ม= 0 , nY เป็นจำนวนเต็ม= 0 ) ประกาศคุณสมบัติgetX เป็นจำนวนเต็มประกาศคุณสมบัติgetY เป็นจำนวนเต็มสิ้นสุดประเภทตัวสร้างVector ( nX As Integer , nY As Integer ) x = nX y = nY End Constructorเวกเตอร์คุณสมบัติ. รับค่า X เป็นจำนวนเต็มส่งคืนค่าx สิ้นสุดคุณสมบัติเวกเตอร์คุณสมบัติ. รับค่า Y เป็นจำนวนเต็มส่งคืนค่าy สิ้นสุดคุณสมบัติDim As Vector Ptr player = New Vector ()* player = Type < Vector > ( 100 , 100 ) Print player -> getX Print player -> getYลบผู้เล่น' โหมดพักเครื่อง' ป้องกันไม่ให้หน้าต่างโปรแกรมปิดลงทันทีในทั้งสองกรณี ภาษาดังกล่าวเหมาะสมอย่างยิ่งสำหรับการเรียนรู้
ลิงก์ภายนอก
- เว็บไซต์อย่างเป็นทางการ
- FreeBASICบนGitHub
- FreeBASICบนSourceForge
- IDE
- WinFBE - โปรแกรมแก้ไข FreeBASIC สมัยใหม่สำหรับ Windows
- VisualFBEditor - IDE กราฟิกแบบข้ามแพลตฟอร์ม
- fbide.freebasic.net — FBIDE สภาพแวดล้อมการพัฒนาแบบบูรณาการสำหรับ freeBASIC
- FBEdit (ปัจจุบัน) — โปรแกรมแก้ไขซอร์สโค้ด FBEdit สำหรับ FreeBASIC เวอร์ชัน 1.0.7.6c
- FBEdit โปรแกรมแก้ไขซอร์สโค้ดสำหรับ freeBASIC (เวอร์ชันเก่า: 1.0.6.8)บนSourceForge
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ ฟรีเบสิก
FreeBASIC เป็น คอมไพเลอร์ และ ภาษาโปรแกรม แบบโอเพน ซอร์สและฟรี สำหรับหลาย แพลตฟอร์ม โดยอิงจาก BASIC ซึ่งได้รับอนุญาตภายใต้ GNU GPL สำหรับ Microsoft Windows , MS-DOS ในโหมดป้องกัน(...
คุณสมบัติของคอมไพเลอร์
ใน ส่วนแบ็กเอนด์ FreeBASIC ใช้ GNU Binutils ในการสร้าง แอป พลิเคชันแบบคอนโซลและแบบกราฟิก FreeBASIC รองรับการเชื่อมโยงและการสร้าง ไลบรารี แบบคงที่และแบบไดนามิก ของภาษา C และมีการสนับสนุน ไลบรารี C++ อย่างจำกัด ด้วยเหตุนี้ โค้ดที่คอมไพล์ใน FreeBASIC...
ไวยากรณ์
ในขั้นต้น FreeBASIC จำลองไวยากรณ์ของ Microsoft QuickBASIC ให้ใกล้เคียงที่สุดเท่าที่จะเป็นไปได้ นอกจากนั้น ภาษาดังกล่าวยังมีการพัฒนาอย่างต่อเนื่อง ส่งผลให้ FreeBASIC ผสมผสานภาษาถิ่นหลายภาษาเข้าด้วยกันเพื่อให้เข้ากันได้กับ QuickBASIC...
ไลบรารีกราฟิก
FreeBASIC มีระบบสนับสนุนกราฟิกในตัวที่เข้ากันได้กับ QuickBASIC ผ่านทาง FBgfx ซึ่งจะถูกรวมเข้าในโปรแกรมที่เรียกใช้ SCREEN คำสั่งโดยอัตโนมัติ โดยค่าเริ่มต้นจะใช้ OpenGL บน Linux และ DirectX บน Microsoft Windows การทำงานแบบนี้ทำให้โค้ดกราฟิกของ FBgfx...
