QB64
| QB64 | ||
|---|---|---|
|
Le logo QB64 et une capture d'écran de l'IDE | ||
| Développeur(s) | ||
|
Galion, équipe QB64 https://qb64.com | ||
| Informations générales | ||
| Extensions courantes | .bas, .bi, .bm | |
| Paradigme | Programmation procédurale | |
| Apparaît dans | 2007 | |
| Dernière version stable | 2.0.2 (07 novembre 2021 (11 mois et 12 jours)) | |
| Dernière version en test | qb64_2021-10-17-04-35-15_45fed46 | |
| influencé par | QuickBASIC , QBASIC | |
| Système opératif | Microsoft Windows , Linux , macOS | |
| Licence | LGPLv2.1 | |
QB64 (initialement appelé QB32 ) est un compilateur de langage BASIC intégré pour Microsoft Windows , GNU/Linux et MacOS X. Il est conçu pour être compatible avec QBASIC et QuickBASIC de Microsoft . QB64 génère du code C++ qui est ensuite compilé à l'aide de GCC .
QB64 implémente la plupart des commandes de QBasic et peut exécuter de nombreux programmes écrits pour lui, y compris les jeux de démonstration Gorillas et Nibbles . De plus, QB64 a été conçu pour contenir un IDE similaire à QBasic. Il étend également le langage QuickBASIC pour inclure des types de données 64 bits , ainsi qu'une prise en charge améliorée du son et des graphiques. Il est également capable d'émuler certaines fonctionnalités spécifiques de DOS /x86, telles que l'accès à la souris via Interrupt 33h et plusieurs minuteries.
Depuis la version 2.0, il inclut également des fonctionnalités de débogage.
Historique
QB64 a été initialement compilé avec QuickBASIC 4.5. Après un développement approfondi, Galleon, le développeur, a été gêné par les limitations de mémoire de QuickBASIC et a choisi de passer à Microsoft Basic PDS 7.1, ce qui a résolu tous ces problèmes pendant un certain temps. Depuis la version 0.63, QB64 est capable de s'auto-compiler , donc les limitations de mémoire conventionnelles ne s'appliquent plus.
Syntaxe
La syntaxe QB64 est conçue pour être entièrement compatible avec QuickBASIC. Les numéros de ligne ne sont pas obligatoires et les commandes se terminent par des sauts de ligne ou deux- points .
Un exemple de programme "Hello, World" pourrait être :
IMPRIMER "Bonjour, monde !"
Un exemple d'émulation de mémoire VGA compatible QuickBASIC :
CLS
S$ = "Bonjour le monde !" DEF SEG = & HB800 'définit le segment sur la mémoire vidéo. FOR J = 1 TO 15 FOR I = 1 TO LEN ( S$ ) POKE J * 160 + ( I - 1 ) * 2 , ASC ( MID$ ( S$ , I , 1 )) 'caractère POKE J * 160 + ( I - 1 ) * 2 + 1 , ( J + 128 ) SUIVANT SUIVANT
Un exemple de la façon dont QB64 autorise les fichiers image et audio :
effet_sonore& = _SNDOPEN ( "son.wav" ) _SNDPLAY effet_sonore&
image& = _LOADIMAGE ( "fichier_image.png" ) _PUTIMAGE ( 0 , 0 ), image&
Extensions à QBASIC
Les commandes étendues QB64 commencent par un caractère de soulignement pour éviter les conflits avec les noms qui pourraient avoir été utilisés dans un programme QuickBASIC. QB64 étend le langage de plusieurs manières. Ajoute de nouveaux types de données , notamment _BIT, et _BYTE, ainsi que des types de données non signés. Les nouveaux types de données ont des suffixes, tout comme les types de données BASIC traditionnels . QB64 comprend également une bibliothèque audio qui vous permet de lire les formats audio les plus courants, y compris les fichiers MP3 , Ogg Vorbis et WAV , ainsi que des bibliothèques qui offrent aux utilisateurs des graphiques de résolution supérieure au maximum de 640x480 offert par QuickBASIC, en utilisant des polices typographiques dessin d'image aux formats BMP , PNG et Jpeg , et l'utilisation de 32 bits par pixel contrairement au maximum précédent de 256 couleurs. Le programmeur n'a pas à spécifier les bibliothèques de programmation à inclure puisque QB64 le fait automatiquement. Le programmeur a la possibilité d'inclure sa propre bibliothèque à l'aide de la métacommande $INCLUDE, comme cela a été fait avec QuickBASIC.
_INTEGER64_FLOAT
Bibliothèques
Les versions actuelles (et futures) intègrent FreeGLUT pour les graphiques et le texte.
Une branche de développement hébergée sur GitHub est mise à jour avec des ajouts fréquents de code source et des correctifs .
QB64 peut également utiliser les DLL Windows , les fonctions et les commandes C++ via un bloc DECLARE LIBRARY. Les utilisateurs peuvent également accéder aux fichiers d'en-tête pour exécuter des fonctions C.