J'ai cherché un peu partout mais sans succès (les exemples trouvés concernent du c++ en général).
J'ai une DLL d'un client avec le prototype d'une fonction dans la DLL. La question est : comment appeler cette fonction depuis un C (pas C++) ?
L'autre question : est-il possible d'appeler cette fonction depuis un C sur un serveur Unix ?
Merci
Bruno
Utilise LoadLibrary pour charger la dll, et apres GetProcAddress pour retrouver l'addresse. Apres just:
result=fn(arg1,arg2);
Bruno Guerpillon
Bonjour Jacob
Merci de ta réponse. Je suis un total débutant en C mais d'après ta réponse, j'ai fais des recherches sur LoadLibrary et j'ai trouvé un exemple très interessant.
http://perso.orange.fr/philippe.baucour/pratiquer/dynamicload/dynamicload.htmlSur un serveur Unix, si les 2 fichiers (.c et .dll) sont dans le mêmedossier, l'appel + execution + retour valeur de la fonction marchera-t-il ?Je ferais le test rapidementEn tout cas merciCordialementBruno"jacob navia" a écrit dans le message de news:4565844b$0$5081$ Bruno Guerpillon a écrit :>> Bonjour>>>> J'ai cherché un peu partout mais sans succès (les exemples trouvésconcernent du c++ en général).>>>> J'ai une DLL d'un client avec le prototype d'une fonction dans la DLL.>> La question est : comment appeler cette fonction depuis un C (pas C++) ?>>>> L'autre question : est-il possible d'appeler cette fonction depuis un Csur un serveur Unix ?>>>> Merci>>>> Bruno>> Utilise LoadLibrary pour charger la dll, et apres> GetProcAddress pour retrouver l'addresse. Apres just:>> result=fn(arg1,arg2);
Bonjour Jacob
Merci de ta réponse.
Je suis un total débutant en C mais d'après ta réponse, j'ai fais des
recherches sur LoadLibrary et j'ai trouvé un exemple très interessant.
http://perso.orange.fr/philippe.baucour/pratiquer/dynamicload/dynamicload.htmlSur un serveur Unix, si les 2 fichiers (.c et .dll) sont dans le mêmedossier, l'appel + execution + retour valeur de la fonction marchera-t-il ?Je ferais le test rapidementEn tout cas merciCordialementBruno"jacob navia" <jacob@jacob.remcomp.fr> a écrit dans le message de news:4565844b$0$5081$ba4acef3@news.orange.fr...> Bruno Guerpillon a écrit :>> Bonjour>>>> J'ai cherché un peu partout mais sans succès (les exemples trouvésconcernent du c++ en général).>>>> J'ai une DLL d'un client avec le prototype d'une fonction dans la DLL.>> La question est : comment appeler cette fonction depuis un C (pas C++) ?>>>> L'autre question : est-il possible d'appeler cette fonction depuis un Csur un serveur Unix ?>>>> Merci>>>> Bruno>> Utilise LoadLibrary pour charger la dll, et apres> GetProcAddress pour retrouver l'addresse. Apres just:>> result=fn(arg1,arg2);
Merci de ta réponse. Je suis un total débutant en C mais d'après ta réponse, j'ai fais des recherches sur LoadLibrary et j'ai trouvé un exemple très interessant.
http://perso.orange.fr/philippe.baucour/pratiquer/dynamicload/dynamicload.htmlSur un serveur Unix, si les 2 fichiers (.c et .dll) sont dans le mêmedossier, l'appel + execution + retour valeur de la fonction marchera-t-il ?Je ferais le test rapidementEn tout cas merciCordialementBruno"jacob navia" a écrit dans le message de news:4565844b$0$5081$ Bruno Guerpillon a écrit :>> Bonjour>>>> J'ai cherché un peu partout mais sans succès (les exemples trouvésconcernent du c++ en général).>>>> J'ai une DLL d'un client avec le prototype d'une fonction dans la DLL.>> La question est : comment appeler cette fonction depuis un C (pas C++) ?>>>> L'autre question : est-il possible d'appeler cette fonction depuis un Csur un serveur Unix ?>>>> Merci>>>> Bruno>> Utilise LoadLibrary pour charger la dll, et apres> GetProcAddress pour retrouver l'addresse. Apres just:>> result=fn(arg1,arg2);
Bruno Guerpillon
Bonjour
Je répond en partie à ma question après des recheches. Une DLL est vraiment spécifique à Windows. Pour *nix, il faut utiliser soit des librairies dynamiques (lib*.so) soit statiques (lib*.a)
Bruno
"Bruno Guerpillon" a écrit dans le message de news: 4565871a$0$1989$
Bonjour Jacob
Merci de ta réponse. Je suis un total débutant en C mais d'après ta réponse, j'ai fais des recherches sur LoadLibrary et j'ai trouvé un exemple très interessant.
http://perso.orange.fr/philippe.baucour/pratiquer/dynamicload/dynamicload.htmlSur un serveur Unix, si les 2 fichiers (.c et .dll) sont dans le mêmedossier, l'appel + execution + retour valeur de la fonction marchera-t-il ?Je ferais le test rapidementEn tout cas merciCordialementBruno"jacob navia" a écrit dans le message de news:4565844b$0$5081$ Bruno Guerpillon a écrit :>> Bonjour>>>> J'ai cherché un peu partout mais sans succès (les exemples trouvésconcernent du c++ en général).>>>> J'ai une DLL d'un client avec le prototype d'une fonction dans la DLL.>> La question est : comment appeler cette fonction depuis un C (pas C++) ?>>>> L'autre question : est-il possible d'appeler cette fonction depuis un Csur un serveur Unix ?>>>> Merci>>>> Bruno>> Utilise LoadLibrary pour charger la dll, et apres> GetProcAddress pour retrouver l'addresse. Apres just:>> result=fn(arg1,arg2);
Bonjour
Je répond en partie à ma question après des recheches.
Une DLL est vraiment spécifique à Windows.
Pour *nix, il faut utiliser soit des librairies dynamiques (lib*.so) soit
statiques (lib*.a)
Bruno
"Bruno Guerpillon" <toto@toto.fr> a écrit dans le message de news:
4565871a$0$1989$426a74cc@news.free.fr...
Bonjour Jacob
Merci de ta réponse.
Je suis un total débutant en C mais d'après ta réponse, j'ai fais des
recherches sur LoadLibrary et j'ai trouvé un exemple très interessant.
http://perso.orange.fr/philippe.baucour/pratiquer/dynamicload/dynamicload.htmlSur
un serveur Unix, si les 2 fichiers (.c et .dll) sont dans le mêmedossier,
l'appel + execution + retour valeur de la fonction marchera-t-il ?Je
ferais le test rapidementEn tout cas merciCordialementBruno"jacob navia"
<jacob@jacob.remcomp.fr> a écrit dans le message de
news:4565844b$0$5081$ba4acef3@news.orange.fr...> Bruno Guerpillon a écrit
:>> Bonjour>>>> J'ai cherché un peu partout mais sans succès (les exemples
trouvésconcernent du c++ en général).>>>> J'ai une DLL d'un client avec le
prototype d'une fonction dans la DLL.>> La question est : comment appeler
cette fonction depuis un C (pas C++) ?>>>> L'autre question : est-il
possible d'appeler cette fonction depuis un Csur un serveur Unix ?>>>>
Merci>>>> Bruno>> Utilise LoadLibrary pour charger la dll, et apres>
GetProcAddress pour retrouver l'addresse. Apres just:>>
result=fn(arg1,arg2);
Je répond en partie à ma question après des recheches. Une DLL est vraiment spécifique à Windows. Pour *nix, il faut utiliser soit des librairies dynamiques (lib*.so) soit statiques (lib*.a)
Bruno
"Bruno Guerpillon" a écrit dans le message de news: 4565871a$0$1989$
Bonjour Jacob
Merci de ta réponse. Je suis un total débutant en C mais d'après ta réponse, j'ai fais des recherches sur LoadLibrary et j'ai trouvé un exemple très interessant.
http://perso.orange.fr/philippe.baucour/pratiquer/dynamicload/dynamicload.htmlSur un serveur Unix, si les 2 fichiers (.c et .dll) sont dans le mêmedossier, l'appel + execution + retour valeur de la fonction marchera-t-il ?Je ferais le test rapidementEn tout cas merciCordialementBruno"jacob navia" a écrit dans le message de news:4565844b$0$5081$ Bruno Guerpillon a écrit :>> Bonjour>>>> J'ai cherché un peu partout mais sans succès (les exemples trouvésconcernent du c++ en général).>>>> J'ai une DLL d'un client avec le prototype d'une fonction dans la DLL.>> La question est : comment appeler cette fonction depuis un C (pas C++) ?>>>> L'autre question : est-il possible d'appeler cette fonction depuis un Csur un serveur Unix ?>>>> Merci>>>> Bruno>> Utilise LoadLibrary pour charger la dll, et apres> GetProcAddress pour retrouver l'addresse. Apres just:>> result=fn(arg1,arg2);
Bruno Guerpillon
Bonjour à tous
Toujours en train de me battre avec ma DLL La fonction est tres simple :
Fonction(chaine : char) : char
On l'appele normalement par res=Fonction("texte")
Et je n'arrive pas à recuperer l'info (que du Char) Quelqu'un aurait-il un exemple simple ou un lien sur ce sujet ? J'ai cherché mais sans succès
Merci
bruno
"Bruno Guerpillon" a écrit dans le message de news: 45657e6e$0$31658$
Bonjour
J'ai cherché un peu partout mais sans succès (les exemples trouvés concernent du c++ en général).
J'ai une DLL d'un client avec le prototype d'une fonction dans la DLL. La question est : comment appeler cette fonction depuis un C (pas C++) ?
L'autre question : est-il possible d'appeler cette fonction depuis un C sur un serveur Unix ?
Merci
Bruno
Bonjour à tous
Toujours en train de me battre avec ma DLL
La fonction est tres simple :
Fonction(chaine : char) : char
On l'appele normalement par res=Fonction("texte")
Et je n'arrive pas à recuperer l'info (que du Char)
Quelqu'un aurait-il un exemple simple ou un lien sur ce sujet ?
J'ai cherché mais sans succès
Merci
bruno
"Bruno Guerpillon" <toto@toto.fr> a écrit dans le message de news:
45657e6e$0$31658$426a74cc@news.free.fr...
Bonjour
J'ai cherché un peu partout mais sans succès (les exemples trouvés
concernent du c++ en général).
J'ai une DLL d'un client avec le prototype d'une fonction dans la DLL.
La question est : comment appeler cette fonction depuis un C (pas C++) ?
L'autre question : est-il possible d'appeler cette fonction depuis un C
sur un serveur Unix ?
Toujours en train de me battre avec ma DLL La fonction est tres simple :
Fonction(chaine : char) : char
On l'appele normalement par res=Fonction("texte")
Et je n'arrive pas à recuperer l'info (que du Char) Quelqu'un aurait-il un exemple simple ou un lien sur ce sujet ? J'ai cherché mais sans succès
Merci
bruno
"Bruno Guerpillon" a écrit dans le message de news: 45657e6e$0$31658$
Bonjour
J'ai cherché un peu partout mais sans succès (les exemples trouvés concernent du c++ en général).
J'ai une DLL d'un client avec le prototype d'une fonction dans la DLL. La question est : comment appeler cette fonction depuis un C (pas C++) ?
L'autre question : est-il possible d'appeler cette fonction depuis un C sur un serveur Unix ?
Merci
Bruno
Bruno Guerpillon
Bonjour
Dans le code suivant, j'aimerai utiliser une dll (cypher.dll) pour crypter un mot de passe et récupérer le mot de passe crypter. Hors ça ne fonctionne pas, une idée ?
int main (int argc, char *argv[]) { // static char ModPath[255]="C:WINDOWSSYSTEM32";
FCTX Fn_Ptr; HMODULE ModId; char passwd;
// strcat(ModPath, MODULE_NAME); // ModId = LoadLibrary(ModPath); ModId = LoadLibrary(MODULE_NAME); Fn_Ptr = (FCTX)GetProcAddress(ModId, FUNCTION_NAME); passwd = Fn_Ptr("motdff"); FreeLibrary(ModId); printf ("Après appel de la fonction dans le module, le status = %sn", passwd); printf ("Appuyez sur une touche :"); getchar(); return 0; }
"Bruno Guerpillon" a écrit dans le message de news: 45657e6e$0$31658$
Bonjour
J'ai cherché un peu partout mais sans succès (les exemples trouvés concernent du c++ en général).
J'ai une DLL d'un client avec le prototype d'une fonction dans la DLL. La question est : comment appeler cette fonction depuis un C (pas C++) ?
L'autre question : est-il possible d'appeler cette fonction depuis un C sur un serveur Unix ?
Merci
Bruno
Bonjour
Dans le code suivant, j'aimerai utiliser une dll (cypher.dll) pour crypter
un mot de passe et récupérer le mot de passe crypter.
Hors ça ne fonctionne pas, une idée ?
int main (int argc, char *argv[]) {
// static char ModPath[255]="C:\WINDOWS\SYSTEM32\";
FCTX Fn_Ptr;
HMODULE ModId;
char passwd;
// strcat(ModPath, MODULE_NAME);
// ModId = LoadLibrary(ModPath);
ModId = LoadLibrary(MODULE_NAME);
Fn_Ptr = (FCTX)GetProcAddress(ModId, FUNCTION_NAME);
passwd = Fn_Ptr("motdff");
FreeLibrary(ModId);
printf ("Après appel de la fonction dans le module, le status = %sn",
passwd);
printf ("Appuyez sur une touche :");
getchar();
return 0;
}
"Bruno Guerpillon" <toto@toto.fr> a écrit dans le message de news:
45657e6e$0$31658$426a74cc@news.free.fr...
Bonjour
J'ai cherché un peu partout mais sans succès (les exemples trouvés
concernent du c++ en général).
J'ai une DLL d'un client avec le prototype d'une fonction dans la DLL.
La question est : comment appeler cette fonction depuis un C (pas C++) ?
L'autre question : est-il possible d'appeler cette fonction depuis un C
sur un serveur Unix ?
Dans le code suivant, j'aimerai utiliser une dll (cypher.dll) pour crypter un mot de passe et récupérer le mot de passe crypter. Hors ça ne fonctionne pas, une idée ?
int main (int argc, char *argv[]) { // static char ModPath[255]="C:WINDOWSSYSTEM32";
FCTX Fn_Ptr; HMODULE ModId; char passwd;
// strcat(ModPath, MODULE_NAME); // ModId = LoadLibrary(ModPath); ModId = LoadLibrary(MODULE_NAME); Fn_Ptr = (FCTX)GetProcAddress(ModId, FUNCTION_NAME); passwd = Fn_Ptr("motdff"); FreeLibrary(ModId); printf ("Après appel de la fonction dans le module, le status = %sn", passwd); printf ("Appuyez sur une touche :"); getchar(); return 0; }
"Bruno Guerpillon" a écrit dans le message de news: 45657e6e$0$31658$
Bonjour
J'ai cherché un peu partout mais sans succès (les exemples trouvés concernent du c++ en général).
J'ai une DLL d'un client avec le prototype d'une fonction dans la DLL. La question est : comment appeler cette fonction depuis un C (pas C++) ?
L'autre question : est-il possible d'appeler cette fonction depuis un C sur un serveur Unix ?