Je suis en train d'essayer de port d'une application c à AIX et je suis confus. Quelles sont .un et .donc les fichiers et comment sont-ils utilisés lors de la construction/l'exécution d'une application?
Réponses
Trop de publicités?Archives des bibliothèques (.a) sont liées statiquement je.e lorsque vous compilez votre programme avec l'option-c de gcc. Donc, si il ya un changement dans la bibliothèque, vous devez compiler votre code à nouveau.
L'avantage de .(shared object).une bibliothèque, c'est qu'ils sont liés lors de l'exécution c'est à dire après la création de votre .o fichier -o option de gcc. Donc, si il ya un changement dans .donc, fichier, vous n'avez pas besoin de recompiler votre programme principal. Mais assurez-vous que votre programme principal est lié à la nouvelle .si le fichier avec la commande ln.
Cela vous aidera à construire la .donc les fichiers. http://www.yolinux.com/TUTORIALS/LibraryArchives-StaticAndDynamic.html
Espérons que cette aide.
.un sont statiques des bibliothèques. Si vous utilisez le code stocké à l'intérieur, il est pris d'eux et intégrés dans votre propre binaire. Dans Visual Studio, ils seraient .fichiers lib.
.ainsi sont les bibliothèques dynamiques. Si vous utilisez le code stocké à l'intérieur, il n'est pas pris et intégrés dans votre propre binaire. Au lieu de cela, c'est juste référencé, donc le binaire en dépendent et le code du fichier est ajouté/chargé lors de l'exécution. Dans Visual Studio/Windows serait .les fichiers dll (avec des petits .lib fichiers contenant des informations de liaison).
.une fichiers sont généralement des bibliothèques qui se statiquement (ou plus exactement, archives), et
.donc, sont liés de façon dynamique les bibliothèques.
Pour faire un port, vous aurez besoin du code source qui a été compilé pour les faire, ou l'équivalent des fichiers sur votre ordinateur AIX.
Ils sont utilisés dans l'étape de lien. .a
des fichiers sont liées statiquement, et .so
des fichiers sont en quelque sorte-lié, de sorte que la bibliothèque est nécessaire à chaque fois que vous exécutez le fichier exe.
Vous pouvez trouver où ils sont stockés par la recherche à tout de la lib... /usr/lib
et /lib
ont la plupart d'entre eux, et il y a aussi l' LIBRARY_PATH
variable d'environnement.