Voilà je voudrais savoir si il est possible de compiler un fichier purebasic en executable, en ligne de commande.
Ex : une fonction sous pure : Compile ("test.pb","test.exe")
Ou alors Runprogram("Purebasic.exe") avec comme argument "test.pb","test.exe" et /C
Voilà merci d'avance et bonne prog à tous !
Stef
Dernière modification par Stefou le jeu. 07/févr./2008 18:48, modifié 1 fois.
Le compilateur SHELL est situé dans le répertoire 'Compilers\' de la distribution PureBasic. La manière la plus simple d'y accéder est d'ajouter ce répertoire à la variable PATH de Windows, ce qui vous donnera un accès permanent à toutes les commandes de ce répertoire.
Paramètres du compilateur
/? : affiche une aide simplifiée sur le compilateur.
/COMMENTED : créé un fichier de sortie '.asm' commenté en même temps que l'exécutable. Ce fichier peut être ré-assemblé ultérieurement après l'avoir modifié selon vos besoins. Cette option est à destination des programmeurs avancés.
/DEBUGGER : active le débogueur.
/EXE "NomFichier" : créé un fichier exécutable indépendant spécifié par NomFichier.
/ICON "IconName" : Ajoute l'icône spécifiée par IconName dans l'exécutable.
/INLINEASM : Active la fonction assembleur en ligne (des routines asm peuvent être écrites directement dans le code source BASIC).
/RESIDENT "NomFichier" : Crée un fichier résident spécifié par NomFichier.
/CONSOLE: le fichier de sortie est au format Console. Le format par défaut est Win32.
/DLL: le fichier de sortie est une DLL.
/NT4: Intègre la compatibilité NT4 pour les fonctions multimédia (Sprite, Keyboard, Mouse).
/XP: Ajoute le support des thèmes ('skins') pour Windows XP.
/REASM: Réassemble le fichier PureBasic.asm file en fichier exécutable. Ceci permet d'utiliser la fonction /COMMENTED, de modifier le fichier de sortie asm et de recréer un exécutable.
/LINENUMBERING: Ajoute des informations concernant les lignes et les fichiers sources à l'exécutable, qui peut le ralentir considérablement. Cela a été concu pour fonctionner en conjonction avec la bibliothèque OnError.
/QUIET: Désactive toutes les éditions de texte inutiles. Très pratique lorsque vous utilisez un éditeur tiers.
/STANDBY: Charge le compilateur en mémoire, lequel attend de commandes externes (éditeurs, scripts...).
/MMX, /3DNOW, /SSE or /SSE2: Génère un exécutable spécifique à un type de processeur. Si une routine est disponible dans une version optimisée pour le type de processeur choisi, elle sera utilisée. Du coup, l'exécutable ne fonctionnera correctement que sur ce type de processeur.
/DYNAMICCPU: Génère un exécutable qui contient toutes les versions des routines spécialement optimisées pour un type de processeur. Quand le programme se lance, il déterminera dynamiquement le type du processeur et choisira les routines les plus adaptées. Cela produit un exécutable plus gros mais plus rapide.
/RESOURCE "NomFichier": Ajoute un fichier de resource Windows (.rc) à l'exécutable ou la DLL. Ce fichier ne doit pas être un fichier resource compilé, mais un fichier texte contenant des directives. Il est possible de ne specifier qu'un seul fichier resource, mais il peut en inclure d'autre si besoin est, à l'aide des directives adéquates.
/LINKER "FichierCommandes": Spécifie un fichier qui contient des commandes à passer directement au linker. Sur Windows, PureBasic utilise le linker de PellesC (polink), plus d'informations à propos des options possible sont disponible dans l'aide de PellesC.
/IGNORERESIDENT "Fichier": Ne charge pas le fichier résident quand au démarrage du compilateur. C'est principalement utilisé quand un mise à jour d'un fichier résident déjà existant est nécessaire (en conjonction avec /CREATERESIDENT).
/CONSTANT Nom=Valeur: Crée la constante spécifiée avec la valeur indiquée.
Exemple: 'pbcompiler test.pb /CONSTANT MaConstante=10'. La constante #MaConstante sera créée automatiquement avec la valeur 10 avant de commencer la compilation. Très utile pour faire de la compilation ciblée à partir de scripts.
The following two compiler options are needed for creating programs running on Microsoft Vista OS. They are both options for the included manifest, so they are ignored on older windows versions. With none of these switches, the exe will run as a normal user as well, but with virtualisation turned on (i.e. registry and file redirection). It is recommended to use the /USER switch to turn of virtualisation for all programs that comply to the standard user priviledges, as it is only intended for compatibility for older programs. These options are also available in the IDE compiler options.
/ADMINISTRATOR: Will cause the program to request admin priviledges at start. The program will not run without it. This option is needed. Note: You can also debug programs with this flag, but only with the standalone gui debugger (as it must run in elevated mode as well).
/USER: The program will run as the user who started it. Virtualisation for the exe is turned off.
Exemple:
shell> pbcompiler sourcecode.pb
Le compilateur compile le code 'codesource.pb' et l'exécute.
shell> pbcompiler sourcecode.pb /DEBUGGER /INLINEASM
Le compilateur compile le code 'codesource.pb' et l'exécute avec le débogueur actif en autorisant l'assembleur en ligne.
; Adresse programme en ligne de commande
cmd$ = Space(255) : GetEnvironmentVariable_("comspec", @cmd$, 255)
; Dossier où se trouve le compilateur
path$ = #PB_Compiler_Home+"Compilers\"
; On récupère la version courte de l'adresse du compilo
ShortPath$ = Space(#MAX_PATH)
GetShortPathName_(path$, @ShortPath$, #MAX_PATH)
; On affiche les paramètres
RunProgram(cmd$, "/k PBCompiler.exe /?", ShortPath$)
a ce propos peut on distribuer le compilateur de pure basic avec une de nos creation
genre si je veux avec mon PureGolo creer des fichiers prg au "format purebasic"
c'est a dire qu'un prg Puregolo soit transformé en prg toto.pb
et que je fourni un bouton " compilation" et le compillateur Purebasic ,dans mon pureGolo....
qui utiliserai le compilateur de pure pour creer un executable de toto.pb ..... hum
vous voyez le genre ?
croyez vous ça possible au niveau des Droits d'auteur ?
Dernière modification par Backup le jeu. 07/févr./2008 19:18, modifié 1 fois.
Dobro a écrit :a ce propos peut on distribuer le compilateur de pure basic avec une de nos creation
genre si je veux avec mon PureGolo creer des fichiers prg au "format purebasic"
c'est a dire qu'un prg Puregolo soit transformé en prg toto.pb
et que je fourni un bouton " compilation" et le compillateur Purebasic ,dans mon pureGolo....
qui utiliserai le compilateur de pure pour creer un executable de toto.pb ..... hum
vous voyez le genre ?
croyez vous ça possible au niveau des Droits d'auteur ?
non, pas pour le compilateur de la version enregistrée
oui, si c'est un compilateur ou un runtime que tu as écrit toi-même...
La version de démonstration de PureBasic peut être distribuée librement tant que le contenu de l'archive reste intacte. Il n'est permis de modifier, changer l'organisation de l'archive sans la permission écrite de Fantaisie Software.
[color=red]La version complète de PureBasic ne doit en aucun cas être cédée à une personne autre que l'acheteur du logiciel. [/color]
Fantaisie Software détient tous les droits sur PureBasic et ses composants. Aucun module ne peut être utilisé dans une autre application sans l'autorisation de Fantaisie Software. Il est interdit d'encapsuler ou d'utiliser directement les commandes de haut niveau de PureBasic dans un autre langage de programmation que ce soit sous forme de bibliothèques dynamiques (DLL) ou statiques. Cette règle ne s'applique pas pour les utilisateurs possédant une licence de PureBasic.
Oui d'ailleurs c'est ce qui m'a posé un max de problèmes quand j'avais créé un programme d'installation (création d'un exe de base qui se lit lui même au chargement... auquel on rajoute toutes les infos, les fichiers inclus via un programme chargeur...).
Ca aurait été pourtant si simple de générer le code est de le compiler... Et bien non