Доступна стандардна Ц библиотека ПицоЛибц 1.1

Кеитх Пацкард, активни Дебиан програмер, вођа Кс.Орг пројекта и креатор многих Кс екстензија, укључујући КСРендер, КСЦомпосите и КСРандР, уведен издање нове стандардне Ц библиотеке ПицоЛибц 1.1, развијен за употребу на уграђеним уређајима са ограниченом трајном меморијом и РАМ-ом. Током развоја, део кода је позајмљен из библиотеке невлиб из пројекта Цигвин и АВР Либц, развијен за Атмел АВР микроконтролере. ПицоЛибц код дистрибуира под БСД лиценцом. Склоп библиотеке је подржан за АРМ (32-битне), и386, РИСЦ-В, к86_64 и ПоверПЦ архитектуре.

Кеитх Пацкард је започео развој након што није могао да пронађе пристојну Либц опцију која би се могла користити на уграђеним уређајима са мало РАМ-а. Пројекат се развија од прошле године. У првој фази, пројекат је био варијанта невлиб-а, функције стдио-а у коме су замењене компактном верзијом из аврлибц-а (стдио у невлиб-у није био погодан за његову велику потрошњу ресурса). Пошто Кеитхов тренутни рад укључује стални рад са РИСЦ-В архитектуром и развојем алата за уграђене уређаје, недавно је прегледао стање имплементације либц-а и закључио да би уз мало подешавања, комбинација невлиб и аврлибц могла бити добра општа сврха решење. У почетку се пројекат развијао под именом „невлиб-нано“, али да би се избегла забуна са библиотеком Невлиб преименован је у ПицоЛибц.

У свом садашњем облику, Пицолибц је већ урадио посао на уклањању свих кодова који нису испоручени под БСД лиценцом (овај код није коришћен приликом изградње за уграђене уређаје), што је значајно поједноставило ситуацију са лиценцом за пројекат. Имплементација локалних токова је премештена са 'струцт _реент' на ТЛС механизам (локално складиште нити). Компактна верзија стдио-а, позајмљена из кода библиотеке аврлибц, се подразумевано активира (уметци асемблера специфични за АТмел преписани су у Ц). За асемблер је коришћен Месонов комплет алата, који је омогућио да се не везују за нове либ скрипте асемблера и да се поједностави пренос промена из невлиб-а. Додата је поједностављена верзија иницијализационог кода (црт0), приложена извршној датотеци и извршена пре него што се контрола пренесе на функцију маин().

У Пицолибц верзији 1.1:

  • Додата помоћна библиотека за подршку технологије "семихостинг„омогућава коду који ради у окружењу за отклањање грешака или емулатора да користи И/О механизме хост система;
  • За системе који подржавају системске позиве отварања, затварања, читања и писања, тинистдио додаје стандардизоване ПОСИКС стдио И/О интерфејсе, укључујући фопен и фдопен функције, као и везивање стдин/стдоут/стдерр за ПОСИКС-дефинисане дескрипторе датотека;
  • Недавне промене из невлиб кодне базе су пренете. Укључујући додане либм стубове за фенв.х, који се може користити на системима без подршке са плутајућим зарезом;
  • Додан пример изградње апликације „Хелло ворлд“ са пицолибц за АРМ и РИСЦ-В системе;
  • Уклоњени су директоријуми невлиб, либм и матхфп, који су садржали неискоришћени експериментални код.

Извор: опеннет.ру

Додај коментар