Jakie są.a and.so akta?

Obecnie próbuję przenieść aplikację C do AIX i zaczynam się mylić. Jakie są .A I .so pliki i jak są używane podczas budowania / uruchamiania aplikacji?

Author: Peter Mortensen, 2012-03-21

5 answers

Biblioteki archiwalne (.a) są statycznie połączone i.E podczas kompilacji programu z opcją-c w gcc. Jeśli więc nastąpi jakakolwiek zmiana w bibliotece, musisz ponownie skompilować i zbudować swój kod.

The advantage of .so (shared object) over.biblioteką jest to, że są one połączone w trakcie wykonywania, tj. po utworzeniu twojego .o file-opcja o w gcc. Więc, jeśli jest jakaś zmiana w pliku. so, nie musisz rekompilować głównego programu. Ale upewnij się, że twój główny program jest połączony z / align = "left" / Linear

To pomoże Ci zbudować pliki. so. http://www.yolinux.com/TUTORIALS/LibraryArchives-StaticAndDynamic.html

Mam nadzieję, że to pomoże.

 373
Author: Leafy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-03-21 18:09:55

.a są bibliotekami statycznymi. Jeśli używasz kodu przechowywanego w nich, jest on pobierany z nich i osadzany w twoim własnym pliku binarnym. W Visual Studio będą topliki lib.

. podobnie jak biblioteki dynamiczne. Jeśli używasz przechowywanego w nich kodu, nie jest on pobierany i osadzany we własnym pliku binarnym. Zamiast tego jest po prostu odwołany, więc binarny będzie zależał od nich, a kod z pliku so jest dodawany/ładowany w czasie wykonywania. W Visual Studio / Windows będą topliki dll (z małym .pliki lib zawierające informacje linkujące).

 156
Author: Mario,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-03-21 16:55:29

.Pliki to zazwyczaj biblioteki, które są statycznie połączone (a dokładniej archiwa), a
. podobnie jak dynamicznie połączone biblioteki.

Aby wykonać port, potrzebny będzie kod źródłowy, który został skompilowany do ich utworzenia, lub równoważne pliki na komputerze AIX.

 10
Author: gbulmer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-03-21 16:55:49

Są one używane na etapie łączenia. .a pliki sÄ ... podĹ 'Ä ... czone statycznie, a .so Pliki sÄ ... podĹ' Ä ... czone, tak Ĺźe Biblioteka jest potrzebna za kaĹźdym razem, gdy uruchamiasz exe.

Możesz dowiedzieć się, gdzie są przechowywane, przeglądając dowolny z katalogów lib... /usr/lib i /lib mają większość z nich, istnieje również zmienna środowiskowa LIBRARY_PATH.

 7
Author: Matt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-03-21 16:59:19

Wikipedia jest przyzwoitym źródłem tych informacji.

Aby dowiedzieć się o statycznych plikach bibliotecznych, takich jak .a read Static libarary

Aby dowiedzieć się więcej o plikach biblioteki współdzielonej, takich jak .so przeczytaj Biblioteka_(computing)#Shared_libraries na tej stronie znajdziesz również przydatne informacje w sekcji nazwanie pliku.

 1
Author: user3731622,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-28 19:00:20