Peut-on vérifier et ou compiler un code en mémoire ?...

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

Peut-on vérifier et ou compiler un code en mémoire ?...

Message par Shadow »

Salut,

Je voudrait savoir si l'on peut-on vérifier et ou compiler un code en mémoire ?
Quand j’interroge le compilateur et que je lui file du code, il le compile et renvoie la réponse.

Quand il fais ça, il créer des fichiers...

De plus suis-je obliger de lui donner un code sous forme de fichier PB
ou est ce que je peut lui donner du code sous forme de texte ?

Ce que j'aimerais, c'est donner du code sous forme de texte au compilateur
et qu'il vérifie si tous est ok et me renvoi la réponse sans écrire
de fichier sur le disque, tous en mémoire en gros.

Est ce que c'est possible ou non ?
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Marc56
Messages : 2198
Inscription : sam. 08/févr./2014 15:19

Re: Peut-on vérifier et ou compiler un code en mémoire ?...

Message par Marc56 »

Utilise un ramdisk
https://fr.m.wikipedia.org/wiki/Disque_virtuel

PS. Les codes sources PB sont déjà des fichiers texte
(Contrairement aux codes sources VB par defaut)
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

Re: Peut-on vérifier et ou compiler un code en mémoire ?...

Message par Shadow »

Merci Marc mais ça me conviens pas vraiment non.
Le compilateur est t-il capable de checker du code comme dans l'éditeur de PB ?

Ya un menu pour vérifier le code, comment fait-il ça ?

Le compilateur ne peut pas vérifier un code en mémoire ?

Je lui donne un code sous forme de texte, chaîne de caractère et
il regarde si tous va bien.

Bon je pensais que c’était possible mais semblerais que non donc ?
Il faut forcement qu'il créer des fichier donc ?
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Fred
Site Admin
Messages : 2809
Inscription : mer. 21/janv./2004 11:03

Re: Peut-on vérifier et ou compiler un code en mémoire ?...

Message par Fred »

Oui, tu es obligé de creer un fichier pour le compilateur.
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

Re: Peut-on vérifier et ou compiler un code en mémoire ?...

Message par Shadow »

Ok merci Fred :)
Quand dans l'éditeur le demande à vérifier le code, comment fait t-il ?
Il fais bien appel au compilateur ?

Donc si j'ai bien tous compris, je dois forcement crée un fichier code
pour que le compilateur le prenne et le vérifie.

Ont ne peut pas faire ça en mémoire sans créer de fichier sur le disque.
Sinon il créer l'or de la compilation un fichier Exe, ont peut
lui dire de pas en créer un je suppose ?
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Avatar de l’utilisateur
Ar-S
Messages : 9540
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Peut-on vérifier et ou compiler un code en mémoire ?...

Message par Ar-S »

Shadow a écrit :Ok merci Fred :)
Quand dans l'éditeur le demande à vérifier le code, comment fait t-il ?
Il fais bien appel au compilateur ?
Donc si j'ai bien tous compris, je dois forcement crée un fichier code
pour que le compilateur le prenne et le vérifie.
On ne peut pas faire ça en mémoire sans créer de fichier sur le disque.
Oui, pour le vérifier, si tu travailles sur une page non enregistrée, fais un simple :

Code : Tout sélectionner

Debug #PB_Compiler_File
Tu verras que PB créé tout seul un fichier PB_EditorOutput.pb sinon il se sert de ton fichier code "tonfichier.pb"
Shadow a écrit : Sinon il créer l'or de la compilation un fichier Exe, ont peut
lui dire de pas en créer un je suppose ?
Je laisse à Fred le soin de te répondre.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
JohnJohnsonSHERMAN
Messages : 648
Inscription : dim. 13/déc./2015 11:05
Localisation : Allez, cherche...
Contact :

Re: Peut-on vérifier et ou compiler un code en mémoire ?...

Message par JohnJohnsonSHERMAN »

Si tu veux uniquement vérifier la syntaxe du code sans créer d'exécutable, tu peux utiliser le compilateur en ligne de commande.
En particulier le paramètre -k :
La sainte Documentation de PB a écrit :-k, --check, /CHECK: vérifie la syntaxe uniquement, ne créer pas ni ne lance l'exécutable.
La syntaxe de la commande est :

Code : Tout sélectionner

pbcompiler <source.pb> -k
Edit : il faut mettre le chemin vers le dossier "<chemin de PB>/compilers/" dans la variable d'environnement PATH sous Windows ou dans le fichier .bashrc sous Linux pour avoir accès à pbcompiler sans devoir à chaque fois préciser le chemin complet vers le compilateur. :P
"Le bug se situe entre la chaise et le clavier"
Votre expert national en bogage et segfaults.

CPU : AMD A8 Quad core - RAM 8Gb - HDD 2To
  • Windows 10 x64 - PB 5.61 x64
  • Linux Ubuntu 16.04 LTS x64 (dual boot) - PB pas encore réinstallé
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

Re: Peut-on vérifier et ou compiler un code en mémoire ?...

Message par Shadow »

Merci à vous :)
JohnJohnsonSHERMAN si ta un exemple...
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Avatar de l’utilisateur
JohnJohnsonSHERMAN
Messages : 648
Inscription : dim. 13/déc./2015 11:05
Localisation : Allez, cherche...
Contact :

Re: Peut-on vérifier et ou compiler un code en mémoire ?...

Message par JohnJohnsonSHERMAN »

Code : Tout sélectionner

RunProgram(#PB_Compiler_Home + "\Compilers\pbcompiler.exe", MonCodeSource$ + " -k","")
Il faut récupérer la sortie du compilateur, par exemple en utilisant l'exemple de la doc :

Code : Tout sélectionner

  Compilateur = RunProgram(#PB_Compiler_Home+"/Compilers/pbcompiler", MonFichier$ + " -k", "", #PB_Program_Open | #PB_Program_Read)
  Sortie$ = ""
  If Compilateur 
    While ProgramRunning(Compilateur)
      If AvailableProgramOutput(Compilateur)
        Sortie$ + ReadProgramString(Compilateur) + Chr(13)
      EndIf
    Wend
    Sortie$ + Chr(13) + Chr(13)
    Sortie$ + "Code de retour : " + Str(ProgramExitCode(Compilateur))
    
    CloseProgram(Compilateur) ; Ferme la connection vers le programme
  EndIf
  
  MessageRequester("Sortie", Sortie$)
C'est simple 8) Faut juste penser à lire la docqui est trés compléte et bien faite... :P
"Le bug se situe entre la chaise et le clavier"
Votre expert national en bogage et segfaults.

CPU : AMD A8 Quad core - RAM 8Gb - HDD 2To
  • Windows 10 x64 - PB 5.61 x64
  • Linux Ubuntu 16.04 LTS x64 (dual boot) - PB pas encore réinstallé
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

Re: Peut-on vérifier et ou compiler un code en mémoire ?...

Message par Shadow »

Ah ok, comme ça.
Effectivement ça marche après teste :)

Merci ^^
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Répondre