Виконання програми |
---|
Загальні поняття |
Типи програмного коду |
Стратегії компіляції |
Середовища виконання |
|
Важливі компілятори і інструменти |
|
crt0 (від англ. C runtime 0) — програмний код, що лінкується з програмою на мові програмування C, і виконує початкову ініціалізацію перед викликом функції main. Як правило це об'єктний модуль, що називається crt0.o, часто написаний на мові асемблера. Зазвичай автоматично включається лінкером до виконуваного файлу.[1]
crt0 містить початкову функціональність бібліотеки середовища виконання, і напряму залежить від компілятора, операційної системи і реалізації стандартної бібліотеки мови C.[1] На додачу до базової ініціалізації crt0 може виконувати додаткові функції, визначені програмістом, такі як виклик глобальних конструкторів C++ або функцій С, що містять атрибут ((constructor)) (специфічний для GCC).[2][3]
Для спеціальних випадків можуть застосовуватися альтернативні версії crt0: наприклад, профілювальник gprof вимагає, щоб програми лінкувалися з модулем gcrt0.[4]
<ref>
: для виносок під назвою embecosm
не вказано текст
<ref>
: для виносок під назвою osdev
не вказано текст
<ref>
: для виносок під назвою osdev1
не вказано текст
<ref>
: для виносок під назвою gprof
не вказано текст
© MMXXIII Rich X Search. We shall prevail. All rights reserved. Rich X Search