Microsoft стандартты C ++ кітапханасы STL-ді қолданудан код шығарды

STL ашық көзі

CppCon 2019 конференциясы өтетін орын болды жүзеге асыру Microsoft корпорациясының үлкен хабарламасы, оған жақсы STL кітапханасының бастапқы кодын шығарды C ++ стандартына Visual C ++ енгізілген, ол хабарландыру бойынша қол жетімді тегін лицензия бойынша, атап айтқанда Apache 2.0 (бұл өте рұқсат етілген).

libcxx, LLVM / Clang C ++ стандартты кітапханасы осы лицензияны қолданады, бұл жобалар арасындағы код алмасуды жеңілдетуі керек. Бұл кітапхананың барлық бастапқы кодтары Visual C ++ көмегімен қол жетімді және компиляцияланады, бірақ тестілеу әлі қосылмаған.

Ашық жоба GitHub-та дамиды және сұраныстарды алады деп күтілуде жаңа мүмкіндіктер мен патчтары бар үшінші тарап. Мүше болу үшін сіз CLA кодын беру туралы келісімге қол қоюыңыз керек.

MSVC командасы STL-ден GitHub-қа көшу Майкрософт клиенттеріне даму үдерісінде тұрақты болуға, инновациялармен тәжірибе жасауға және жобаны дамытуға көмектеседі деп санайды.

Оның орнына, әзірлеушілер жаңа стандарттардың жаңа жобаларын басқа жобаларда қолдана алады.

Мысалы, LLVM жобасы аясында жұмыс жасайтын libc ++ кітапханасымен код алмасуға болады. Microsoft STL мен libc ++ бірігіп кетпейтінін, олар әлі де әр түрлі кітапханалар екенін, әртүрлі құрылымдар мен платформалармен. Алайда, енді сіз екі кітапхана үшін де лицензиялау туралы алаңдамай жаңа мүмкіндіктермен жұмыс істей аласыз

Стандартты кітапхананы енгізу GCC немесе Clang ұсынған бағдарламалармен бәсекелесуге арналмаған, мысалы: Microsoft жобасы Microsoft-тан басқа платформаларға қолдау көрсетуді жоспарламайды.

Алайда, әзірлеушілер жоғары сапалы іске асыруды көздейді: стандарттарға сай және өте жылдам.

Екілік үйлесімділікке Visual C ++ 2015 және 2017 нұсқаларымен кепілдік беріледі (Бұл кітапхана 2019 нұсқасымен қамтамасыз етілген), стандарт аяқталғанға дейін жүзеге асырылған мүмкіндіктерді қоспағанда (жұмыс құжаттары мен техникалық сипаттамалар C ++ стандарттар комитеті).

WCBF02 филиалы (әлі күнге дейін Microsoft корпорациясында) екілік деңгейде үйлесімсіз өзгерістерді қамтиды, бірақ бастапқы деңгейде емес (стандартты кітапхананың жаңартылуы үшін DLL-ді өзгертпей, жобаларыңызды қайта компиляциялау қажет болады). Бұл филиал бірқатар жақсартулар мен түзетулерден тұрады және көп ұзамай көпшілікке қол жетімді болады.

Тегін деп сипатталған кейбір жобалардан айырмашылығы, Microsoft ақаулар туралы есеп беруді және жоба кодына үлес қосуды ұсынады (Бұл жағдайда, Microsoft корпорациясына жарналарды қайта бөлу үшін қажетті құқықтарды беру үшін CLA-ға қол қою қажет болады, әсіресе жоба лицензиясы өзгерген жағдайда, LLVM бірнеше жылдар бойы қиындыққа тап болды).

Жақын арада, Microsoft жобаға өзінің ішкі тесттік жинағын қосуы керек. Ішкі деңгейдегі қателер тізімі GitHub-қа көшірілуде. Қазіргі уақытта MSBuild көмегімен компиляция жасалды, бірақ CMake-ге көшу жүріп жатыр. C ++ 20 функционалдылығы жүзеге асырылуда.

Басқа Visual C ++ компоненттері ақысыз лицензияларға қол жетімді болмауы керек. Microsoft бұл таңдауды стандартты C ++ кітапханасы тәуелсіз компиляторға тәуелді (мысалы, стандартты C кітапханасына қарағанда) және оның басқа компилятор компоненттерімен салыстырғанда өте тез дамитынын айтып ақтайды.

STL бастапқы коды орналасқан енді Github-та қол жетімді мұнда мүдделі адамдар оны жүктей алады немесе оның кодын тексере алады.

GitHub репозиторийінде өнімнің барлық бастапқы коды бар, қосымша ақпараты бар жаңа CMake және README құрастыру жүйесі. Кітапхана Apache 2.0 лицензиясымен лицензияланған (кейбір екілік файлдарды қоспағанда).

Әлбетте, бұл STL-ді қолданғысы келетін әзірлеушілерге әсер етпейді, оны Visual Studio IDE-де қолдануға болатындықтан. Алайда, STL әзірлеуге қатысқысы келетін жасаушылар GitHub репозиторийін қолдана отырып жасай алады.

GitHub-қа көшу әлі жалғасуда, бірақ енді сіз өзіңіздің кодыңызды клондап құра аласыз.


Мақаланың мазмұны біздің ұстанымдарымызды ұстанады редакторлық этика. Қате туралы хабарлау үшін нұқыңыз Мұнда.

Бірінші болып пікір айтыңыз

Пікіріңізді қалдырыңыз

Сіздің электрондық пошта мекен-жайы емес жарияланады. Міндетті өрістер таңбаланған *

*

*

  1. Деректерге жауапты: Мигель Анхель Гатан
  2. Деректердің мақсаты: СПАМ-ны басқару, түсініктемелерді басқару.
  3. Заңдылық: Сіздің келісіміңіз
  4. Деректер туралы ақпарат: заңды міндеттемелерді қоспағанда, деректер үшінші тұлғаларға жіберілмейді.
  5. Деректерді сақтау: Occentus Networks (ЕО) орналастырған мәліметтер базасы
  6. Құқықтар: Сіз кез-келген уақытта ақпаратты шектей, қалпына келтіре және жоя аласыз.