{"id":120589,"date":"2024-11-17T13:09:07","date_gmt":"2024-11-17T11:09:07","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/fil-c-kompilyator-dlya-yazykov-c-i-c-garantiruyushhij-bezopasnuyu-rabotu-s-pamyatyu"},"modified":"2024-11-17T13:09:07","modified_gmt":"2024-11-17T11:09:07","slug":"fil-c-kompilyator-dlya-yazykov-c-i-c-garantiruyushhij-bezopasnuyu-rabotu-s-pamyatyu","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/novosti-interneta\/fil-c-kompilyator-dlya-yazykov-c-i-c-garantiruyushhij-bezopasnuyu-rabotu-s-pamyatyu","title":{"rendered":"Fil-C \u2014 C ja C++ keelte kompilaator, mis tagab m\u00e4luga ohutu t\u00f6\u00f6tamise.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Filip Pizlo esitles konverentsil SPLASH'24 avatud C\/C++ kompilaatorit Fil-C, mis pakub kaitset m\u00e4luhaldusega seotud vigade vastu. Projekti eesm\u00e4rk on tagada t\u00e4ielik \u00fchilduvus olemasoleva C ja C++ koodiga \u2014 piisab, kui olemasolev kood lihtsalt uuesti kompileerida, et tagada m\u00e4lukaitse. Kompilaator on \u00fcles ehitatud LLVM projektist p\u00e4rit komponentide baasil ja on litsentseeritud Apache 2.0 alusel. Runtime on litsentseeritud BSD alusel. Erinevalt hiljuti v\u00e4lja kuulutatud projektist TrapC, mis on veel projekteerimise faasis, on kompilaator Fil-C juba valmis olemasoleva koodi kompileerimiseks.    <\/p>\n<p>Projekt sisaldab ka m\u00e4luga ohutult t\u00f6\u00f6tavaid C (libc) ja C++ (libc++) standardteegi variante, mis p\u00f5hinevad Musl ja LLVM libc++ teekidel. Muuhulgas v\u00f5ivad kogutud programmides olla kasutusel sellised v\u00f5imalused nagu mitme \u00fclesande t\u00e4itmine, signaalide t\u00f6\u00f6tlemine, failide m\u00e4luga kaardistamine (mmap), longjmp\/setjmp ja erindite t\u00f6\u00f6tlemine C++-is. Fil-C abil v\u00f5ivad ilma muudatusteta olla kokku pandud projektid bzip2, zip, pcre ja ncurses. V\u00e4ikeste muudatustega toetatakse OpenSSH, OpenSSL, CPython, SQLite, Lua, Curl, Lynx, jpeg6b, zsh, xzutils ja simdutf kokkupanekut.    <\/p>\n<p>M\u00e4luprobleemide kaitse tagatakse 128-bitiste MonoCaps pointerite kasutamise kaudu, mis sisaldavad metaandmeid t\u00fc\u00fcpide kontrollimiseks ja puutete piiride j\u00e4lgimiseks, samuti FUGC pr\u00fcgikoristaja aktiveerimisega, mis kontrollib k\u00f5iki m\u00e4lu eraldamise ja vabastamise operatsioone. M\u00e4lu kasutamise vigade korral katkestatakse rakendus kohe, mis takistab v\u00f5imalike haavatavuste \u00e4rakasutamist.    <\/p>\n<p>On v\u00e4idetud, et MonoCaps ja FUGC kombinatsioon v\u00f5imaldab tabada ja blokeerida k\u00f5ik vead, mis on seotud m\u00e4lust v\u00e4lja minekuga, nii virnas kui heap'is, juba vabastatud m\u00e4lu kasutamisega, pointeritega seonduvate v\u00f5idujooksu olukordadega ning vale t\u00fc\u00fcbi k\u00e4sitlemise (Type Confusion) probleemidega pointerite ja pointeriteta t\u00fc\u00fcpide ristumisel, samuti d\u00fcnaamilise linkimisega (linking) ja va_listide eba\u00f5ige kasutamisega. Lisaks kontrollib Fil-C eraldi piire ja t\u00fc\u00fcpe s\u00fcsteemik\u00f5nedele edastatavates puhverdes.      <\/p>\n<p>Fil-C kasutamise v\u00f5imalus olemasolevate projektide kaitsmiseks, ilma vajaduseta nende koodi \u00fcmber kirjutada v\u00f5i erilisi keelekonstruktsioone kaasata, toob kaasa j\u00f5udluse languse. Praegusel arenguetapil on Fil-C kogutud programmid umbes 1,5-5 korda aeglasemad v\u00f5rreldes tavap\u00e4raste kompilaatormoodulitega. Plaanides on t\u00f6\u00f6 optimiseerimise kallal. Eeldatakse, et p\u00e4rast selle t\u00f6\u00f6 l\u00f5petamist toimub enamikul juhtudel koodi t\u00e4itmine 1,2 korda aeglasemalt ja halvimates stsenaariumites ei \u00fcleta aeglustumine poolteist korda. Kompilaator toetab praegu ainult Linuxi platvormi X86_64 s\u00fcsteemidel. Eelnevad versioonid toetasid ka macOS-i ja FreeBSD-d, kuid siis otsustati mitte hajutada j\u00f5ude ning esmalt valmistada ette kvaliteetne libc sadam \u00fche platvormi jaoks.        <\/p>\n<p>Fil-C teiseks piiranguks on p\u00f5him\u00f5tteline keeld ABI tasandi \u00fchilduvuse s\u00e4ilitamisest C\/C++ koodiga, mis ei luba linkida Fil-C-s loodud koodi teiste kompilaatoritega loodud teekide ja objekti failidega. Funktsioonide kutsumisviisid ja d\u00fcnaamiline linkimine Fil-C-s erineb olemasolevatest kompilaatoritest ja linkeritest. Selline lahendus on seletatav sellega, et linkides kaitsetu koodiga, kaotatakse Fil-C-s pakutud kaitse olemus ja tekib vale turvalise rakenduse illusioon \u2014 ABI \u00fchilduvuse olemasolul oleks arendajatel kiusatus kompileerida Fil-C-s ainult \u00fcksikfaile, ilma et nad vaevaks end kogu projekti porteerimisega.       <\/p>\n<p>Fil-C-s kasutatav MonoCap mehhanism p\u00f5hineb 16-baidistel osutitel, kus lisaks m\u00e4luaadressile on viidatud objekt, mis sisaldab teavet v\u00f5imaluste (capability) kohta, n\u00e4iteks mahtude \u00fclemised ja alumised piirid, mis on seotud osutiga, ning massiiv, mis m\u00e4\u00e4rab andmet\u00fc\u00fcbid, mis on salvestatud igas m\u00e4lublokis (1 bait teavet t\u00fc\u00fcbi (unset, int, ptr, free) kohta iga 16-baidise m\u00e4lubloki jaoks). Iga kord, kui p\u00e4\u00e4setakse m\u00e4lule osuti kaudu, tehakse piiri- ja t\u00fc\u00fcbi kontroll (n\u00e4iteks m\u00e4llu, mille t\u00fc\u00fcp on 'ptr', ei v\u00f5i kirjutada andmeid, mille t\u00fc\u00fcp on 'int' ja vastupidi).       <\/p>\n<p>K\u00f5ik m\u00e4lu eraldamise ja vabastamise toimingud toimuvad FUGC (Fil's Unbelievable Garbage Collector) pr\u00fcgikoguja kaudu, mis vabastades m\u00e4lu muudab k\u00f5ik vabastatud puhvri puhul seotud t\u00fc\u00fcbi kirjed v\u00e4\u00e4rtuseks 'free' ja suunab siis k\u00f5ik osutid vabastatud objektidele eraldi objektile, mis annab m\u00e4rku, et m\u00e4lu on juba vabastatud. Iga edasine p\u00e4\u00e4s andmeplokile, mille t\u00fc\u00fcp on 'free', v\u00f5i osuti kaudu vabastatud objektiga, toob kaasa erandi genereerimise, mis kaitseb kasutamise p\u00e4rast vabastamise haavatavuste eest. Pr\u00fcgikoguja t\u00f6\u00f6tab paralleelselt ja ei peata teiste niitide t\u00e4itmist.     <\/p>\n<p>MonoCaps ja FUGC kombinatsiooni kasutamine v\u00f5imaldab s\u00e4ilitada harjumusp\u00e4rast osutitega t\u00f6\u00f6tamise v\u00f5imalust ja j\u00e4tta malloc ja free kutsumise semantika muutumatuks, pakkudes samal ajal garanteeritud kaitset. Programmikood v\u00f5ib sisaldada erinevaid loogilisi vigu, nagu vale t\u00fc\u00fcpide \u00fclekandmine, vale aritmeetika osutitega, v\u00f5idujooksud ja eba\u00f5ige free() funktsiooni kutsumine, kuid hoolimata sellest, Fil-C m\u00e4letab algseid piire ja andmet\u00fc\u00fcpi ning katkestab t\u00e4itmise, kui p\u00fc\u00fctakse p\u00e4\u00e4seda osuti kaudu m\u00e4lualale v\u00e4ljaspool salvestatud piire, p\u00e4\u00e4seda vabastatud m\u00e4lublokile v\u00f5i lugeda andmeid t\u00fc\u00fcbiga 'int' osutina v\u00f5i vastupidi.        <\/p>\n<p>Fil-C, Philip Pizlo, on Epic Games'i direktori, kes vastutab programmeerimiskeelte projektide eest. Philipil on ulatuslik kogemus virtuaalmasinate, programmeerimiskeelte, kompilaatorite ja pr\u00fcgikogujate valdkonnas. N\u00e4iteks IBM-is arendas ta programmeerimiskeelt X10, Microsoftis t\u00f6\u00f6tas ta Stopless, Clover ja Chicken pr\u00fcgikogujate kallal, Apple'is tegeles ta JIT-kompilaatori ja WebKiti brauserimootori optimeerimisega ning Epic Games'is juhib ta arendajate meeskonda, mis arendab programmeerimiskeelt Verse ja sellega seotud virtuaalmasinat. Philip on samuti \u00fcks v\u00f5tmearendajatest. <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/et\/vps\/\"   title=\"virtuaalmasinad\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2187\">virtuaalmasinad<\/a>  Jikes RVM, Ovm ja Fiji VM.         <center>  <div class=\"youtube-placeholder\" data-id=\"_VF3pISRYRc\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/_VF3pISRYRc\/hqdefault.jpg\" alt=\"Vaata videot\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div>  <\/center><br \/>\n<br \/>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=62241\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0424\u0438\u043b\u0438\u043f\u043f \u041f\u0438\u0437\u043b\u043e (Filip Pizlo) \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u043d\u0430 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 SPLASH&#8217;24 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 C\/C++ \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 Fil-C, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 \u0437\u0430\u0449\u0438\u0442\u0443 \u043e\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c, \u0432\u044b\u0437\u0432\u0430\u043d\u043d\u044b\u0445 \u043e\u0448\u0438\u0431\u043a\u0430\u043c\u0438 \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u043f\u0430\u043c\u044f\u0442\u044c\u044e. \u041f\u0440\u043e\u0435\u043a\u0442 \u043d\u0430\u0446\u0435\u043b\u0435\u043d \u043d\u0430 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u043d\u043e\u0439 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 \u0441 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c \u043a\u043e\u0434\u043e\u043c \u043d\u0430 \u044f\u0437\u044b\u043a\u0430\u0445 C \u0438 C++ &#8212; \u0434\u043b\u044f \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043f\u0430\u043c\u044f\u0442\u044c\u044e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u043a\u043e\u0434. \u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u043e\u0442 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-120589","post","type-post","status-publish","format-standard","hentry","category-novosti-interneta"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0424\u0438\u043b\u0438\u043f\u043f \u041f\u0438\u0437\u043b\u043e (Filip Pizlo) \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u043d\u0430 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 SPLASH&#039;24 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 C\/C++ \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 Fil-C, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 \u0437\u0430\u0449\u0438\u0442\u0443 \u043e\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c, \u0432\u044b\u0437\u0432\u0430\u043d\u043d\u044b\u0445 \u043e\u0448\u0438\u0431\u043a\u0430\u043c\u0438 \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u043f\u0430\u043c\u044f\u0442\u044c\u044e. \u041f\u0440\u043e\u0435\u043a\u0442 \u043d\u0430\u0446\u0435\u043b\u0435\u043d \u043d\u0430 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u043d\u043e\u0439 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 \u0441 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c \u043a\u043e\u0434\u043e\u043c \u043d\u0430 \u044f\u0437\u044b\u043a\u0430\u0445 C \u0438 C++ - \u0434\u043b\u044f \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043f\u0430\u043c\u044f\u0442\u044c\u044e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u043a\u043e\u0434. \u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u043e\u0442 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/et\/blog\/novosti-interneta\/fil-c-kompilyator-dlya-yazykov-c-i-c-garantiruyushhij-bezopasnuyu-rabotu-s-pamyatyu\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Fil-C \u2014 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0434\u043b\u044f \u044f\u0437\u044b\u043a\u043e\u0432 C \u0438 C++, \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u044e\u0449\u0438\u0439 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u0443\u044e \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u043f\u0430\u043c\u044f\u0442\u044c\u044e | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0424\u0438\u043b\u0438\u043f\u043f \u041f\u0438\u0437\u043b\u043e (Filip Pizlo) \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u043d\u0430 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 SPLASH&#039;24 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 C\/C++ \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 Fil-C, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 \u0437\u0430\u0449\u0438\u0442\u0443 \u043e\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c, \u0432\u044b\u0437\u0432\u0430\u043d\u043d\u044b\u0445 \u043e\u0448\u0438\u0431\u043a\u0430\u043c\u0438 \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u043f\u0430\u043c\u044f\u0442\u044c\u044e. \u041f\u0440\u043e\u0435\u043a\u0442 \u043d\u0430\u0446\u0435\u043b\u0435\u043d \u043d\u0430 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u043d\u043e\u0439 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 \u0441 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c \u043a\u043e\u0434\u043e\u043c \u043d\u0430 \u044f\u0437\u044b\u043a\u0430\u0445 C \u0438 C++ - \u0434\u043b\u044f \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043f\u0430\u043c\u044f\u0442\u044c\u044e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u043a\u043e\u0434. \u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u043e\u0442 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/novosti-interneta\/fil-c-kompilyator-dlya-yazykov-c-i-c-garantiruyushhij-bezopasnuyu-rabotu-s-pamyatyu\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2024-11-17T11:09:07+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2024-11-17T11:09:07+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Fil-C \u2014 C ja C++ keelte kompilaator, mis tagab ohutu m\u00e4luhalduse | ProHoster","description":"Philip Pizlo esitles konverentsil SPLASH'24 avatud C\/C++ kompilaatorit Fil-C, mis pakub kaitset m\u00e4luhalduse viga p\u00f5hjustatud probleemide vastu. Projekt keskendub t\u00e4ie\u00f5iguslikule \u00fchilduvusele olemasoleva C ja C++ koodiga - m\u00e4lu turvaliseks haldamiseks piisab olemasoleva koodi uuesti kompileerimisest. Kompilaator on loodud komponentide abil projektist.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/novosti-interneta\/fil-c-kompilyator-dlya-yazykov-c-i-c-garantiruyushhij-bezopasnuyu-rabotu-s-pamyatyu","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Fil-C \u2014 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0434\u043b\u044f \u044f\u0437\u044b\u043a\u043e\u0432 C \u0438 C++, \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u044e\u0449\u0438\u0439 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u0443\u044e \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u043f\u0430\u043c\u044f\u0442\u044c\u044e | ProHoster","og:description":"\u0424\u0438\u043b\u0438\u043f\u043f \u041f\u0438\u0437\u043b\u043e (Filip Pizlo) \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043b \u043d\u0430 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 SPLASH'24 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0439 C\/C++ \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 Fil-C, \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 \u0437\u0430\u0449\u0438\u0442\u0443 \u043e\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c, \u0432\u044b\u0437\u0432\u0430\u043d\u043d\u044b\u0445 \u043e\u0448\u0438\u0431\u043a\u0430\u043c\u0438 \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u043f\u0430\u043c\u044f\u0442\u044c\u044e. \u041f\u0440\u043e\u0435\u043a\u0442 \u043d\u0430\u0446\u0435\u043b\u0435\u043d \u043d\u0430 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u043d\u043e\u0439 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 \u0441 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c \u043a\u043e\u0434\u043e\u043c \u043d\u0430 \u044f\u0437\u044b\u043a\u0430\u0445 C \u0438 C++ - \u0434\u043b\u044f \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043f\u0430\u043c\u044f\u0442\u044c\u044e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u043a\u043e\u0434. \u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u043e\u0442 \u043f\u0440\u043e\u0435\u043a\u0442\u0430","og:url":"https:\/\/prohoster.info\/et\/blog\/novosti-interneta\/fil-c-kompilyator-dlya-yazykov-c-i-c-garantiruyushhij-bezopasnuyu-rabotu-s-pamyatyu","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2024-11-17T11:09:07+00:00","article:modified_time":"2024-11-17T11:09:07+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"120589","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-02-09 17:36:58","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 08:04:20","updated":"2026-02-09 17:36:58"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/120589","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=120589"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/120589\/revisions"}],"predecessor-version":[{"id":159431,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/120589\/revisions\/159431"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=120589"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=120589"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=120589"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}