Comment declare t'on des variables externes?? - C++ - Programmation
Marsh Posté le 22-05-2003 à 12:45:01
theShOcKwAvE a écrit : dans un fichier :
|
n'empeche ce genre de truc c quand meme cracra
Marsh Posté le 22-05-2003 à 12:56:12
chrisbk a écrit : |
ben ouais, mais si il veut du extern ....
Marsh Posté le 22-05-2003 à 12:57:47
theShOcKwAvE a écrit : |
qqpart j'ai peur de mal comprendre ce qu'il veut, a mon avis il va avoir droit a une brochette d'erreur de link
Marsh Posté le 22-05-2003 à 13:01:42
chrisbk a écrit : |
(j'avoue que je ne suis pas sur non plus d'avoir bien saisi sa requête ... )
Marsh Posté le 22-05-2003 à 16:34:56
Bon en fait, c'est pas vraiment ça;
Ce que je dois faire, c'est appeller une fonction ecrite en C (fonction contenue dans "win32" )
dans "simpledemo";
on m'a donc dit d'ecrire la syntaxe suivante :
extern "C" _declspec ma_fonction
mais ca ne fonctionne pas, est ce que l'appel est bon???
H H EEEE L PPPP
HHHHH EE L PPPP
H H EEEE LLLL P
Marsh Posté le 22-05-2003 à 16:36:55
"ca marche pas"
quand je lis ca la seule reponse qui me vient a l'esprit c'est "c'est balot".
detaille
donne ce que tu as fait
donne le msg d'erreur
Marsh Posté le 22-05-2003 à 16:41:44
++Taz a écrit : je vois pas en quoi c'est cracra |
Les variables globales cai mal
Marsh Posté le 22-05-2003 à 16:56:51
sbbtn a écrit : Bon en fait, c'est pas vraiment ça; |
Code :
|
te permettra d'utiliser une fonction écrite en C, dans un fichier .c ou dans une lib compilée en C, le tout depuis un programme C++, si je ne me trompe pas ... C'est peut-être simplement ca que tu recherches ...
_declspec ca prend pas un argument ?
au pire, c'est du __cdecl* non ?
Marsh Posté le 22-05-2003 à 16:57:31
Citation : _declspec ca prend pas un argument ? |
chi, chai vrai
Marsh Posté le 26-05-2003 à 00:30:19
theShOcKwAvE a écrit :
|
Ca aurait pû etre ça, mais non;
J'ai une erreur de LINK 2072 (sou vc6++)...
Et sous Visual.net, j'ai une belle grosse brochette d'erreur de LINK encore plus grosse, et encore plus baveuse..
Enfin bref, pour ce qui est du post de code, je veux bien, mais ca changera pas grand chose au probleme, vu que les fonctions qui ont été ecrite en C, font appel à d'autres librairies ecrites en C, qui elle meme font appel à d'autres librairies....
Le gros bordel quoi.
Alors si quelqu'un a une idée de la facon dont je pourrai utiliser ma fonction ecrite en C dans mon prog C++
Marsh Posté le 26-05-2003 à 01:28:20
normalement, c'est comme ca que tu dois déclarer ta fonction dans ton .h ... Si le header que tu inclus n'as pas les extern "C", alors tu devras les rajouter car les compilateurs C++ utilisent une autre décoration pour les noms de fonctions que les compilo C, et de déclarer tes entêtes de fonctions en extern "C" permet de spécifier au compilo la manière d'appeler la fonction (__cdecl* quoi) et lui donne aussi son nom décoré à l'intérieur du fichier .lib. Ensuite, pour les appels d'une lib à une autre, tu n'as pas à t'en soucier, puisque les noms dans les fichiers.lib sont déjà décorés correctement !
Si malgré tout tu as encore des pbs, c'est peut-être que ton erreur est ailleurs ...
Marsh Posté le 22-05-2003 à 12:12:26
En fait je voudrais lancer des fonctions qui ne sont pas utilisées dans mon projet de base "simpledemo" (elles font parties d'un autre projet "win32" )
Donc ce que je veux faire, c'est inclure les fichiers (*.c et *.h) nécessaire au fonctionnement de "win32" dans mon projet "simpledemo.
Dès lors, je veux pouvoir declarer des variables globales qui peuvent être aussi bien utilisée dans simpledemo que dans les fonctions issues de "win32".
Et je veux aussi pouvoir lancer des fonctions de "win32" dans "simpledemo"