Skip to main content

Компоновка и линковка

При стандартной компиляции проекта создается полноценный ELF файл, происходит выравнивание по границам страниц памяти. При использовании указателя global main подключается стартовый код стандартной библиотеки C.

Точки входа.

Точка входа определяется значением global <что-то> Список точек входа.

Тип программы Рекомендуемая точка входа Компиляция
Самостоятельная Linux _start ld
С использованием libc main gcc
GUI Windows WinMain Visual Studio
DLL Windows DllMain Visual Studio
Ядро ОС kmain специальный линкер
Пользовательская любое имя ld -e имя

make файл

hello: hello.o
	gcc -o hello hello.o -no-pie
hello.o: hello.asm
	nasm -f elf64 -g -F dwarf hello.asm -l hello.lst

Компилирование происходит командой make,