大阪市中央区 システムソフトウェア開発会社

営業時間:平日09:15〜18:15
MENU

PCP: C++ Preprocessor構想

株式会社クローバーフィールドの経営理念
著者:高木信尚
公開日:2017/05/06
最終更新日:2017/05/05
カテゴリー:技術情報
タグ:

高木です。おはようございます。

先日もPHPでC++の前処理を行う話題を取り上げました。
この構想はかなり前からあって、最初はもう7年前のこの記事からスタートしたと思います。

当時はいろいろな変わった実験を行っていて、PHPを前処理に使うのもそのひとつでした。
ただ、半分以上ジョークのようなものだったので、本格的に整備することはしないままになっていました。

その後、PCPというツールを完成させるとか、プロトタイプを実際に使うとかいうことではなく、PHPをCやC++の前処理に使うという手法は実務でも行ってきました。
その経験も踏まえて、そろそろ形にしてもいいかなと思うようになってきたのです。

当初は簡単に使えるようにということで、単一の翻訳単位のみを扱い、PHPによる前処理 → Cコンパイル → リンクまでを一気にやってしまうツールを考えていました。
これは、Visual C++では普通に使えるオートリンク(#pragma comment(lib, “ライブラリ名”))を使って自動的にライブラリをリンクさせる)をGCCとかでは使えなかったため、同様のことをPCPにやらせようと考えたことも理由です。

実際には、単一の翻訳単位しか扱えないのは制約が大きすぎます。
また、前処理からコンパイルまで一気にやってしまうより、分離できるようにした方が何かと便利です。

この7年間に、C++はC++11を経てC++14が登場し、今年にはC++17が制定されます。
PHPのバージョンも上がり、現在の最新版は7.1.4です。
こうした処理系の進化も、構想にさまざまな影響を与えます。

ここまで暖めてきた構想は、そろそろ何らかの形にすべきですね。

今後はPCPを何とかして形にしていきたいと考えています。
もし一緒にやってみたいという方がおられましたらお声かけください。
現状、無報酬での参加になりますが、どこかの誰かが作った便利なものを使うだけの立場ではなく、たまには便利なものを作る「どこかの誰か」になるのも悪くありませんよ。

    上に戻る