Упознајте нову верзију Цосмополитан 2.0, стандардну Ц библиотеку за више платформи

Покретање нова верзија пројекта „Космополитан 2.0“, који развија стандардну Ц библиотеку и универзални формат извршне датотеке који се може користити за дистрибуцију програма за различите оперативне системе без употребе тумача и виртуелних машина.

Контејнер за генерисање универзалних извршних датотека ослања се на комбиновање специфичних сегмената и заглавља из различитих система оперативних система у једну датотеку, комбинујући неколико различитих формата који се користе у Уник-у, Виндовс-у и мацОС-у.

Да се ​​уверимо да један извршни фајл покренути на системима Виндовс и Уник, трик се користи за кодирање Виндовс ПЕ датотека као схелл скрипте, користећи чињеницу да Тхомпсон Схелл не користи маркер скрипте „#!“.

Да бисте креирали програме који укључују више датотека (комбинујући све ресурсе у једну датотеку), подржано је генерисање извршне датотеке у облику посебно направљене ЗИП архиве. Преглед предложеног формата (пример апликације хелло.цом):

Позив кему-к86_64 је обезбеђен ради додатне преносивости и омогућава да код компајлиран за архитектуру к86_64 ради на платформама које нису к86, као што су Распберри Пи плоче и Аппле уређаји опремљени АРМ процесорима. Пројекат се такође може користити за креирање самосталних апликација које раде без оперативног система (голи метал). У таквим апликацијама, покретач је прикачен извршној датотеци, а програм делује као оперативни систем за покретање.

Главне новине Цосмополитан 2.0

У овој новој верзији је истакнуто да промењена је шема за приступ интерним ресурсима Дентро из зип датотеке (када отварате датотеке, сада се користе уобичајене /зип/… путање уместо префикса зип:..). Слично томе, да бисте приступили дисковима у Виндовс-у, могуће је користити путање попут „/ц/…“ уместо „Ц:/…“.

Предложен је нови АПЕ утоваривач (Ацтуалли Портабле Екецутабле), који дефинише формат универзалних извршних датотека. Нови боотлоадер користи ммап за додељивање програма у меморију и више не мења садржај у ходу. Ако је потребно, универзални извршни фајл се може конвертовати у обичне извршне датотеке везане за појединачне платформе.

На Линук-у је могуће користити модул кернела бинфмт_мисц за покретање АПЕ програма. Напомиње се да је употреба бинфмт_мисц најбржи метод покретања, поред Имплементација функционалност системских позива пледге() и унвеил(), које је развио ОпенБСД пројекат, као и пружање АПИ-ја за коришћење података о позивима у Ц, Ц++, Питхон и Редбеан програмима, као и услужни програм са обећања.цом да се изолују произвољни процеси.

То такође можемо наћи за Линук, перформансе позива цлоцк_геттиме и геттимеофдаи су повећане до 10 пута због употребе механизма вДСО (Виртуал Динамиц Схаред Објецт), који омогућава преношење руковаоца системског позива у кориснички простор и заобилажење контекста прекидача.

Изградња користи Ландлоцк Маке, издање ГНУ Маке-а са строжом провером зависности и коришћењем Ландлоцк системског позива за изолацију програма од остатка система и побољшање ефикасности кеширања. Као опција, способност компајлера и уобичајени ГНУ Маке су сачувани.

С друге стране, такође наглашава имплементиране функције за вишенитност: _спавн() и _јоин(), који представљају универзалне везе за специфичне АПИ-је за различите оперативне системе. Такође се ради на имплементацији подршке за ПОСИКС нити.

Од осталих промена које се истичу:

  • Додата подршка за опције „–фтраце“ и „–страце“ извршним датотекама за слање информација о свим позивима функција и системским позивима у стдерр.
  • Додата подршка за системски позив цлосефром() компатибилан са Линук 5.9+, ФрееБСД 8+ и ОпенБСД.
  • Математичке функције за рад са комплексним бројевима премештене су из Мусл библиотеке.
  • Многе математичке функције су убрзане.
  • Предложена је функција ноинтернет(), која онемогућава мрежне могућности.
  • Додате нове функције за ефикасно додавање стрингова: аппендд, аппендф, аппендр, аппендс, аппендв, аппендз, каппендф, кваппендф и ваппендф.
  • Додата је заштићена верзија породице функција кпринтф(), дизајнирана да ради са повишеним привилегијама.
  • Значајно побољшане перформансе имплементација ССЛ, СХА, цурве25519 и РСА.

Коначно, ако сте заинтересовани да сазнате више о томе, требало би да знате да је код пројектаили се дистрибуира под лиценцом ИСЦ (поједностављена верзија МИТ/БСД).


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

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

*

*

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