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 ??????
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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."
"PhilTheGap" <oriane@guermantes.fr> wrote in message
news:4922996d$0$28669$7a628cd7@news.club-internet.fr...
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."
"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."
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
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