Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2593 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [C++] Différence de codage entre .so(unix/linux) et .dll(win32)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++] Différence de codage entre .so(unix/linux) et .dll(win32)

n°202663
Joel F
Real men use unique_ptr
Posté le 27-08-2002 à 11:15:57  profilanswer
 

Quelle sont les diférences fondamentales entre les code d'un DLL et d'un bibliothéque dynamique tyoe linux (ou .so) ??
 
Quel est l'equivalent du Dllmain etc ...?
 
Merci

mood
Publicité
Posté le 27-08-2002 à 11:15:57  profilanswer
 

n°202698
SoWhatIn22
Posté le 27-08-2002 à 11:37:04  profilanswer
 

Joel F a écrit a écrit :

Quelle sont les diférences fondamentales entre les code d'un DLL et d'un bibliothéque dynamique tyoe linux (ou .so) ??
 
Quel est l'equivalent du Dllmain etc ...?
 
Merci




 
1. Pas de différence de code
2. man dlopen
   -> _init et _fini pour les équivalents de DllMain
 

n°202701
Joel F
Real men use unique_ptr
Posté le 27-08-2002 à 11:38:32  profilanswer
 

euh tu aurais plus de precision ...
J'essaye de monter un squelette commun au deux ( avec pleins de cochonneries de #define LINUX ) donc voila...

n°202711
SoWhatIn22
Posté le 27-08-2002 à 11:43:10  profilanswer
 

Joel F a écrit a écrit :

euh tu aurais plus de precision ...
J'essaye de monter un squelette commun au deux ( avec pleins de cochonneries de #define LINUX ) donc voila...




 
Ben je ne vois pas trop ce que tu veux de plus! Tout a été dit! Sous unix, ya rien à changer dans le code quand on compile. C'est au link que tout se passe.
Il reste donc à connaitre l'existence de _init et _fini. Tu ouvres une fenetre console sous ton unix ou ton linux et tu tapes:
> man dlopen
Tu aurras toutes les infos. Je ne vais pas recopier le man dans ce topic, d'autant qu'il est très compréhensible!

n°202715
Joel F
Real men use unique_ptr
Posté le 27-08-2002 à 11:45:39  profilanswer
 

ah Ok sorry :)
..
plus tard,  
..
ok le man dlopen c bon j'ai tout ce que je veux :)
 
MErci

n°204795
BifaceMcLe​OD
The HighGlandeur
Posté le 29-08-2002 à 17:25:26  profilanswer
 

Dans le principe, il y a quand même une différence.
 
Historiquement, les DLL ont été conçues comme des modules. Ce qui signifie avec une interface publique et une partie privée. D'où la notion de fonction exportée, qui correspond à une fonction publique, i.e. appelable par une autre DLL (ou un programme). Les fonction non exportées sont privées à la DLL et ne sont pas accessibles de l'extérieur de la DLL.
 
D'un autre côté, les librairies partagées sous UNIX, sont historiquement, des extensions des librairies statiques de code (fichiers ".a" ). Or dans ce type de librairies, toutes les fonctions sont accessibles, ou publiques, si vous préférez ; ce qui explique qu'il n'y ait pas la notion de "fonctions exportées", parce que tous les symboles sont "exportés" automatiquement.


Message édité par BifaceMcLeOD le 29-08-2002 à 17:26:17

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [C++] Différence de codage entre .so(unix/linux) et .dll(win32)

 

Sujets relatifs
[c++builder/api win32] les timers[Sockets en C/C++ sous UNIX] Bon livre ???
[C et Linux] Quelle fonction pour ecrire une ligne en couleur?Editeur : c'est quoi la différence entre netbean et le studio de java?
Comment retrouver le nom de domaine depuis une machine UNIX en C ?[Perl] Timeout en Unix et NT
[HTML,JS,ActiveX] Fenetre d'arborescence Win32 sur une appli Web[C sous Unix] != entre short int, int, et long int !!!
[Programmation] Linux et nb de connecté[C/C++ sous Unix] Manipuler les IPs
Plus de sujets relatifs à : [C++] Différence de codage entre .so(unix/linux) et .dll(win32)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR