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