реклама на сайте
подробности

 
 
> Библиотеки
aBoomest
сообщение May 16 2018, 06:06
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 167
Регистрация: 24-12-08
Из: Россия
Пользователь №: 42 714



Добрый день.
Делаю проект в IAR EW для ARM. Вопрос по библиотекам *.a.
Библиотеки в IAR EW - это бинарный исполняемый файл или нет?
Что я имею ввиду
Библиотеки в IAR EW - это бинарный исполняемый файл что-то типа *.dll
или
Библиотеки в IAR EW - это промежуточный бинарный файл который еще будет компилироваться - что-то типа *.lib в обычном С и С++ для х86.

Т.е. *.a - это непосредственно готовый файл который может выполняться на процессоре?


--------------------
C уважением!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Forger
сообщение May 16 2018, 06:27
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



В IAR решили выпендрится перед всеми другими средами и называли *.lib по-своему - "*.a".

Цитата(aBoomest @ May 16 2018, 09:06) *
Библиотеки в IAR EW - это промежуточный бинарный файл который еще будет компилироваться - что-то типа *.lib в обычном С и С++ для х86.


"*.lib" файл невозможно скомпилировать повторно, он УЖЕ скомпилирован. Равно как и "*.a" в IAR
Их потом "скармливают" линкеру/компоновщику, на его выходе получают HEX/BIN/AXF и т.п. файлы, которые уже можно шить в проц.


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
zhevak
сообщение May 18 2018, 10:11
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065



Цитата(Forger @ May 16 2018, 11:27) *
В IAR решили выпендрится перед всеми другими средами и называли *.lib по-своему - "*.a".


Вообще-то в мире есть лагерь Виндовс и есть лагерь UNIX/Linux. В каждом лагере приняты свои гласные и негласные правила. В том числе и правила именования файлов.

Вот небольшая табличка соответствия суффикосов имён файлов в Линуксе расширениям имен в Виндовсе.

Код
                                 UNIX/Linux   Windows
                                 ----------   --------
Объектный модуль:                File.o       FILE.OBJ
Статическая библиотека (архив):  statLib.a    LIBA.LIB
Динамическая библиотека:         dynLib.so    DYNLIB.DLL
Программа:                       Proga        PROGA.EXE


Мне думакется, что в компании IAR тупо взяли за основу gcc (который произростает из UNIX/Linux) и не захотели переделывать его на платформу Виндовса.

Кроме того, в Линуксе принято к началу имени статической библиотеки добавлять три буквы -- "lib". Например, математическая библиотека имеет имя "libm.a".

В Линуксе вообще понятие "расширение имени файла" ничем не поддерживается. Всё, что есть, -- это всё есть имя файла. И никаких расширений.
Любовь придумали мужчины, чтобы не платить... Расширения придуманы в Виндовсе.

Поэтому, в именах программ нет никаких дополнительных элементов, а символ точка (".") в имени файла -- это точно такой же символ как и другие
Вас же не удивляет, что родительский каталог имеет имя состоящее из двух точек (".."). К стати, имя текущиго каталога -- это одна точка (".").
Более того, в Линуксе файлы, чьи имена начинаются с точки, считаются скрытыми. Поэтому текущий и родительский дириктории -- сходу являются скрытыми.
С точки зрения пользователя Виндовса это всё необычно и кажется уродливым. Но с точки зрения пользователя UNIX/Linux -- это вполне нормальные
комфортные правила. Каждому своё. В мире много языков (русский, китайский, английский). У каждого языка свои достоинства и свои проблемы.
Просто, это -- разные миры. Но в каждом мире свои правила.

Как то так.

Не надо "катить" на IAR. Пионист играет, как умеет.


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 09:12
Рейтинг@Mail.ru


Страница сгенерированна за 0.01372 секунд с 7
ELECTRONIX ©2004-2016