{"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\/it\/blog\/novosti-interneta\/fil-c-kompilyator-dlya-yazykov-c-i-c-garantiruyushhij-bezopasnuyu-rabotu-s-pamyatyu","title":{"rendered":"Fil-C \u2014 un compilatore per i linguaggi C e C++, che garantisce un uso sicuro della memoria.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Filip Pizlo ha presentato alla conferenza SPLASH'24 il compilatore open source C\/C++ Fil-C, che offre protezione contro i problemi causati da errori di gestione della memoria. Il progetto mira a garantire la piena compatibilit\u00e0 con il codice esistente in C e C++: per garantire una gestione sicura della memoria \u00e8 sufficiente ricompilare il codice gi\u00e0 esistente. Il compilatore \u00e8 costruito utilizzando componenti del progetto LLVM ed \u00e8 distribuito con licenza Apache 2.0. Il Runtime \u00e8 fornito con licenza BSD. A differenza del recentemente annunciato progetto TrapC, attualmente in fase di progettazione, il compilatore Fil-C \u00e8 gi\u00e0 pronto per la compilazione del codice esistente.    <\/p>\n<p>Il progetto include anche varianti delle librerie standard C (libc) e C++ (libc++) che funzionano in sicurezza con la memoria, basate sulle librerie Musl e LLVM libc++. Tra l'altro, nei programmi compilati possono essere utilizzate funzionalit\u00e0 come il multithreading, la gestione dei segnali, il mapping dei file in memoria (mmap), longjmp\/setjmp e la gestione delle eccezioni in C++. Utilizzando Fil-C, \u00e8 possibile compilare progetti come bzip2, zip, pcre e ncurses senza modifiche. Con lievi modifiche \u00e8 supportata la compilazione di OpenSSH, OpenSSL, CPython, SQLite, Lua, Curl, Lynx, jpeg6b, zsh, xzutils e simdutf.    <\/p>\n<p>La protezione contro i problemi di memoria \u00e8 garantita grazie all'uso di puntatori MonoCaps a 128 bit con metadati per il controllo dei tipi e il monitoraggio dei confini dei buffer, oltre all'implementazione di un garbage collector FUGC, che gestisce tutte le operazioni di allocazione e liberazione della memoria. In caso di errori nella gestione della memoria, l'applicazione si arresta immediatamente, impedendo l'esploatazione di potenziali vulnerabilit\u00e0.    <\/p>\n<p>Si afferma che la combinazione di MonoCaps e FUGC consente di rilevare e bloccare tutti gli errori legati all'overflow del buffer nello stack e nell'heap, all'accesso alla memoria gi\u00e0 liberata, alle condizioni di gara nell'uso dei puntatori, nonch\u00e9 a una gestione errata dei tipi (Type Confusion) nel contesto dell'incrocio tra puntatori e non puntatori, problemi nella composizione dinamica (linking) e uso scorretto di va_lists. Inoltre, Fil-C verifica separatamente i limiti e i tipi nei buffer trasmessi alle chiamate di sistema.      <\/p>\n<p>Il prezzo da pagare per l'utilizzo di Fil-C per proteggere i progetti esistenti, senza la necessit\u00e0 di riscrivere il loro codice o di impiegare costrutti linguistici speciali, \u00e8 una riduzione delle prestazioni. In questa fase di sviluppo, i programmi compilati in Fil-C sono pi\u00f9 lenti di circa 1,5-5 volte rispetto ai compilatori tradizionali. Sono previsti lavori di ottimizzazione. Si stima che, al termine di questa fase, il codice sar\u00e0 eseguito pi\u00f9 lentamente di 1,2 volte nella maggior parte dei casi, mentre nei peggiori scenari il rallentamento non superer\u00e0 una volta e mezzo. Attualmente, il compilatore supporta solo la piattaforma Linux su sistemi X86_64. Le versioni precedenti supportavano macOS e FreeBSD, ma \u00e8 stato deciso di non disperdere gli sforzi e preparare all'inizio un porting di qualit\u00e0 della libc per una sola piattaforma.        <\/p>\n<p>Un altro limite di Fil-C \u00e8 il rifiuto fondamentale di mantenere la compatibilit\u00e0 a livello ABI per il codice C\/C++, il che impedisce il collegamento del codice compilato in Fil-C con le librerie e i file oggetto compilati da altri compilatori. I metodi di chiamata delle funzioni e il modo di collegamento dinamico in Fil-C sono diversi rispetto ai compilatori e linker esistenti. Questa scelta \u00e8 giustificata dal fatto che il collegamento con codice non protetto annulla l'essenza della protezione offerta da Fil-C e crea un'illusione di applicazione protetta: con la compatibilit\u00e0 ABI, gli sviluppatori sarebbero stati tentati di compilare in Fil-C solo singoli file, senza preoccuparsi di portare l'intero progetto.       <\/p>\n<p>Il meccanismo MonoCap utilizzato in Fil-C si basa su puntatori a 16 byte, nei quali oltre all'indirizzo di memoria, c'\u00e8 un riferimento a un oggetto che include informazioni sulle capacit\u00e0 (capability), come i limiti superiori e inferiori del buffer associato al puntatore, cos\u00ec come un array che definisce i tipi di dati memorizzati in ciascun blocco di memoria (1 byte con informazioni sul tipo (unset, int, ptr, free) per ogni blocco di memoria di 16 byte). Ogni accesso alla memoria tramite il puntatore verifica i limiti e il tipo (ad esempio, nella memoria di tipo 'ptr' non possono essere scritti dati di tipo 'int' e viceversa).       <\/p>\n<p>Tutte le operazioni di allocazione e rilascio della memoria sono gestite dal garbage collector FUGC (Fil's Unbelievable Garbage Collector), il quale, quando una memoria viene liberata, segna tutte le informazioni sui tipi associate al buffer liberato come 'free' e poi reindirizza tutti i puntatori agli oggetti liberati verso un oggetto separato che segnala che la memoria \u00e8 gi\u00e0 stata liberata. Qualsiasi successivo accesso a un blocco di dati di tipo 'free' o tramite un puntatore collegato a un oggetto liberato genera un'eccezione, proteggendo cos\u00ec da vulnerabilit\u00e0 di tipo use-after-free. Il garbage collector opera in parallelo e non interrompe l'esecuzione di altri thread.     <\/p>\n<p>L'uso combinato di MonoCaps e FUGC consente di mantenere la consueta operativit\u00e0 con i puntatori e di preservare la semantica delle chiamate malloc e free, garantendo al contempo una protezione sicura. Il codice del programma pu\u00f2 contenere vari errori logici, come cast di tipo errati, operazioni aritmetiche errate con i puntatori, condizioni di race e chiamate non tempestive alla funzione free(), ma indipendentemente da tutto ci\u00f2, Fil-C ricorder\u00e0 i limiti originali e il tipo di dato, interrompendo l'esecuzione qualora venga tentato l'accesso tramite un puntatore a un'area al di fuori dei limiti memorizzati, o la lettura di dati di tipo 'int' come puntatore o viceversa.        <\/p>\n<p>L'autore Fil-C, Filip Pizlo, ricopre in Epic Games il ruolo di direttore responsabile dei progetti legati ai linguaggi di programmazione. Filippo ha una vasta esperienza nello sviluppo di macchine virtuali, linguaggi di programmazione, compilatori e garbage collector. Ad esempio, presso IBM ha sviluppato il linguaggio di programmazione X10, presso Microsoft ha lavorato sui garbage collector Stopless, Clover e Chicken, mentre in Apple si \u00e8 occupato del compilatore JIT e delle ottimizzazioni del motore di rendering del browser WebKit. In Epic Games guida il team di sviluppatori che sta sviluppando il linguaggio di programmazione Verse e la relativa macchina virtuale. Filippo \u00e8 anche uno dei principali sviluppatori <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/it\/vps\/\"   title=\"di macchine virtuali\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2187\">di macchine virtuali<\/a>  Jikes RVM, Ovm e 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=\"Riproduci video\" 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 \/>Fonte: <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\/it\/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=\"it_IT\" \/>\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\/it\/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 compilatore per i linguaggi C e C++, che garantisce un uso sicuro della memoria | ProHoster","description":"Filip Pizlo ha presentato alla conferenza SPLASH'24 il compilatore open source C\/C++ Fil-C, che fornisce protezione contro i problemi causati da errori di gestione della memoria. Il progetto mira a garantire la piena compatibilit\u00e0 con il codice esistente in C e C++: per garantire un uso sicuro della memoria, \u00e8 sufficiente ricompilare il codice esistente. Il compilatore \u00e8 costruito utilizzando componenti del progetto","canonical_url":"https:\/\/prohoster.info\/it\/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":"it_IT","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\/it\/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\/it\/wp-json\/wp\/v2\/posts\/120589","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=120589"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/120589\/revisions"}],"predecessor-version":[{"id":159431,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/120589\/revisions\/159431"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=120589"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=120589"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=120589"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}