Execute CpcdosC+, Win32, LLVM file

/!\ A TRADUIRE! | TRANSLATE! /!\

Commande :

EXE/ {&, &+} [ProgramFile[.CPC, .EXE, .BC, .LL] {/l:Label, /l:#NoLigne}

Visual overview :

toto.cpc file content :

Execution


Fonctionnalité :

Cette commande permet l’exécution d’un fichier exécutable CpcdosC+.
Ce fichier est de format TEXTE, vous pouvez écrire votre code depuis un simple bloc-notes et ne
requiert aucune compilation !
Par défaut, cette commande utilise le thread courant pour s'exécuter. Elle peut bien évidement
être exécutée dans un autre thread afin de ne pas bloquer le thread courant.
Elle termine également l'exécution du précédent fichier exécutable parent sans reprise. Sauf si
vous spécifiez le paramètre « & ».


Paramètres disponibles :

  • Permet d’exécuter un autre fichier CpcdosC+ dans le même thread et SANS mettre fin au thread parent. Elle attend la fin de l'enfant pour reprendre son exécution.

    &

  • Permet d’exécuter un fichier CpcdosC+ dans un nouveau thread. (Exécution asynchrone)

    &+

  • Permet d’exécuter le code à une zone spécifique du fichier via un nom de label.

    /L:

  • Permet d'exécuter un programme IR compilé avec CLANG, depuis une LLVM.

    /LLVM

  • Permet d'exécuter un programme Win32 au format PE.

    /PE


Exemples :

Exemple 1

Exécuter un fichier CpcdosC+ sur le même thread en fermant le précédent fichier exécuté :

EXE/ MonProgramme.cpc

Exemple 2

Exécuter un fichier CpcdosC+ sur le même thread sans fermer le précédent fichier exécuté :

EXE/ & MonProgramme.cpc

Exemple 3

Exécuter un fichier CpcdosC+ sur un nouveau thread en parallèle en continuant l’exécution du précédent :

EXE/ &+ MonProg.cpc

Exemple 4

MonProg.CPC

TXT/ On execute notre premier programme
EXE/ & MonProg1.cpc
TXT/ On execute notre 2eme programme dans un nouveau thread
EXE/ &+ MonProg2.cpc
TXT/ On execute un autre programme
EXE/ MonProg3.cpc
TXT/ Ce texte ne sera jamais affiche.

MonProg1.CPC

TXT/ Hello, je suis le programme 1, bye!

MonProg2.CPC

TXT/ Hello, je suis le programme 2
CCP/ /PAUSE 1000
TXT/ Je suis toujours le programme 2, \#R
TXT/ je viens de faire une pause de 1 seconde. Bye!

MonProg3.CPC

TXT/ Hello, je suis le programme 3, bye!

Affiche sur la console :

On execute notre premier programme
Hello, je suis le programme 1, bye!
On execute notre 2eme programme dans un nouveau thread
On execute un autre programme
Hello, je suis le programme 3, bye!
Hello, je suis le programme 2
Je suis toujours le programme 2, je viens de faire une pause de 1 seconde. Bye!


Exécuter une LLVM via CLANG :

Ce paramètre permet l’exécution du code IR généré via un compilateur Clang (Windows, linux,
mac...) avec les paramètres dédiés à Cpcdos, le tout dans une LLVM (Low-Level-Virtual-Machine)
inclus nativement dans CPinti Core. Ce qui vous donne la possibilité de coder vos application
C/C++ et de l’exécuter ici même ! Les formats acceptés sont : .BC et .LL

Concernant la compilation, il est fortement recommandé d'utiliser ces arguments suivants :

-std=c++14 -m32 -fno-exceptions -target i686-pc-mingw32-elf -S -emit-llvm

« -std=c++11», «-std=c++14» et «-std=c++17 » sont fonctionnels.


Exemple 1

Exécuter une LLVM avec un fichier .BC :

EXE/ /LLVM MonProgramme.bc

Exemple 2

Exécuter une LLVM avec un fichier .LL :

Exe/ /LLVM MonProgramme.ll