QB64 - QB64

QB64
QB64 logosu
GeliştiriciRob Galleon, QB64Team
İlk ortaya çıktı2007; 13 yıl önce (2007)
Kararlı sürüm
1.4 / 13 Şubat 2020; 9 ay önce (2020-02-13)
işletim sistemiMicrosoft Windows, Linux, Mac os işletim sistemi
LisansMIT
İnternet sitesiwww.qb64.org
Tarafından etkilenmiş
QuickBASIC, QBASIC

QB64 (aslında QB32)[1] bir kendi kendine barındırma TEMEL için derleyici Microsoft Windows, Linux ve Mac OS X, Microsoft ile uyumlu olacak şekilde tasarlanmıştır QBasic ve QuickBASIC. QB64 bir C ++ C ++ kodu aracılığıyla derleme sağlamak için bir C ++ derleyicisi ile entegre olan emitter ve GCC optimizasyon.[2]

QB64, çoğu QBasic deyimini uygular ve Microsoft'un QBasic'i de dahil olmak üzere birçok QBasic programını çalıştırabilir. Goriller ve Nibbles oyunlar.[3] Ayrıca, QB64, QBASIC IDE'ye benzeyen bir IDE içerecek şekilde tasarlanmıştır. QB64 ayrıca QBASIC programlama dilini de genişletir. 64 bit veri türlerinin yanı sıra daha iyi ses ve grafik desteği. Ayrıca bazı DOS / x86'ya özgü özellikleri taklit edebilir. INT 33 saat fare erişimi ve birden çok zamanlayıcı.

Tarih

QB64 orijinal olarak QuickBASIC 4.5 ile derlenmiştir. Önemli geliştirmelerden sonra, geliştirici Rob Galleon, QuickBASIC'in bellek sınırlamaları nedeniyle engellendi ve bu sorunları kısa bir süre için çözen Microsoft Basic PDS 7.1'e geçti.[4] 0.63 sürümünden sonra, QB64 kendini derleyebilme Böylece geleneksel hafıza sınırlamalar artık uygulanmamaktadır.

QB64'ün itici gücü ile ilgili olarak Galleon şunları söyledi:[5]

QB64'e olan ihtiyacı, VISTA'nın piyasaya sürülmesinin QBASIC'i sakatlayacağı ve onu yalnızca bilgisayarlardaki modern özelliklerden yararlanma şansı çok az olan / hiç olmayan emülatörlerde çalıştırılabilen eski bir dile bırakacağı netleştiğinde görmeye başladım. QB64'ün gerçek kodlaması bu yılın başında başladı ve QB64 o zamandan beri istikrarlı bir ilerleme kaydetti. Daha önce programlama dilleri yazma deneyimim vardı, bu yüzden beklenen zorlukları önceden biliyordum.

Sözdizimi

QB64'ün sözdizimi, QuickBASIC ile tamamen geriye dönük olarak uyumlu olacak şekilde tasarlanmıştır. Satır numaraları gerekli değildir ve ifadeler tarafından sonlandırılır yeni satırlar veya ile ayrılmış iki nokta üst üste (:).

Bir örnek "Selam Dünya!" program dır-dir:

YAZDIR"Selam Dünya!"

Uyumluluk için QB64'ün VGA bellek öykünmesine bir örnek:

CLSS $="Selam Dünya!"DEF SEG=&HB800segmenti video belleğine ayarlarİÇİNben=1KİMEUZUNLUK(S $)POKE160+(ben-1)*2,ASC(ORTA $(S $,ben,1))'karakterSONRAKİDEF SEGsegmenti varsayılana sıfırlayın

QB64'ün ses dosyalarına nasıl izin verdiğine dair bir örnek:

ses efekti&=_SNDOPEN("sound.wav")WAV, OGG veya MP3_SNDPLAYses efekti&

QB64'ün resim dosyalarına nasıl izin verdiğine dair bir örnek:

EKRAN_YENİ GÖRÜNTÜ(800,600,32)32 bit ekran oluştururgörüntü adı &=_RESMİ YÜKLE("image__name.png")BMP, JPG, PNG vb._PUTIMAGE(0,0),görüntü adı &_FREEIMAGEgörüntü adı &'atanmış belleği serbest bırak

QB64'ün birden çok zamanlayıcıyı nasıl kullandığına bir örnek:

t1=_FREETIMERt2=_FREETIMERZAMANLAYICI(t1,1)GOSUBZamanlayıcı.TuzakTimer.Trap etiketini takip eden kod her 1 saniyede bir çalıştırılacaktır.ZAMANLAYICI(t2,.5)mySubQB64 ayrıca TIMER ile bir SUB prosedürünü tetikleyebilir;bu durumda mySUB her 500 milisaniyede bir tetiklenecektirzamanlayıcıları etkinleştir:ZAMANLAYICI(t1)AÇIKZAMANLAYICI(t2)AÇIKYAPMAKpencere kapanana kadar sonsuz bir döngüye gir_LIMIT1Zamanlayıcıların ana program akışından nasıl bağımsız olduğunu göstermek için ana döngüyü saniyede 1 döngüde çalıştırınDÖNGÜZamanlayıcı.Tuzak:YAZDIR"1s;";DÖNÜŞALTmySubYAZDIR"500 ms;";SONALT

QBASIC için Uzantılar

QB64'ün genişletilmiş komutları bir vurgulamak QuickBASIC programında kullanılabilecek herhangi bir adla çakışmayı önlemek için. 1.4 sürümünden başlayarak, alt çizgi öneki meta komut kullanılarak kaldırılabilir. $ NOPREFIX.[6]QB64, QuickBASIC dilini çeşitli şekillerde genişletir. Yeni ekler veri tipleri dahil olmak üzere _BİT, _BAYT, _INTEGER64 ve _FLOAT Hem de imzasız veri tipleri. Yeni veri türleri, son ekler tıpkı geleneksel BASIC veri türleri gibi. QB64 ayrıca bir ses içerir kütüphane dahil olmak üzere en yaygın ses formatlarını oynatmaya izin veren MP3, Ogg Vorbis, ve WAV dosyaların yanı sıra kullanıcıların QuickBASIC tarafından sunulan 640 × 480'den daha yüksek çözünürlüklü grafikleri kullanmasına izin veren kitaplıklar,[7] farklı yazı tipleri kullanın ve görüntüleri BMP, PNG, ve JPEG biçimler. Ayrıca, orijinal olarak sunulan sınırlı 256 (veya bağlı olarak 16) rengin aksine 32 bit renk kullanımına izin verir. QB64 bunu otomatik olarak yaptığı için programcının hangi programlama kitaplıklarının dahil edileceğini belirtmesi gerekmez. Programcı, $ INCLUDE komutu aracılığıyla kendi kitaplığını dahil etme seçeneğine sahiptir. QuickBASIC yaptı.

QB64'ün Avantajları

  • Farklı dosya formatlarını destekler ve ayrıca panoya erişim sağlar.
  • QB64, 32 bit grafik dosyalarına (en popüler formatlar) anında erişim sağlar.
  • QB64, çeşitli ses formatlarına anında erişim sağlar.
  • Çoğu modern işletim sisteminde desteklendiği için öykünme gerekmez.

Kitaplıklar

QB64 bütünleşir FreeGLUT grafikleri ve metni için.

Barındırılan havuzun bir geliştirme dalı GitHub sık sık düzeltmeler ve iyileştirmelerle güncellenir ve sonunda bir sonraki kararlı sürüm haline gelir. Geliştirme yapıları, kullanıcılara beta testi için resmi web sitesi aracılığıyla da sunulmaktadır.

QB64 ayrıca bir DECLARE LIBRARY bloğu ile Windows, C ++ ve SDL işlevleri ve deyimleri için DLL kitaplıklarını kullanabilir. Kullanıcılar ayrıca C işlevlerini çalıştırmak için C başlık dosyalarına erişebilirler.

Referanslar

  1. ^ Stephane Richard (2007-11-16). "Haberlerde". PCOPY! Sorun 50. Temel Programlama. Arşivlenen orijinal 2009-12-21 tarihinde. Alındı 2008-08-17.
  2. ^ E.K. Virtanen (2008-05-26). "Galleon ile Röportaj". PCOPY! Sorun 70. Temel Programlama. Arşivlenen orijinal 2008-08-21 tarihinde. Alındı 2008-07-14.
  3. ^ "QB64 Ekran Görüntüleri - QB64'te QB64 / QBASIC Goriller". Arşivlenen orijinal 2013-05-12 tarihinde. Alındı 2010-07-27.
  4. ^ https://www.tapatalk.com/groups/qbasic/more-bugs-please-seriously-t36524.html#p165571
  5. ^ "QB64 Forumuna hoş geldiniz!". QBASIC FORUM. Alındı 2020-01-28.
  6. ^ https://www.qb64.org/portal/changelog-of-v1-4/
  7. ^ "QB Danışmanı: Ekran Modları 11, 12 ve 13". Microsoft şirketi. 1988. Arşivlenen orijinal 2009-01-05 tarihinde. Alındı 2008-07-25.

Dış bağlantılar