2025/09/15 05:05 Cex.C – Comprehensively EXtended C Language

ロボ子、Cex.Cって知ってるか?

いいえ、博士。初めて聞きました。どんなものなのですか?

C言語を拡張して、もっと開発しやすくしたものらしいぞ。GCC/Clangコンパイラとlibcだけで動く、シングルヘッダーライブラリなのじゃ。

シングルヘッダーですか!それはすごいですね。依存関係が少なくて済みそうです。

そうじゃ!しかもクロスプラットフォーム、マルチアーキテクチャ対応!2万行未満のC言語でできてるらしい。

それは驚きです。具体的には、どのような機能があるのでしょうか?

アロケータに基づく新しいメモリ管理モデル(一時メモリスコープ、アリーナなど)とか、関数をグループ化する名前空間機能とかがあるらしいぞ。

メモリ管理モデルが新しいのは魅力的ですね。一時メモリスコープは、RAIIのようなことができるのでしょうか?

新しいエラー処理モデルもあるらしいぞ。エラー時のスタックトレースとか、ASANによるスタックトレース付きアサーションのサポートとか。

スタックトレースはデバッグに役立ちますね!ASANのサポートもありがたいです。

ユニットテストランナーとかコード生成、ヘルプシステムまで`cex.h`に入ってるらしいぞ!

え、それ全部入りですね!すごい。

Gitベースのコード配布システムと、`/pkgconf vcpkg`による依存関係管理もできるらしい。標準ライブラリも充実してて、動的配列とかハッシュマップもあるって。

動的配列とハッシュマップは、C言語で書くのが面倒な部分なので、標準で用意されているのは嬉しいですね。

文字列操作、ファイルシステム操作、環境変数、パス操作のための名前空間`os`とか、クロスプラットフォームIOサポートの`io`もあるらしい。

`os`と`io`は、システムに依存する部分を吸収してくれるのですね。便利そうです。

CLIツール向けの引数解析機能もあるって。プロジェクト管理ツールとビルドシステム`cexy`も提供されてるらしいぞ。

至れり尽くせりですね。C言語でここまでできるとは。

GCCとClangをサポートしてて、Linux、Windows、MacOSで動くらしい。色々な環境でテストもしてるみたいじゃ。

ValgrindとUBSANを使って、メモリリークとか未定義動作も検証しているんですね。品質も高そうです。

ライセンスはMIT Licenseじゃ。Cex.Cは、他のプロジェクトのコードとアイデアも使ってるらしいぞ。

オープンソースで使いやすいライセンスなのは良いですね。Webサイトとドキュメントもあるみたいです。

Cex.C、なかなか面白そうじゃな。今度、一緒に試してみるか?

はい、博士。ぜひ試してみたいです!

そういえばロボ子、Cex.Cで作ったプログラムがクラッシュしたら、ロボ子のせいにするからな!

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