Създаване и стартиране на Linux „.a“ ​​файл

S Zdavane I Startirane Na Linux A Fajl



Работата с файлове в операционна система Linux изисква включването на различни команди и техники, които позволяват на разработчиците да създават и изпълняват ефективно файловете, кода, програмите, скриптовете и други неща. В средата на Linux файловете с разширение „.a“ ​​имат значително значение като статични библиотеки. Тези библиотеки играят важна роля в разработването на софтуер, позволявайки на разработчиците ефективно да управляват и ефективно да споделят общите функции с множество програми.

Разбирането как да създадете и стартирате „.a“ ​​файл е от решаващо значение за ефективното разработване на софтуер в средата на Linux. Това е изчерпателно ръководство за инсталиране и конфигуриране на файл „.a“ ​​на Linux. Нека да открием какво представлява файлът „.a“ ​​на Linux, да проучим неговата цел, структура и как може да бъде създаден и изпълнен.

Какво представлява „.a“ ​​файл в Linux?

Файлът „.a“ ​​на Linux е архивен файл, който служи като контейнер за компилиран код и данни. Обикновено е известна като статична библиотека, която съдържа кодове, които са свързани с извикващия код по време на компилация, което става основна част от приложението. Тези „.a“ ​​файлове на Linux осигуряват предварително компилиран, основополагащ принос към приложението, напълно противопоставяйки се на файловете с динамични библиотеки „.so“ на Linux, където свързването се извършва по време на изпълнение.







Нека си представим сценарий, в който разработчик прилага три различни програми. Знаейки, че съществува споделена функционалност между тези програми, програмистът създава библиотека, която капсулира тези общи функции, които са представени като файл „.a“. Важната новина, която трябва да знаете в този момент е, че файловете „.a“ ​​на Linux стават многократно използваема колекция от код и данни, които други разработчици могат да използват в своите проекти.



Предпоставки:

Преди да продължите, за да научите как да създадете и стартирате файл „.a“ ​​в Linux, е важно да знаете няколко основни неща. Има няколко предпоставки, които трябва да бъдат осигурени, преди да изпълните функция в Linux. Те са както следва:



  • Ubuntu 20.04 или всяка последна версия
  • Достъп до команден ред или терминален прозорец
  • Потребителски акаунт, по-специално sudo привилегии, за различни файлове и директории

Как създавате и стартирате файл „.a“ ​​на Linux?

Създаването и стартирането на файл „.a“ ​​на Linux включва поредица от стъпки: създаване, компилиране и изпълнение. Могат да се използват различни начини за извършване на тези действия и ние ще разгледаме всеки от тях поотделно. Нека започнем.





Имате нужда от GCC компилатор, за да стартирате и изпълните следния пример. Компилаторът се използва за изпълнение на всички команди за създаване и изпълнение на файла „.a“ ​​на Linux:



Следват стъпките, които са обяснени чрез различни команди и техники.

Стъпка 1: Компилирайте C изходен файл

Започнете работата, като създадете изходен файл на C с помощта на GCC компилатор, за да компилирате C изходните файлове (.c) в обектни файлове (.o) със следната команда:

$ gcc -Стена -° С * .° С

Флагът „-Wall“ разрешава всички предупреждения, а флагът „-c“ казва на GCC само да компилира, а не да свързва, в този момент.

Стъпка 2: Създайте архива на библиотеката

Следващата стъпка е да създадете файла на библиотеката. Командата “ar” създава статичния библиотечен архив (.a) от обектните файлове. Следователно използваме следната команда:

$ с -cvq libfile.a *

Тази команда създава статичен архивен файл с име „libfile.a“ чрез комбиниране на различни обектни файлове, които имат разширение „.o“ с помощта на командата „ar“ (архив) в операционните системи Linux. Тази команда има три неща, които трябва да забележите: 'c', 'v' и 'q'. Нека разбием компонентите и да разберем целта на всеки флаг и аргумент в контекста на тази команда:

ar: Изпълнява командата за архивиране в Linux системите. Основната функция на командата 'ar' е да създава, променя и извлича от архив.

-c: Този флаг инструктира да се създаде нов архив, ако той все още не е създаден или все още не съществува. Ако съществува архивен файл с даденото име, флагът „-c“ гарантира, че той се създава отново, замествайки всяко предишно съдържание.

-v: Многословният флаг показва подробна информация за процеса на архивиране. Предоставя обратна връзка за това кои файлове се добавят към архива.

-q: „q“ означава „бързо добавяне“. Той изисква флага „ar“ за незабавно добавяне на посочените файлове към архива, без да проверява за дублиращи се символи или отнемащи време операции.

libfile.a: Името на файла е необходимо за командата, която ще бъде създадена или модифицирана. Тук даваме име на файл като „libfile“ с разширение „.a“, което показва, че това е архивен файл на статична библиотека.

*.o: „*“ в края на командата представлява всеки файл в избраната директория с разширение „.o“, което се отнася до обектните файлове. Обектните файлове са резултат от компилация на изходния код и съдържат машинен код, който все още не е свързан с окончателен изпълним файл.

Стъпка 3: Преглед на съдържанието на библиотеката

След като създадохме архива на библиотеката, можем да го видим с помощта на командата „ar –t“. Командата “ar –t” изброява цялото съдържание, което присъства в библиотеката.

$ с -T libfile.a

Командата “ar -t libfile.a” изброява всички обектни файлове, които се съдържат в архивния файл на статичната библиотека, наречен “libfile.a”, използвайки командата “ar” в операционна система Linux. Нека анализираме всеки флаг и тяхната функционалност:

ar: Както споменахме по-рано, това е командата за архивиране в Linux системи.

-t: Флагът '-t' се използва за показване на съдържанието на архива, показвайки имената на обектните файлове, които се съхраняват в 'libfile.a.'

libfile.a: За да прочетем данните, трябва да знаем името на архивния файл.

Стъпка 4: Използване на библиотеката в друга програма

Нека сега да видим как да използваме новоразработения Linux '.a' файл в различна програма. Тъй като създадохме библиотека, тя вече може да се използва навсякъде и във всяка програма, като просто добавите библиотеката към командата за компилиране. Можем да го постигнем с помощта на следващата команда. Той включва всички необходими заглавки и връзки на библиотеката.

$ gcc MyProgramMain.c път / да се / lib е -файл

В тази команда „-L“ указва пътя на библиотеката, „-lfile“ се свързва с libfile „library.a“, премахвайки префикса „lib“ и суфикса „.a“.

Стъпка 5: Стартирайте „.a“ ​​Linux файл

Накрая можем да стартираме файла „.a“. Резултатът ви се показва веднага след стартиране на следния скрипт във вашия терминал:

$ . / MyProgramMain

Тази команда изпълнява файла, като използва функционалностите, предоставени както в изходните файлове, така и в свързаната статична библиотека.

Заключение

Създаването и стартирането на файл „.a“ ​​в Linux изисква компилиране на различните команди, които изпълняват създаването, компилирането и свързването на файла. Разбирането на тези стъпки и работните функции на всяка команда позволява на разработчиците да организират кода си, да използват външни библиотеки и да разработват мащабируеми програми. Независимо дали трябва да използвате основните команди като nano и GCC или ви предстои да работите с по-усъвършенствани техники със статични библиотеки, овладяването на тези умения помага при практическото базирано на Linux развитие.