Veze, linkovi
Kompjuter biblioteka
Korpa

Mac OS x tehnologije - Core Foundation

Core foundation (pozna i kao CF) je interefejs za programiranje C aplikacija (API) u Mac OS X-u, i predstavljamešavinu rutina niskog nivoa i wrapper funkcija. Njegov veći deo je dostupan u projektu otvorenog koda koj se zove CF-Lite koji može da se koristi za pisanje međuplatformskih programa za Mac OS X, Linux, i Windows (preko Cygwin-a). Većina Core Foundation rutina prati određenu konvenciju imenovanja koja se odnosi na neprovidne objekte, na primer CFDictionaryRef za funkcije čija imena počinju sa CFDictionary, i ovi objekti se često referentno broje (ručno) kroz CFRetain i CFRelease. Interno, Core Foundation takođe formira osnovu tipova u Objective-C runtime-u.



Najčešća upotreba Core Foundation-a je za prosleđivanje njenih sopstvenih primitivnih tipova podataka, uključujući sirove bajtove, Unicode nizove, brojeve, datume kalendara, i UUID-ove, kao i kolekcije kao što su setovi i rečnici, ka mnogobrojnim OS X C rutinama, primarno onima oje imaju veze sa GUI-jem. Na nivou operativnog sistema Core Foundation takođe obezbeđuje upravljanje standardizovanim parametrima programa kroz  CFPropertyList, rukovanje bundle-ovima, pokretanje petlji, interprocesorsku komunikaciju kroz CFMachPort i CFNotificationCenter, i okvir za dijalog osnovnog grafičkog korisničkog interfejsa kroz CFUserNotification.



Drugi delovi API-ja uključuju rutine i wrapper-e oko postojećih API-ja koji obezbeđuju lakoću korišćenja. Pomoćne rutine izvode akcije kao što su fajl sistem i mrežni I/O kroz CFReadStream, CFWriteStream, CFURL i endianness prevođenje (Byte Order Utilities). Neki primeri wrapper rutina uključuju one za Core Foundation-ove wrapper rutine za Unix sokete, CFSocket API.

 

         
Twitter Facebook Linkedin Pinterest Email
         

Budite prvi koji će ostaviti komentar.

Ostavite komentar Ostavite komentar

 

 

 

Veze, linkovi
Linkedin Twitter Facebook
 
     
 
© Sva prava pridržana, Kompjuter biblioteka, Beograd, Obalskih radnika 4a, Telefon: +381 11 252 0 272