Sous-systèmes
Introduction
Les commandes intégrées de PureBasic s'appuient sur les bibliothèques disponibles de chaque système d'exploitation. Parfois, il est possible d'atteindre un même résultat de différentes façons. Pour ce faire, PureBasic offre la possibilité de changer de bibliothèque, sans changer une ligne de code source. Par exemple, sous Windows, DirectX peut être utiisé en utilisant le sous-système 'DirectX' de PureBasic, qui lui, utilisera les fonctions DirectX pour rendre les sprites par exemple, en lieu et place de OpenGL (sous-système par défaut).
Pour activer un sous-système, son nom doit être défini dans l'IDE avec le menu Options du compilateur, ou par l'intermédiaire du commutateur /SUBSYSTEM en /ligne de commande. Il s'agit d'une option de compilation, ce qui signifie qu'un exécutable ne peut pas incorporer plus d'un sous-système à la fois. Si le support de multiple sous-systèmes est nécessaire (par exemple l'envoi d'une version OpenGL et DirectX d'un jeu), deux exécutables doivent être créés.
Les sous-systèmes disponibles sont situés dans le dossier 'subsystems' de PureBasic. Lorsqu'un sous-système est spécifié, tous les résidents ou les bibliothèques trouvées dans ce dossier auront préséance sur les bibliothèques par défaut et les résidents. N'importe quel nombre de sous-systèmes différents peuvent être spécifiés (pour autant que cela n'affecte pas les mêmes bibliothèques). Comme un sous-système est un répertoire, le nom du sous-système est sensible à la casse sous Linux mais pas sous Windows ou OS X.
La fonction du compilateur Subsystem peut être utilisée pour détecter si un sous-système spécifique est utilisé pour la compilation.
Sous-systèmes disponibles
Voici une liste des sous-systèmes disponibles, et les bibliothèques concernées:
WindowsDirectX9: Utiliser DirectX9 au lieu d'OpenGL. Bibliothèques concernées: - Sprite - Screen - Note: Le moteur 3D n'est plus disponible car il utilise OpenGL DirectX11: Utiliser DirectX 11 au lieu d'OpenGL. Bibliothèques concernées: - Sprite - Screen - Note: Le moteur 3D n'est plus disponible car il utilise OpenGL
Linuxgtk2: Bibliothèques affectées: - 2D Drawing - AudioCD - Clipboard - Desktop - Drag & Drop - Font - Gadget - Image - Menu - Movie - Printer - Requester - Scintilla - StatusBar - SysTray - Toolbar - Window qt: Bibliothèques affectées: - 2D Drawing - AudioCD - Clipboard - Desktop - Drag & Drop - Font - Gadget - Image - Menu - Movie - Printer - Requester - Scintilla - StatusBar - SysTray - Toolbar - Window
MacOS XRien