utilisation .lib
utilisation .lib
J'ai un code qui utilise un .lib avec la commande import sur PureBasic, es-ce qu'on peut utiliser ce code sur un autre os que window ?
Comme ce n'est pas une DLL, je me pose la question...
Comme ce n'est pas une DLL, je me pose la question...
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel
)
Mon site : CeriseCode (Attention Chantier perpétuel

Re: utilisation .lib
non, il faut que chaque lib soit compilé pour chaque os.
Re: utilisation .lib
ok
Mais le format .lib ne change pas d'un os à l'autre ?
En gros, avec le code en C de la lib ce serait possible de la recompiler sur chaque os ?
Mais le format .lib ne change pas d'un os à l'autre ?
En gros, avec le code en C de la lib ce serait possible de la recompiler sur chaque os ?
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel
)
Mon site : CeriseCode (Attention Chantier perpétuel

Re: utilisation .lib
si il change d'un format à l'autre , le .lib n'existe pas sous linux , du moins on utilise le .a
la différence entre une librairie dynamique ( dll , so , dylib ) et une lib statique ( lib , a ) c'est que la lib statique est ajouté dans l’exécutable finale ( il est donc plus gros ) et la lib dynamique est chargé en mémoire au moment de l’exécution du code ( exécutable plus leger donc ) .
L'avantage de la lib statique , pas de dépendance , l'exe tout seul fonctionne.
L'avantage de la lib partagé (dynamique) , c'est qu'elle peu partagé son code avec différent exécutables
la différence entre une librairie dynamique ( dll , so , dylib ) et une lib statique ( lib , a ) c'est que la lib statique est ajouté dans l’exécutable finale ( il est donc plus gros ) et la lib dynamique est chargé en mémoire au moment de l’exécution du code ( exécutable plus leger donc ) .
L'avantage de la lib statique , pas de dépendance , l'exe tout seul fonctionne.
L'avantage de la lib partagé (dynamique) , c'est qu'elle peu partagé son code avec différent exécutables
Re: utilisation .lib
Et le même code en C peut-il être compilé sur window, et puis sur linux et surtout sur MacOS ?
même si le format de la lib statique change, l'algo reste le même ....
même si le format de la lib statique change, l'algo reste le même ....
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel
)
Mon site : CeriseCode (Attention Chantier perpétuel

Re: utilisation .lib
Bonjour/bonsoir
N’étant pas un spécialiste, ni même néophyte de linux, et pour répondre succinctement, je dirais que ca dépend de la source, avec un #include "windows.h" sous linux ... aie aie mais si tu n'a que des #include du genre stdio.h alors ça devrait être bon.
En gros ca depend des fonctions utilisées, après si ta lib est adaptée à ton OS pas de soucis.
Etrangement je ne suis pas sûr de moi, donc vérifie par l’expérience.
N’étant pas un spécialiste, ni même néophyte de linux, et pour répondre succinctement, je dirais que ca dépend de la source, avec un #include "windows.h" sous linux ... aie aie mais si tu n'a que des #include du genre stdio.h alors ça devrait être bon.
En gros ca depend des fonctions utilisées, après si ta lib est adaptée à ton OS pas de soucis.
Etrangement je ne suis pas sûr de moi, donc vérifie par l’expérience.
Re: utilisation .lib
Oui , le C est compatible avec tout les OS , même les puce microchip que je programme , après ce qui fait qu'un code
est portable ou pas , c'est l'utilisation de code spécifique à l'OS à l’intérieur de ton code C.
Tu veut faire des lib en C ?
est portable ou pas , c'est l'utilisation de code spécifique à l'OS à l’intérieur de ton code C.
Tu veut faire des lib en C ?
Re: utilisation .lib
Mes questions découlent du fait que j'utilise un .lib pour gérer le format ZIP, et un autre pour le format RAR dans un projet que j'aimerais rendre complètement multi-platforme.
La seule partie du code qui n'est pas fonctionnelle sur Linux et Mac est la gestion des fichiers aux formats zip et rar. Et c'est une partie absolument non négligeable du projet.
Je me demande alors comment intégrer ça pour être multi os...
Une précision sur l'usage que j'en fait : les fichiers lus dans les archives ne doivent pas être décompressés dans un fichier sur le disque. Mais en mémoire seulement pour des questions de vitesse. J'ai donc besoin des commandes fournies par la lib qui prévoient ça.
J'ai remarqué que PureBasic a évolué dans les commandes dispo pour le packer, il faudra donc que j'y jette un coup d'oeil. Mais ça ne règle de toute façon pas la question du RAR...
La seule partie du code qui n'est pas fonctionnelle sur Linux et Mac est la gestion des fichiers aux formats zip et rar. Et c'est une partie absolument non négligeable du projet.
Je me demande alors comment intégrer ça pour être multi os...
Une précision sur l'usage que j'en fait : les fichiers lus dans les archives ne doivent pas être décompressés dans un fichier sur le disque. Mais en mémoire seulement pour des questions de vitesse. J'ai donc besoin des commandes fournies par la lib qui prévoient ça.
J'ai remarqué que PureBasic a évolué dans les commandes dispo pour le packer, il faudra donc que j'y jette un coup d'oeil. Mais ça ne règle de toute façon pas la question du RAR...
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel
)
Mon site : CeriseCode (Attention Chantier perpétuel

Re: utilisation .lib
Utilisé les lib propre à chaque OS, avec de la chance tes libs sont multi plateforme et ton code ne change pas trop , dans tout les cas il faudra que tu codes une surcouche à une api de compresssion :graph100 a écrit : Je me demande alors comment intégrer ça pour être multi os...
Code Linux:Code MacCode : Tout sélectionner
Procedure CompressData(*Data, size) Appel lib linux... endprocedure
Code windows:Code : Tout sélectionner
Procedure CompressData(*Data, size) Appel lib Mac... endprocedure
etc...Code : Tout sélectionner
Procedure CompressData(*Data, size) Appel lib windows... endprocedure