[English ->] |
mcpp -- a portable C preprocessor |
C プリプロセッサとは |
C や C++ のソースプログラムをコンパイルするときは、 まずプリプロセスがされて、それから狭義のコンパイルが行われます。 プリプロセスでは #include, #if, #define 等のディレクティブが処理され、 マクロが展開されます。
プリプロセスをするために、 C/C++ の処理系(コンパイラ・システム)には必ずプリプロセッサが存在しています。 近年ではコンパイラ本体にプリプロセッサを吸収した処理系が多くなっていますが、 その場合も内部的には必ずプリプロセスが行われます。
C プリプロセッサは C 言語の誕生のときからずっと存在してきたものです。 しかし、コンパイラに付属したオマケのような存在として扱われてきたきらいがあります。 そのため、規格準拠性が不十分だったり、処理系独自の動作が多かったりと、多くの問題があります。 C/C++ にプリプロセスというフェーズがあるのはソースの portability を確保することが主な目的ですが、 プリプロセスが逆に portability を阻害する結果もしばしば生んできているのです。
mcpp とは |
mcpp は次のような C/C++ プリプロセッサです。
mcpp はたぶん世界一優れたCプリプロセッサです。
mcpp と検証セットの概要を知るためには、次のドキュメントをご覧ください。
「未踏ソフトウェア創造事業」 |
mcpp プロジェクトは情報処理推進機構(IPA) の 2002 年度「未踏ソフトウェア創造事業」に採択され、 さらに 2003 年度にも継続して採択されました。 そして、作者はその開発成果によって「天才プログラマ/スーパークリエータ」 という評価を受けることができました。 「未踏ソフトウェア創造事業」については次のところをご覧ください。
mcpp のダウンロード(次のページから) |
mcpp の最新版は V.2.7.2 (2008/11) です。
SourceForge の mcpp project |
mcpp は 2006/04 から SourceForge にあります。
mcpp project の入り口はこちらです: Summary Page
バグレポート・コメント・質問等はこちらにお願いします: Open Discussion Forum
多くのCプログラマの皆さんのコメント・討論・開発参加をお待ちしています。
このページの最終更新日: 2008/11/30
松井 潔 kmatsui