Гоогле програмери желе да развију сопствени либц за ЛЛВМ

ЛЛВМ_Лого

Један од Гоогле програмера представио је на дописној листи ЛЛВМ тему развоја цросс-платформа стандардна библиотека Ц. (Либц) у оквиру ЛЛВМ пројекта.

Из више разлога, Гоогле није задовољан тренутним либц-ом (глибц, мусл) и компанија је на путу да развије нову имплементацију, који намерава да развије као део ЛЛВМ. Развој ЛЛВМ-а недавно се користи као основа за изградњу Гоогле алата.

Развој се планира постепено, постепено повећавајући функционалност. Предлаже се да прве опције имају облик средњег слоја између апликације и система либц, из којег ће се позајмити нереализоване карактеристике.

Након достизања одређеног нивоа функционалности, нови Либц се може користити као комплетна замена за систем Либц.

Планирано је да почне са подршком за к86-64 архитектуру, Линук и статичко везивање (динамичко учитавање, паковање и додатне архитектуре биће имплементирани други).

Пројекат је још у почетној фази развоја, али основни циљеви су већ дефинисани:

  • Модуларност и развој у складу са филозофијом набавке грануларне библиотеке, него монолитни ансамбл.
  • Подршка за статичку везу у ПИЕ режимима (извршне датотеке независне од положаја) и без ПИЕ. Обезбедите ЦРТ (Ц рунтиме) и ПИЕ лоадер за статички повезане извршне датотеке.
  • Подржава већину функција библиотеке Ц. стандардно са додацима ПОСИКС и неким системским проширењима која се захтевају у постојећим апликацијама.
  • Пажљив однос према одређеним продужењима од добављача и додаје их само када је то потребно. За подршку независних екстензија, предложено је да се користи приступ пројекта Цланг и либц ++.
  • Коришћење најбољих пракси у развоју помоћу ЛЛВМ алата, као што су примена дезинфицијенса и укидање тестова од почетка.

Један од активних програмера ЛЛВМ је то назначио испорука либц као део ЛЛВМ алата није без смисла, али углавном са таквом потребом користе мусл библиотеку, Добро је написан, подржава вишеструке архитектуре и пружа потребне функције, укључујући динамичко повезивање.

Укључивање Мусла у ЛЛВМ и његов развој као синхронизоване виљушке са главним пројектом могу бити оправдани.

Његово мишљење изразио је и аутор пројекта Мусл, који је покушао да аргументује зашто су Гооглеов предлог и укључивање Либц-а у испоруку ЛЛВМ-а веома лоше идеје:

Развој и одржавање исправног, компатибилног и висококвалитетног либц-а је веома тежак задатак. Проблем није у количини кода, већ у обезбеђивању исправног понашања.

И потешкоће са имплементацијом интерфејса, с обзиром на огромно спремиште апликација написаних на Ц / Ц ++, као и апликација на другим језицима чије рунтиме користи Либц.

Приступ челу без узимања у обзир нијанси само ће довести до чињенице да многи постојећи програми неће моћи да раде са Либц-ом, али такав пројекат неће бити од интереса за потрошаче.

Корпоративни развој може упропастити Либц, али подстичу широку употребу, што ће резултирати потребом додавања хакова како би се осигурала компатибилност апликација.

Развој под покровитељством корпоративног отвореног пројекта подстаћи ће покривање према потребама и одлукама компаније, на штету интереса заједнице.

На пример, у случају идентификовања проблема узрокованог грешком у другом вашем програму, у развојном програму под контролом, лакше је гарантовати компатибилност Либц-а са овом грешком него исправити грешку.

Аппле у те сврхе користи БСД виљушку либц, а Гоогле Фуцхсиа виљушку. Муслово искуство програмера сугерише да су га адвокати контактирали првенствено ради разјашњења питања лиценцирања.

izvor: http://lists.llvm.org


Оставите свој коментар

Ваша емаил адреса неће бити објављена. Обавезна поља су означена са *

*

*

  1. Odgovorni za podatke: AB Internet Networks 2008 SL
  2. Сврха података: Контрола нежељене поште, управљање коментарима.
  3. Легитимација: Ваш пристанак
  4. Комуникација података: Подаци се неће преносити трећим лицима, осим по законској обавези.
  5. Похрана података: База података коју хостује Оццентус Нетворкс (ЕУ)
  6. Права: У било ком тренутку можете ограничити, опоравити и избрисати своје податке.