crt0 (познат и као c0) је скуп извршних покретачких рутина повезаних са C програмом који обавља све иницијаторске послове који су потребни пре позива главне програмске функције. Он преузима форму објекта названог  crt0.o, , често написаном у асемблерском језику који је аутоматски повезан са сваким извршним фајлом који гради.[1]

crt0 садржи већину основних делова библиотеке извршавања. Као такав, извршни посао који се обавља зависи од програмског преводиоца, оперативног система и C-ове стандардне библиотеке имплементација.[1] Поред инцијалног рада који захтева системска околина и ланца алатки, crt0 може обављати додатне операције које дефинише програмер, као што је покретање C++  глобалног конструктора и омогућавање да C функција носи ГНУ-ов((конструктор)) атрибут.[2][3]

"crt" означава "Ц извршење", а нула означава "прави почетак". Ипак, када су програми преведени помоћу ГЦЦ-а поред C-а користи и друге програмске језике. Алтернатива crt0 је доступна само у посебним случајевима; нпр, профајлер gprof захтева да програми које покреће буду компатибилни са  gcrt0.[4]

Види јошУреди

РеференцеУреди

  1. ^ а б „The C Runtime Initialization, crt0.o”. embecosm.com. 2010. Приступљено 30. 12. 2013. 
  2. ^ „Program initialization: Creating a C library”. osdev.org. 25. 2. 2014. Приступљено 21. 4. 2014. 
  3. ^ „Calling Global Constructors”. osdev.org. 8. 4. 2014. Приступљено 21. 4. 2014. 
  4. ^ „Compiling a Program for Profiling: GNU gprof”. sourceware.org. Приступљено 30. 12. 2013. 

Спољашње везеУреди