กลับไปหน้าบทความ

อ่าน 3 นาที

ฟรีเบสิก

FreeBASIC เป็น คอมไพเลอร์ และ ภาษาโปรแกรม แบบโอเพน ซอร์สและฟรี สำหรับหลาย แพลตฟอร์ม โดยอิงจาก BASIC ซึ่งได้รับอนุญาตภายใต้ GNU GPL สำหรับ Microsoft Windows , MS-DOS ในโหมดป้องกัน(...

ฟรีเบสิก

ฟรีเบสิก
กระบวนทัศน์แบบเชิงกระบวนการและเชิงวัตถุ
ออกแบบโดยอังเดร วิคเตอร์ ที. วิเซนตินี[ 1 ]
นักพัฒนาทีมพัฒนา FreeBASIC
ปรากฏครั้งแรก2004 ( 2004 )
เวอร์ชันเสถียร
1.10.1 / 25 ธันวาคม 2023 ( 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
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=FreeBASIC&oldid=1355891632 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ ฟรีเบสิก

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...