-2
votes

Version C ++ des fonctions EXED () de Python ()

objectif: Exécution d'une chaîne de code C (++) avec une sorte de fonction comparable à la fonction exécutée () dans python.

Exemple de python: xxx

question:

existe une version C ++ d'EXEC dans Python?


3 commentaires

C peut exécuter des commandes système à partir du code ... mais peut-il compiler & exécuter une chaîne de code C aussi ...? C n'est pas informé ...


Si vous souhaitez exécuter des commandes système, vous pouvez utiliser le système System mais C / C ++ doit être compilé.


Pourquoi voudriez-vous faire quelque chose comme ça? Quel est le problème réel que vous devez résoudre?


3 Réponses :


-1
votes
#include <iostream>
int main(void) {
    system("python -c \"print('hello world')\"");
    return 0;
}
For system commands...?

0 commentaires

2
votes

mais, existe-t-il une version C ++ d'EXEC dans Python?

Vous avez envie d'exécuter des déclarations de langue C d'une chaîne! donc ce n'est pas possible avec c.

pourquoi

Parce que C est compilé Langue, le programme d'abord compilé puis exécuté. sa possible en python comme langue interprétée, signifie que le programme est compilé par Compilateur juste à temps au moment de l'exécution. J'espère que cela aidera.


0 commentaires

1
votes

Eh bien, technique, vous (peut-être) peut. Mais ce n'est pas un effort justifiable, il existe d'autres langages de script pouvant être intégrés à C ++. Par exemple Lua. Juste pour y penser, ce qui suit pourrait fonctionner, si vous avez une méthode int excuteecode (STD :: String Code)

  1. Copiez cette chaîne dans un modèle qui l'enveloppe dans certaines fonctions. Ce qui suit est une idée d'un tel modèle: xxx
    1. Écrivez le modèle dans un fichier
    2. Construire une bibliothèque dynamique (par exemple un .dll sous Windows) à partir de ce fichier (compilateur d'appel et liaison via Système ou méthodes spécifiques au système d'exploitation)
    3. Chargez la bibliothèque dynamique dans votre programme d'exécution (à nouveau, des méthodes spécifiques au système d'exploitation)
    4. Chargez la méthode requise userfunc et l'exécute.

1 commentaires

c'est briljant