Šta je novo za programere

Gnomova razvojna podloga koja se isporučuje sa verzijom 2.14 nudi stabilnu osnovu za nezavisne programere koji mogu napraviti sopstvene programe. Gnom i njegova razvojna podloga (razvojne biblioteke) su licencirani na taj način da svako na toj podlozi ima slobodu stvaranja i slobodnog i vlasničkog softvera.

Jamči se programska i binarna stabilnost razvojnih biblioteka za vreme dok se objavljuju izdanja serije 2.x. Biblioteke okruženja ne potpadaju pod navedeno jamstvo ali u većini slučajeva su konzistentne od izdanja do izdanja.

3.1. GSlice

Počevši od GLib-a 2.10, GSlice dodeljivač memorije zamenjuje starije GMemChunk i GTrashStacks API-je dostupne u GLib-u. GSlice je veoma sličan „slab“ dodeljivaču memorije iz jezgra i omogućava brzo, efikasno dodeljivanje manjih struktura (npr. elemenata GList-e, strukture GtkWindow). GSlice takođe ne sadrži opterećenje za zaključavanje kao GMemChunk, što ga čini znatno bržim u višenitnim programima.

Слика 21Brzina dodeljivača memorije pri dodeli i oslobađanju 1 milion elemeneta GList-e u 1 (crveno), 5 (žuto), 10 (zeleno) i 20 (plavo) niti.

GMemChunk je napisan iznova tako da koristi GSlice, ali API GMemChunk-a se smatra prevaziđenim.

Da dodelite memoriju koristeći dodeljivač GSlice, koristite poziv g_slice_new (MojaStruktura);, što će vratiti pokazivač (ptr). Da oslobodite memoriju dodeljenu pomoću GSlice-a, koristite funkciju g_slice_free (MojaStruktura, ptr);.

GSlice koristi skalabilnu i lokalnu za nit ostavu delića različitih veličina. Za velike potrebe za memorijom, GSlice će neometano i samostalno preći na g_malloc dodeljivač za vas, tako da programeri ne moraju sami da izaberu najefikasniji dodeljivač.

3.2. Registracija usluge

Najnoviji Gnom sada nudi i mogućnost pokretanja svojih programa zajedno sa pokretanjem Gnoma. Da ovo postignete, dodajte .desktop datoteku u $prefix/share/gnome/autostart/, /etc/xdg/autostart/ ili ~/.config/autostart/. Ukoliko želite da dodate uslugu, ali je podrazumevano isključite, dodajte osobinu X-GNOME-autostart-enabled = False.

Ima i nekih doskočica pri prijavi usluga na ovaj način:

  • Programi koji se prijavljuju sesiji na neki drugi način (npr. nautilus, gnome-panel, vino) ne smeju da se prijave i na ovaj način.
  • Programi kojima se upravlja u sesiji se neće ispravno koristiti, pa budite sigurni da ste prosledili i opciju --sm-disable u redu sa Exec naredbom.