Извршење програма |
---|
Опште теме |
Специфична дужина трајања |
|
crt0 (познат и као c0) је скуп извршних покретачких рутина повезаних са C програмом који обавља све иницијаторске послове који су потребни пре позива главне програмске функције. Он преузима форму објекта названог crt0.o, , често написаном у асемблерском језику који је аутоматски повезан са сваким извршним фајлом који гради.[1]
crt0 садржи већину основних делова библиотеке извршавања. Као такав, извршни посао који се обавља зависи од програмског преводиоца, оперативног система и C-ове стандардне библиотеке имплементација.[1] Поред инцијалног рада који захтева системска околина и ланца алатки, crt0 може обављати додатне операције које дефинише програмер, као што је покретање C++ глобалног конструктора и омогућавање да C функција носи ГНУ-ов((конструктор)) атрибут.[2][3]
"crt" означава "Ц извршење", а нула означава "прави почетак". Ипак, када су програми преведени помоћу ГЦЦ-а поред C-а користи и друге програмске језике. Алтернатива crt0 је доступна само у посебним случајевима; нпр, профајлер gprof захтева да програми које покреће буду компатибилни са gcrt0.[4]