
Envoyé par
lilio
Merci de ta réponse mais j'aimerais savoir en quoi est écrit ce petit exe , en langage C ou en C++ ?
Merci!!
Tu peux y aller à l'arrache dedans, pour les .a : tu ouvre le fichier avec vi ou équivalent, puis tu recherche le nom d'une fonction. Les fonctions sont délimitées (du moins, sous VS, je n'ai pas de lib pour GCC sous la main...) par des caractères \0. Donc, si tu as des choses de ce genre :
__imp__cublasGetVector@24
C'est du C. Par contre, si c'est du genre :
?createIndex@QAbstractItemModel@@IBE?AVQModelIndex@@HHI@Z
C'est du C++.
Si tu as un peu de C++ et un peu de C, c'est forcément du C++. Si tu n'as pas de C++, alors c'est du C.
Dans certains exécutables, tu peux aussi faire la même chose (au moins pour le format PE, .exe sous Windows). Vers la fin, tu pourrais trouver des choses du genre :
?append@QString@@QAEAAV1@ABVQLatin1String@@@Z
C'est encore du C++.
Il y a sûrement des méthodes moins bourrines, mais il faut les connaître.

Envoyé par
aoyou
Bizarre, un .exe aurait plutôt besoin d'une DLL, pas d'un .a qui est l'extension des librairies statiques sous gcc.
Pour terminer, je ne vois pas bien à quoi ça peut te servir de savoir si ton exe est en C ou en C++.
Le fichier .a, c'est peut-être un plug-in avec un format particulier et propre à l'application...
Un .a, c'est simplement une librairie d'import, que ce soit d'une librairie statique ou dynamique.
Partager