Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Comment créer une dll windows avec Cygwin ?

4 réponses
Avatar
PhilTheGap
Bonjour,

Nous voulons utiliser du code Cygwin parce qu'il tourne bien (c'est un
produit que l'on vend) mais nous
voulons l'utiliser avec une nouvelle interface graphique .Net sous Windows
(WPF). Donc nous ne voulons pas porter le code en .NET.

Donc l'appli est écrite en .NET pour l'interface et appelle du code Cygwin,
que l'on va donc devoir charger en tant que DLL. C'est là qu'est l'os. On
peut compiler et faire une DLL mais nous avons le droit ensuite dans le code
.Net à un DllNotFoundException (pourtant on fait un DLLImport et tout ce
qu'il faut en .Net).

En creusant un peu on s'est rendu compte qu'il manquait un "point d'entrée"
DLL_Main pour que celle ci soit chargée (comme par ex user32.dll que nous
chargeons sans pb).

Donc maitenant la question est: comment crééer ce DLL_Main dans le code
Cygwin ??????

Merci de votre attention

Cordialement

4 réponses

Avatar
antoine
"PhilTheGap" wrote in message
news:4922996d$0$28669$
Bonjour,

Nous voulons utiliser du code Cygwin parce qu'il tourne bien (c'est un
produit que l'on vend) mais nous
voulons l'utiliser avec une nouvelle interface graphique .Net sous Windows
(WPF). Donc nous ne voulons pas porter le code en .NET.

Donc l'appli est écrite en .NET pour l'interface et appelle du code
Cygwin, que l'on va donc devoir charger en tant que DLL. C'est là qu'est
l'os. On peut compiler et faire une DLL mais nous avons le droit ensuite
dans le code .Net à un DllNotFoundException (pourtant on fait un DLLImport
et tout ce qu'il faut en .Net).

En creusant un peu on s'est rendu compte qu'il manquait un "point
d'entrée" DLL_Main pour que celle ci soit chargée (comme par ex user32.dll
que nous chargeons sans pb).

Donc maitenant la question est: comment crééer ce DLL_Main dans le code
Cygwin ??????



Tu es sûr du "DLL_Main" ? Normalement, c'est "DllMain" par défaut
Sur cette page
http://www.koders.com/c/fid9F7C155952BEDE8C1E072675F8D5B12ECC3409B2.aspx?s=suck
il est dit :
" Cygwin: The default entry point for Cygwin b20.1 or newer is
__cygwin_dll_entry which is defined in libcygwin.a. This in turn
calls the routine DllMain. If not defined, there is a stub in
libcygwin.a which does nothing."
Avatar
Nico
PhilTheGap wrote:
Bonjour,
//
Donc maitenant la question est: comment crééer ce DLL_Main dans le code
Cygwin ??????

Merci de votre attention



Il y a ça dans la doc en ligne :
http://cygwin.com/cygwin-ug-net/dll.html
Avatar
PhilTheGap
Bonjour Antoine,
"antoine" a écrit dans le message de
news:gfuf7f$dh1$

Tu es sûr du "DLL_Main" ? Normalement, c'est "DllMain" par défaut


Non car je n'ai pas le code sous les yeux, c'était de mémoire. Je transmets
à mon collègue codeur au bureau asap.

Merci !!
Avatar
PhilTheGap
Bonour Nico,
"Nico" a écrit dans le message de
news:gfufkk$42e$
PhilTheGap wrote:
Bonjour,
//
Donc maitenant la question est: comment crééer ce DLL_Main dans le code
Cygwin ??????

Merci de votre attention



Il y a ça dans la doc en ligne :
http://cygwin.com/cygwin-ug-net/dll.html


Je vais regarder.

Merci !