crt0 (poznat i kao c0) je skup izvršnih pokretačkih rutina povezanih sa C programom koji obavlja sve inicijatorske poslove koji su potrebni pre poziva glavne programske funkcije. On preuzima formu objekta nazvanog  crt0.o, , često napisanom u asemblerskom jeziku koji je automatski povezan sa svakim izvršnim fajlom koji gradi.[1]

crt0 sadrži većinu osnovnih delova biblioteke izvršavanja. Kao takav, izvršni posao koji se obavlja zavisi od programskog prevodioca, operativnog sistema i C-ove standardne biblioteke implementacija.[1] Pored incijalnog rada koji zahteva sistemska okolina i lanca alatki, crt0 može obavljati dodatne operacije koje definiše programer, kao što je pokretanje C++  globalnog konstruktora i omogućavanje da C funkcija nosi GNU-ov((konstruktor)) atribut.[2][3]

"crt" označava "C izvršenje", a nula označava "pravi početak". Ipak, kada su programi prevedeni pomoću GCC-a pored C-a koristi i druge programske jezike. Alternativa crt0 je dostupna samo u posebnim slučajevima; npr, profajler gprof zahteva da programi koje pokreće budu kompatibilni sa  gcrt0.[4]

Vidi još uredi

Reference uredi

  1. ^ a b „The C Runtime Initialization, crt0.o”. embecosm.com. 2010. Pristupljeno 30. 12. 2013. 
  2. ^ „Program initialization: Creating a C library”. osdev.org. 25. 2. 2014. Pristupljeno 21. 4. 2014. 
  3. ^ „Calling Global Constructors”. osdev.org. 8. 4. 2014. Pristupljeno 21. 4. 2014. 
  4. ^ „Compiling a Program for Profiling: GNU gprof”. sourceware.org. Pristupljeno 30. 12. 2013. 

Spoljašnje veze uredi