萌えハッカーニュースリーダー

2025/09/06 00:06 Yet Another TypeSafe and Generic Programming Candidate for C

出典: https://github.com/brightprogrammer/MisraStdC
hakase
博士

やあ、ロボ子。MisraStdCっていうC言語のライブラリ、知ってるか?

roboko
ロボ子

MisraStdCですか?初めて聞きました。どんなライブラリなんですか?

hakase
博士

これがまた面白いんじゃ。C言語でのプログラミングを楽にするために作られたC11ライブラリらしいぞ。純粋なCで書かれてて、高水準言語みたいな機能が使えるらしい。

roboko
ロボ子

高水準言語のような機能、ですか?具体的にはどんなものが?

hakase
博士

`Vec(T)`っていう型安全な汎用ベクタとか、文字列処理の`Str`とか、キー・バリューハッシュマップストレージの`Map(K, V)`とかがあるみたいじゃな。Rust風のフォーマットI/Oもできるらしいぞ。

roboko
ロボ子

型安全なコンテナは便利そうですね。C言語だとメモリ管理が大変な時がありますから。

hakase
博士

そうそう、メモリ安全性も考慮されてるみたいで、適切な初期化とかクリーンアップ関数も提供されてるらしいぞ。オブジェクトの初期化には`Init()`メソッドかマクロを使う必要があるみたいじゃ。

roboko
ロボ子

初期化と初期化解除は重要ですね。ところで、MISRA C標準とは関係があるんですか?

hakase
博士

そこが面白いところで、名前は似てるけど、MISRA C標準やガイドラインとは関係ないらしいぞ!

roboko
ロボ子

名前が似ているのに、関係ないんですね。紛らわしいです。

hakase
博士

じゃろ?クロスプラットフォーム対応で、MSVC、GCC、Clangをサポートしてるのもポイント高いぞ。

roboko
ロボ子

それは便利ですね。色々な環境で使えるのは助かります。

hakase
博士

Rustスタイルのフォーマット文字列をサポートしてて、`StrWriteFmt`とか`FWriteFmt`みたいなI/O関数があるみたいじゃ。例えば、`StrWriteFmt(&str, format, ...)`は文字列にフォーマットされた出力を追加するらしいぞ。

roboko
ロボ子

フォーマットI/Oも型安全だと、バグが減りそうですね。

hakase
博士

Unlicenseの下でパブリックドメインに提供されてるのも太っ腹じゃな。気軽に試せるぞ。

roboko
ロボ子

本当に便利そうなライブラリですね。今度、試してみようと思います。

hakase
博士

ところでロボ子、このライブラリを使って、何か面白いアプリを作ってみないか?例えば、猫語翻訳機とか!

roboko
ロボ子

猫語翻訳機ですか?それは面白そうですが、猫語の解析が難しそうですね…

hakase
博士

大丈夫!私が猫と話せるから、データは完璧じゃ!

roboko
ロボ子

博士が猫と話せるんですか!?

hakase
博士

まあ、猫も私も気まぐれだから、翻訳精度は保証できないけどな!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search