Шта је ново за програмере

Гномова развојна подлога која се испоручује са верзијом 2.14 нуди стабилну основу за независне програмере који могу направити сопствене програме. Гном и његова развојна подлога (развојне библиотеке) су лиценцирани на тај начин да свако на тој подлози има слободу стварања и слободног и власничког софтвера.

Јамчи се програмска и бинарна стабилност развојних библиотека за време док се објављују издања серије 2.x. Библиотеке окружења не потпадају под наведено јамство али у већини случајева су конзистентне од издања до издања.

3.1. GSlice

Почевши од GLib-а 2.10, GSlice додељивач меморије замењује старије GMemChunk и GTrashStacks API-је доступне у GLib-у. GSlice је веома сличан „slab“ додељивачу меморије из језгра и омогућава брзо, ефикасно додељивање мањих структура (нпр. елемената GList-е, структуре GtkWindow). GSlice такође не садржи оптерећење за закључавање као GMemChunk, што га чини знатно бржим у вишенитним програмима.

Слика 21Брзина додељивача меморије при додели и ослобађању 1 милион елеменета GList-е у 1 (црвено), 5 (жуто), 10 (зелено) и 20 (плаво) нити.

GMemChunk је написан изнова тако да користи GSlice, али API GMemChunk-а се сматра превазиђеним.

Да доделите меморију користећи додељивач GSlice, користите позив g_slice_new (МојаСтруктура);, што ће вратити показивач (ptr). Да ослободите меморију додељену помоћу GSlice-а, користите функцију g_slice_free (МојаСтруктура, ptr);.

GSlice користи скалабилну и локалну за нит оставу делића различитих величина. За велике потребе за меморијом, GSlice ће неометано и самостално прећи на g_malloc додељивач за вас, тако да програмери не морају сами да изаберу најефикаснији додељивач.

3.2. Регистрација услуге

Најновији Гном сада нуди и могућност покретања својих програма заједно са покретањем Гнома. Да ово постигнете, додајте .desktop датотеку у $prefix/share/gnome/autostart/, /etc/xdg/autostart/ или ~/.config/autostart/. Уколико желите да додате услугу, али је подразумевано искључите, додајте особину X-GNOME-autostart-enabled = False.

Има и неких доскочица при пријави услуга на овај начин:

  • Програми који се пријављују сесији на неки други начин (нпр. nautilus, gnome-panel, vino) не смеју да се пријаве и на овај начин.
  • Програми којима се управља у сесији се неће исправно користити, па будите сигурни да сте проследили и опцију --sm-disable у реду са Exec наредбом.