2023年8月19日土曜日

ずっとC言語で組み込み系の仕事をしている者です。C言語がRustの利点(仕様) を取り込んでバージョンアップされないか期待してるんですが、そのような話はご存知ありませんか?

https://jp.quora.com/%E3%81%9A%E3%81%A3%E3%81%A8C%E8%A8%80%E8%AA%9E%E3%81%A7%E7%B5%84%E3%81%BF%E8%BE%BC%E3%81%BF%E7%B3%BB%E3%81%AE%E4%BB%95%E4%BA%8B%E3%82%92%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E8%80%85%E3%81%A7%E3%81%99-C%E8%A8%80

並べ替え
 · 
フォロー

Zigが最適です。Zig処理系はC/C++コンパイラを含んでいて、C/C++ヘッダのインクルードやC/C++ソースのコンパイルはそのまま可能です。ビルド機能やシングルバイナリのクロスコンパイル機能を持っていて、まずは最高のGCC,CLanのドロップイン置き換えのC/C++コンパイラとして利用できます。(この用途のためだけに利用している会社もあります。)

Zigは、バグを引き起こしやすいC言語の言語仕様を含んだ上位互換言語ではありませんが、ポインタの種別をきめ細かいものにするなど、相互運用を完全に可能にした上で(そのためRustの所有権などは導入しない。Cを組み込むとRustのレベルの安全性は破壊されるため)、漸進的にCコードを徐々にZigに置き換えていくような導入方法を選ぶことが出来ます。

参考

0 コメント:

コメントを投稿