В настоящее время я пытаюсь отправить приложение C на AIX, и я запутался. Какие файлы .a и .so и как они используются при создании/запуске приложения?Что такое .a и .so файлы?
ответ
Библиотеки архивов (.a) статически связаны, когда вы скомпилируете свою программу с опцией -c в gcc. Итак, если есть какие-либо изменения в библиотеке, вам нужно снова скомпилировать и создать свой код.
Преимущество библиотеки .so (shared object) над .a заключается в том, что они связаны во время выполнения, т. Е. После создания вашего файла .o-файла в gcc. Итак, если есть какие-либо изменения в .so-файле, вам не нужно перекомпилировать основную программу. Но убедитесь, что ваша основная программа связана с новым .so-файлом с помощью команды ln.
Это поможет вам создать файлы .so. http://www.yolinux.com/TUTORIALS/LibraryArchives-StaticAndDynamic.html
Надеюсь, это поможет.
.a - это статические библиотеки. Если вы используете код, хранящийся внутри них, он берется из них и встроен в ваш собственный двоичный файл. В Visual Studio это были бы .lib-файлы.
. Также являются динамическими библиотеками. Если вы используете код, хранящийся внутри них, он не берется и не встроен в ваш собственный двоичный файл. Вместо этого он просто ссылается, поэтому двоичный файл будет зависеть от них, а код из файла будет добавлен/загружен во время выполнения. В Visual Studio/Windows это были бы DLL-файлы (с небольшими .lib-файлами, содержащими ссылки).
.a файлы обычно представляют собой библиотеки, которые получают статически связанные (или, точнее, архивы), и
.so являются динамически связанными библиотеками.
Чтобы сделать порт, вам понадобится исходный код, который был скомпилирован для их создания, или эквивалентные файлы на вашей машине AIX.
Как мне создать приложение для использования файлов .so? – Dunc
Существует множество отличных ссылок для создания библиотек обоих типов и ссылок на них в Интернете. Google - ваш друг. –
@ Dunc - Есть несколько способов.У вас есть make-файл? Обычно команда, которая собирает всю программу (и, следовательно, вызывает компоновщик), укажет места поиска файлов библиотеки с помощью -L/dir/dir1 /.../ и может также явно указывать библиотеки с именем -lname. Вы увидите, что фактическое имя - libname.a или libname.so. Затем компоновщик может выяснить, что делать, если это достаточно нормальная программа. Но у вас все еще есть проблема с созданием или поиском файла .so. У вас есть исходный код для его создания или библиотека AIX? – gbulmer
Используются на стадии связывания. .a
файлы статически связаны, а файлы .so
сортируются, так что библиотека нужна всякий раз, когда вы запускаете exe.
Вы можете найти, где они хранятся, если посмотреть на любой из каталогов lib ... /usr/lib
и /lib
имеют большинство из них, а также есть переменная окружения LIBRARY_PATH
.
Википедия - достойный источник этой информации.
Чтобы узнать о статических файлах библиотеки как .о чтением Static libarary
Чтобы узнать об общих файлах библиотека нравится .so чтение Library_(computing)#Shared_libraries На этой странице есть также полезная информация в присвоении имен файлов раздела.
- 1. Что такое .a файлы в Go?
- 2. Что такое файлы jartmp?
- 3. Что такое общая библиотека .so.5 означает?
- 4. Что такое [A-Z], что означает [A-Za-z]?
- 5. Файлы Apache .so и .c
- 6. Что такое a = a ;? Анализируя источник JQuery
- 7. Что такое файлы FTL
- 8. Что такое .axf-файлы?
- 9. Что такое файлы NDF?
- 10. Что такое .jazzignore файлы?
- 11. Что такое файлы .S?
- 12. Что такое вывод a, a ++, ++ a, когда a = 1;
- 13. Что это такое ('Z' - 'A')
- 14. Что такое A * в Scala?
- 15. Что такое файлы конфигурации?
- 16. Что такое _p.h файлы?
- 17. Что такое .onetoc2 файлы?
- 18. Что такое [A] в Scala?
- 19. Что такое && (a || b), эквивалентное?
- 20. Что такое IDA и как это помогает мне просматривать файлы .so?
- 21. Создание .so и .a в UNIX
- 22. Что именно находится в файле .o/.a/.so?
- 23. Что такое файлы FSharp.Core.optdata и FSharp.Core.sigdata F #?
- 24. Что такое файлы Web.Debug.config и Web.Release.Config?
- 25. Что такое '(плавающий a, Num (a -> a))' в Haskell?
- 26. .so файлы в python
- 27. файлы .so Linux
- 28. Как сгенерировать .a к .so
- 29. CMake связать библиотеку (.a/.so)
- 30. Что такое файлы dpuf (расширение)?
one is library 'a'rchive и другие' s'hared 'o'bject –
Возможный дубликат * [В чем разница между .so, .la и .a библиотечными файлами?] (Https: // stackoverflow. ком/вопросы/12237282/Что-разностное-между-так-ла-а-а-библиотека-файлы). –