GNU Assembler x64. Динамические библиотеки.

preview_player
Показать описание
Рассматривается создание и использование динамически погружаемых библиотек, которые так же называются разделяемыми объектными файлами.

// Ассемблирование файлов
gcc -c main.s -o main.o
gcc -c display.s -o display.o

// Создание динамической библиотеки (разделяемого объекта)

// Компоновка исполняемого файла
// Во время компоновки подгрузка динамической библиотеки
// не происходит, подгрузка происходит во время запуска
// Во время компоновки указывается, что нужно подгрузить
// во время запуска

На видео есть неточность.
Для подключения библиотеки можно указать путь (абсолютный или относительный) к файлу библиотеки без параметра -L:

// запуск файла
// Фактическая подгрузка динамической библиотеки происходит
// во время запуска
Рекомендации по теме
Комментарии
Автор

На видео есть неточность.
Для подключения библиотеки можно указать путь (абсолютный или относительный) к файлу библиотеки без параметра -L:

gcc main.o -o main.exe ~/asm/dll/display.so

sockfd
Автор

Хорошее видео. Спасибо Вам большое. Теперь понятно, что такое динамические библиотеки, чем они отличаются от статических, а также, как правильно создавать оба варианта библиотек.
Единственный вопрос: когда мы осуществляем статус успешного завершения программы main командой movl $0, %eax, почему именно необходимо использовать 4-байтную команду? А 8-байтная movq $0, %rax разве не подойдет?

ПавелГущин-шд