Rust의 C FFI는 unsafe 경계 너머의 계약을 강제하지 못하므로, 기존 C/C++ 코드를 Fil-C의 런타임 메모리 안전성 아래에서 호출하는 새 FFI가 필요함 초기 버전은 스칼라 값, 복사된 문자열·슬라이스, 불투명 핸들만 지원하며, 전체 C 의존성 그래프를 Fil-C로 컴파일해 일반 C로 빠지는 경로를 차단함 Fil-C는 C 소스와 호환되지만 ABI는 호환되지 않아 단순한 bindgen 옵션으로 구현할 수 없으며, 보장을 유지한 채 값을 교환하는 새 Rust 브리지가 필요함 filnix는 100개가 넘는 nixpkgs 패키지를 Fil-C 플랫폼으로 이식했고, Zig도 전체 C/C++ 의존성 트리에 런타임 메모리 안전성을 적용하는 선택적 fil ABI를 제안함 기존 C는 포인터 검사와 가비지 컬렉션의 런타임 비용을 내는 안전한 호환 경로가 되며, 병목을 Rust로 재작성할수록 그 비용이 사라져 마이그레이션 유인이 커짐 Rust와 Fil-C를 잇는 안전한 FFI Rust의 C FFI는 수십 년간 축적된 소프트웨어를 활용하게 해주지만, unsafe 경계를 넘으면 어느 언어도 강제할 수 없는 계약을 C 라이브러리가 지킨다고 신뢰해야 함 Fil-C는 C와 C++를 Capability, 런타임 검사, 동시성 가비지 컬렉터와 함께 다시 컴파일함 메모리 안전성 위반은 익스플로잇으로 이어지는 대신 패닉을 발생시킴 기존 소프트웨어는 소스 변경이 거의 또는 전혀 필요하지 않을 수 있지만, 런타임 안전성 비용을 부담함 제안된 extern "fil-c"의 초기 범위는 의도적으로 제한됨 스칼라 값, 복사된 문자열과 슬라이스, 불투명 핸들을 지원함 안전한 Rust 래퍼를 생성하고 전체 C 의존성 그래프를 Fil-C로 컴파일함 일반적인 unsafe C로 돌아가는 탈출구는 제공하지 않음 공유 메모리는 Fil-C에 부여한 Capability를 Rust가 확실히 회수할 수 있을 때 이후 단계에서 추가할 수 있음 Fil-C는 C와 소스 호환되지만 의도적으로 ABI와 호환되지 않으며, 일반 Rust의 extern "C"는 Fil-C가 Yolo-C라고 부르는 ABI를 사용함 따라서 새 FFI는 bindgen 옵션 하나만으로 추가할 수 없음 Rust나 Fil-C 또는 양쪽에서 생성한 스텁이 Fil-C의 보장을 잃지 않고 값을 교환해야 함 생태계 기반과 마이그레이션 유인 filnix는 Fil-C를 Nix 교차 컴파일 플랫폼으로 패키징하며, ...
Rust에서 안전하게 C를 호출하는 extern "fil-c" 제안
1 month ago
24
Related
Claude Code의 메시지 제안 기능: 진짜 고객은 모델이라는 생각
33 minutes ago
0
Show GN: 추천링크·UTM으로 오프라인 소개의 성과를 추적하는 구조
2 hours ago
3
소프트웨어 팩토리 패턴 시도하기
2 hours ago
3
Show GN: 웹 변경 모니터링하는 크롬 확장프로그램
3 hours ago
3
OpenAI, 확률·선택지·점수를 반환하는 Decisions API 공개 베타 시작
3 hours ago
3
제프리 카첸버그 - 세상이 바뀌고 있다: 창의성을 위한 AI
4 hours ago
3
이 모든 것이 지나간 뒤를 위한 지속 가능한 웹 커리어
4 hours ago
3
Tips
click
Popular
프로들도 줄지어 샷 점검… KLPGA 스타 사랑방 된 더헤븐CC 연습장
2 weeks ago
73
iOS 27, iPadOS 27, macOS 27
3 weeks ago
69
손흥민 선제골 발판·골대 불운…LAFC, 7경기 만에 승리
3 weeks ago
65
영림원소프트랩, 나람 통합 ERP 구축…사료 제조·물류·회계 데이터 하나로
2 weeks ago
62
'이 악문' 김영범, 자유형 50m '대회 신기록' 금메달
2 weeks ago
55
© Clint IT 2026. All rights are reserved









English (US) ·