Bonjour � tous !!!
Voil� en fait pour r�sumer grossi�rement j'ai � ma disposition deux ex�cutables A et B. Je r�ponds tout de suite qu'il n'y a aucun moyen de passer par des d�pendances exe/dll, car il y a des probl�mes d'incompatibilit� avec les dlls utilis�es par les deux zigotos
L'ex�cutable A appelle de temps en temps l'ex�cutable B pour accomplir une t�che particuli�re. Auparavant cela suffisait amplement, car l'ex�cutable B ne renvoyait comme retour qu'un bool�en true ou false pour sp�cifier si le calcul s'�tait bien d�roul� ou non.
Le souci est d�sormais que l'ex�cutable A a besoin d'objets qui sont construits � la fin de l'ex�cution de B.
L'inconv�nient c'est que le main de B ne peut renvoyer rien d'autre qu'un int, et bien �videmment il faut envoyer beaucoup plus.
Voici un exemple concret de ce que je voudrais obtenir (je suis sous Windows):
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 /// /// main.cpp de A.exe /// #include <iostream> // main #include <sstream> // ostringstream int main() { const int argument = 3; std::ostringstream buffer; buffer << "B.exe \"" << argument << "\""; int resultat = system(buffer.str().c_str()); // appel de l'exécutable B, en lui passant en paramètre "agument" // y a t'il un moyen de faire un "MyObject my_object = system(buffer.str().c_str()); ? }
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 /// /// main.cpp de B.exe /// #include <iostream> // main #include "MyObject.h" int main(int argc, char* []argv) { if(argc != 2) { std::cerr << "Erreur: nombre d arguments incorrect" << std::endl; return EXIT_FAILURE; } MyObject my_object = do_something(argv[1]); // Y a t'il un moyen de faire un "return my_object; " ?? }
Partager