{"id":182796,"date":"2026-08-10T19:41:22","date_gmt":"2026-08-10T17:41:22","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/fil-c-0-682-memory-safety-bez-perepisyvaniya"},"modified":"2026-08-10T19:41:22","modified_gmt":"2026-08-10T17:41:22","slug":"fil-c-0-682-memory-safety-bez-perepisyvaniya","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/novosti-interneta\/fil-c-0-682-memory-safety-bez-perepisyvaniya","title":{"rendered":"Fil-C 0.682 \u2014 Speicherintegrit\u00e4t ohne Umschreibung","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex>          <a rel=\"nofollow\" id=\"memories_button\" href=\"#\" title=\"Verfolgen\"><i class=\"icon-bell\"><\/i><\/a><br \/>2                            <\/p>\n<p>Die Ver\u00f6ffentlichung von Fil-C 0.682, einem C- und C++-Compiler, der vollst\u00e4ndige Speichersicherheit (memory safety) gew\u00e4hrleistet und bessere Garantien bietet als viele andere Sprachen, wie zum Beispiel Rust, erfolgte. Das Projekt wird von Filip Pizlo entwickelt, der keiner Einf\u00fchrung bedarf.<\/p>\n<p>Fil-C basiert auf dem Code von Clang\/LLVM 20.x und erm\u00f6glicht die Kompilierung traditioneller C\/C++-Codes mit der Garantie, alle g\u00e4ngigen Schwachstellen (out-of-bounds access, use-after-free, double free, type confusion) zu verhindern. Im Gegensatz zu ASan oder MTE verwendet Fil-C ein streng sicheres Objektmodell und enth\u00e4lt grunds\u00e4tzlich keine Schlupfl\u00f6cher wie Unsafe-Bl\u00f6cke.<\/p>\n<p>Im vergangenen Jahr hat das Projekt von einem Konzeptnachweis zu einem vollwertigen Tool mit einem umfangreichen \u00d6kosystem fortgeschritten.<\/p>\n<p><strong>Hauptmerkmale und technische Details:<\/strong><\/p>\n<ul>\n<li><strong>InvisiCaps 2.0 und die Entwicklung des Capability-Modells:<\/strong> Das Berechtigungssystem (capabilities), das die Grenzen und Typen von Zeigern verfolgt, wurde grundlegend \u00fcberarbeitet, ohne ihre 64-Bit-Gr\u00f6\u00dfe im Adressraum von C zu ver\u00e4ndern. Die Speicherung von capabilities wurde optimiert, die Overhead-Kosten wurden gesenkt, und au\u00dferdem wurde die korrekte Unterst\u00fctzung von union, memcpy, atomaren Operationen mit Strukturen und die \u00dcbertragung von Mandaten \u00fcber Inline-Assembler hinzugef\u00fcgt.<\/li>\n<li><strong>Parallel Garbage Collector (FUGC):<\/strong> Im Laufzeit-Garbage Collector <em>Fils unglaublicher M\u00fcllsammler<\/em> wurden paralleles Sammeln, die Unterst\u00fctzung komplexer Objekte wie Closures und GNU Indirect Function hinzugef\u00fcgt.<\/li>\n<li><strong>Unterst\u00fctzung f\u00fcr ARM64:<\/strong> Ein Backend, Laufzeit, Loader und ABI f\u00fcr die ARM64-Architektur (Linux\/aarch64) wurden praktisch von Grund auf neu implementiert, und das Projekt hat die Phase der Beta-Tests auf dieser Plattform erreicht.<\/li>\n<li><strong>Sicherer Inline-Assembler und SIMD:<\/strong> Eine einzigartige F\u00e4higkeit zur Ausf\u00fchrung von <strong>sicheren Assembler-Einf\u00fcgungen<\/strong> (einschlie\u00dflich Assembler-Bl\u00f6cken von OpenSSL) mit der Aufrechterhaltung der Berechtigungspr\u00fcfungen wurde hinzugef\u00fcgt. Vollst\u00e4ndige Unterst\u00fctzung f\u00fcr Vektor-Instruktionen SSE, AVX, AVX2 und AVX512 (einschlie\u00dflich masked load\/store, expand\/compress, sfence und prefetch) wurde implementiert.<\/li>\n<li><strong>Escape-Analyse:<\/strong> Seit Version 0.671 wird eine statische Analyse von Speicherlecks aus Stackbereichen durchgef\u00fchrt. Dies war die gr\u00f6\u00dfte Optimierungs\u00e4nderung des Jahres: Die Ausf\u00fchrungsgeschwindigkeit von QuickJS stieg um mehr als das Sechsfache, und die meisten anderen Programme um mehr als 10%.<\/li>\n<li><strong>Kompatibilit\u00e4t mit C++ und modernen Standards:<\/strong> Die Unterst\u00fctzung f\u00fcr C++-Ausnahmen, erzwungene Stapel-Entfaltung, ucontext, berechnete Spr\u00fcnge, std::optional und Zeiger auf Klassenmitglieder wurde implementiert.<\/li>\n<li><strong>Schutz vor gef\u00e4hrlichen UB-Optimierungen in LLVM:<\/strong> Fil-C hat aggressive Optimierungen in LLVM, die auf undefined behavior (UB) basieren, tats\u00e4chlich deaktiviert. Insbesondere wurde strict aliasing deaktiviert und analog -fwrapv aktiviert, was das fehlerhafte Entfernen von Sicherheitspr\u00fcfungen durch den Compiler verhindert.<\/li>\n<li><strong>Umstieg auf LLVM\/Clang 20:<\/strong> Der Compiler wurde auf den Codebasistandard von Clang 20 (ab der Version Fil-C 0.670) umgestellt, was eine bessere Kompatibilit\u00e4t und Portabilit\u00e4t der Codegenerierung gew\u00e4hrleistet.<\/li>\n<li><strong>Erweiterung des Linux ABI und FFI der n\u00e4chsten Generation:<\/strong> Es wurde eine Emulation und sichere Wrapper f\u00fcr Dutzende von Systemaufrufen in Linux (statx, openat2, pidfd, epoll, splice, futex, timer API usw.) implementiert, sowie Unterst\u00fctzung f\u00fcr dlopen, dlvsym, libffi und eine FFI-Schicht zur Interaktion mit externem Code.<\/li>\n<li><strong>Neue Aufrufkonvention und Runtime-API:<\/strong> Der interne ABI zum Funktionsaufruf wurde optimiert, um den Overhead zu reduzieren. Neue APIs wurden hinzugef\u00fcgt, einschlie\u00dflich zlock_runtime_threads() (Festlegung von Threads f\u00fcr den Aufbau strenger Sandk\u00e4sten), sowie ein integrierter Sampling-Profilierer und Werkzeuge f\u00fcr Speicher-Dumps.<\/li>\n<li><strong>Vollwertige Userspace-Distribution \/opt\/fil:<\/strong> eine sichere Systemumgebung auf Basis von glibc 2.40, die OpenSSH, OpenSSL, sudo, git, curl, wget, rsync, tmux, make, grep sowie Systembibliotheken (PAM, Kerberos, SELinux, ICU) umfasst.<\/li>\n<\/ul>\n<p>Fertige Bin\u00e4rversionen werden in zwei Varianten verbreitet: als eigenst\u00e4ndige Version auf Basis von musl (filc) und als vollst\u00e4ndige Systemumgebung \/opt\/fil f\u00fcr die Architekturen x86_64 und ARM64.<\/p>\n<p> <noindex><\/p>\n<p><a rel=\"nofollow\" href=\"https:\/\/github.com\/pizlonator\/fil-c\">GitHub-Projekt<\/a><\/p>\n<p><\/noindex> <noindex><\/p>\n<p>Au\u00dferdem sei erw\u00e4hnt, dass es auch eine speichersichere Linux-Distribution gibt \u2014 <a rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/news\/opensource\/18235548\">Pizlix<\/a><\/p>\n<p><\/noindex><\/p>\n<p>Quelle: <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/news\/security\/18353368\">linux.org.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>2 \u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0432\u044b\u043f\u0443\u0441\u043a Fil-C 0.682 \u2014 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 C \u0438 C++, \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u043f\u043e\u043b\u043d\u0443\u044e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043f\u0430\u043c\u044f\u0442\u044c\u044e (memory safety) \u0438 \u0434\u0430\u044e\u0449\u0435\u0433\u043e \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0438 \u0431\u041e\u043b\u044c\u0448\u0438\u0435, \u0447\u0435\u043c \u043c\u043d\u043e\u0433\u0438\u0435 \u0434\u0440\u0443\u0433\u0438\u0435 \u044f\u0437\u044b\u043a\u0438, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, Rust. \u041f\u0440\u043e\u0435\u043a\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0424\u0438\u043b\u0438\u043f\u043e\u043c \u041f\u0438\u0437\u043b\u043e (Filip Pizlo), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u044f\u0445 \u043d\u0435 \u043d\u0443\u0436\u0434\u0430\u0435\u0442\u0441\u044f. Fil-C \u043e\u0441\u043d\u043e\u0432\u0430\u043d \u043d\u0430 \u043a\u043e\u0434\u043e\u0432\u043e\u0439 \u0431\u0430\u0437\u0435 Clang\/LLVM 20.x \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043a\u043e\u0434 \u043d\u0430 C\/C++ [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":9,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-182796","post","type-post","status-publish","format-standard","hentry","category-novosti-interneta"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"2 \u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0432\u044b\u043f\u0443\u0441\u043a Fil-C 0.682 \u2014 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 C \u0438 C++, \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u043f\u043e\u043b\u043d\u0443\u044e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b \u0441.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Emin Berklin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/novosti-interneta\/fil-c-0-682-memory-safety-bez-perepisyvaniya\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\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 0.682 \u2014 memory safety \u0431\u0435\u0437 \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u044b\u0432\u0430\u043d\u0438\u044f | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"2 \u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0432\u044b\u043f\u0443\u0441\u043a Fil-C 0.682 \u2014 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 C \u0438 C++, \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u043f\u043e\u043b\u043d\u0443\u044e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b \u0441.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/novosti-interneta\/fil-c-0-682-memory-safety-bez-perepisyvaniya\" \/>\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=\"2026-08-10T17:41:22+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-08-10T17:41:22+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Fil-C 0.682 \u2014 Speichersicherheit ohne Neuschreibung | ProHoster","description":"2 Die Ver\u00f6ffentlichung von Fil-C 0.682 ist erfolgt \u2014 ein Compiler f\u00fcr C und C++, der vollst\u00e4ndige Sicherheit im Umgang mit.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/novosti-interneta\/fil-c-0-682-memory-safety-bez-perepisyvaniya","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","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 0.682 \u2014 memory safety \u0431\u0435\u0437 \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u044b\u0432\u0430\u043d\u0438\u044f | ProHoster","og:description":"2 \u0421\u043e\u0441\u0442\u043e\u044f\u043b\u0441\u044f \u0432\u044b\u043f\u0443\u0441\u043a Fil-C 0.682 \u2014 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 C \u0438 C++, \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u044e\u0449\u0435\u0433\u043e \u043f\u043e\u043b\u043d\u0443\u044e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b \u0441.","og:url":"https:\/\/prohoster.info\/de\/blog\/novosti-interneta\/fil-c-0-682-memory-safety-bez-perepisyvaniya","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":"2026-08-10T17:41:22+00:00","article:modified_time":"2026-08-10T17:41:22+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/182796","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=182796"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/182796\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=182796"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=182796"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=182796"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}