2010-03-08 11 views
1

Salut les gars j'ai un peu de problème avec quelques classes, et je serais très reconnaissant si quelqu'un peut m'aider. J'ai donc:Externes

  1. exécutable déjà compilé (pour que je n'ai pas la source)
  2. Une classe dans ce programme que je veux appeler

Le programme n'a pas exporter pour la classe, et c'est mon problème je n'ai pas de définition pour cette classe, donc y at-il un moyen d'obtenir un rappel à cette classe?

Exemple: Dans le fichier exécutable compilé:

foo::bar (example) { printf(example); } 

Mon application:

CALLBACK(foo::bar, "this text must be passed as argument") 

Ou en d'autres termes que je veux appeler une classe dans un autre exécutable (sans avoir sa source) et laissez-passer arguments à sa fonction.

+4

Vous ne pouvez pas faire cela. –

+0

Une solution à ce problème? – anonymous

+3

Quand j'ai dit que tu ne pouvais pas faire ça, que penses-tu que je voulais dire? –

Répondre

0

si votre exécutable (application) peut prendre cet argument comme argument de ligne de commande, vous pouvez appeler cette application avec l'argument de ligne de commande que le paramètre

par exemple dans l'API win32

LPTSTR szCmdline = _tcsdup(TEXT("C:\\Program Files\\MyApp -L -S")); 
    CreateProcess(NULL, szCmdline, /* ... */); 

C'est au maximum vous pouvez faire avec n'importe quelle application ... -L et -S passera comme argument à MyApp