2016-03-27 5 views
-1

In meinem Python-Skript ausführen ich meine C++ Skript:Pass Python Variable auf meine C++ Skript und g ++ Aufruf

os.system('g++ -std=c++0x mutualcepepe.cpp -o mutualout') 

Es funktioniert, aber ich möchte passieren meine Python wechselbar (Benutzer definiert seinen Wert) Variable C++ in dieser Befehlszeile, zum Beispiel Variable:

threshold = 1.33 

(es kann auch ein String ich es werfen kann in C zu schweben ++ Skript)

ich habe sogar versucht, den genauen Wert zu übergeben:

os.system('g++ -std=c++0x mutualcepepe.cpp 1.33 -o mutualout') 

oder:

os.system('g++ -std=c++0x mutualcepepe.cpp -o mutualout' 1.33) 

aber ich immer noch die gleichen Fehler:

g++: error: 1.33 (or threshold): No such file or directory 

ich für Lösungen im Netz gesucht, aber ich habe nicht eine Antwort finden.

Ich habe andere Idee, nur diesen Wert in andere Textdatei zu setzen, die ich öffnen werde und den Wert bekommen, aber immer noch dazu ein bisschen eleganter.

Gibt es eine Möglichkeit, diese Variable zu übergeben, die von g++ nicht als Verzeichnis betrachtet wird?

+0

Programmierung durch Raten funktioniert nicht. –

Antwort

0

Sie könnten die -D Option verwenden, um einen Makro hinzuzufügen:

g++ -D "threshold = 1.33" ... 

dann würden Sie auf den Makrowert threshold in mutualcepepe.cpp beziehen.

+0

Okay, aber der Schwellwert ist veränderbar (der Benutzer definiert seinen Wert), er ist nicht statisch – theCember

+0

Sie meinen nicht: 'os.system ('g ++ -D' threshold = '+ str (threshold) +' "...") '? –

+0

Vielen Dank @ Sébastien Guarnay, es hat endlich funktioniert! :)) – theCember