PHPでstatic_assertを実現する 公開日:2021年12月15日 PHPによる前処理プログラミング技術情報 こんにちは、高木です。 いつものように、PHPでC言語の前処理を行う話題が続きます。今回は、C言語規格のバージョン間や処理系間の移植性を高める方法について考えてみることにします。具体的な題材があった方がいいので、C11か […] 続きを読む
PHPで文字列リテラルのエンコーディングを変更する 公開日:2021年12月14日 PHPによる前処理プログラミング技術情報 こんにちは、高木です。 前回は違いましたが、今回からPHPでC言語の前処理を行う話題に戻ります。 今回は、文字列リテラルのエンコーディングを静的に変更してしまおうという試みです。ソースコード全体のエンコーディングを変更す […] 続きを読む
PHPでインクルードガードマクロを自動生成する 公開日:2021年12月11日 PHPによる前処理プログラミング技術情報 こんにちは、高木です。 毎度おなじみのPHPでC言語の前処理を行う話題です。今回はC言語のインクルードガードマクロをPHPで自動生成してみることにします。 C言語で本格的なプログラミングをしたことがある方なら、ヘッダファ […] 続きを読む
PHPで前処理した結果にBOMを付加する 公開日:2021年12月11日 PHPによる前処理プログラミング技術情報 こんにちは、高木です。 PHPでC言語の前処理をする話題が続きます。今回は、PHPで前処理を行った結果のファイルに、BOM(byte order mark)を自動的に付加する方法について解説します。 まずはBOMについて […] 続きを読む
PHPでtypedef名から元の型名を引き当てる 公開日:2021年12月9日 PHPによる前処理プログラミング技術情報 こんにちは、高木です。 引き続きPHPでC言語の前処理を行う話題になります。前回、前々回で、PHPからC言語の型の情報を取得する方法について解説しました。今回は、C言語では同じ型であっても別名が付いていることがあるので、 […] 続きを読む
PHPで生成したC言語プログラムでPHPのコードを自動生成する 公開日:2021年12月9日 PHPによる前処理プログラミング技術情報 こんにちは、高木です。 いつものようにPHPでC言語の前処理をする話題です。ただし、今回はちょっと複雑です。何をやろうとしているのか、その手順を次に挙げます。 PHPを使ってC言語のソースコードを自動生成する。 生成され […] 続きを読む
C言語の型の特性をPHPで定義する 更新日:2021年12月8日 公開日:2021年12月7日 PHPによる前処理プログラミング技術情報 こんにちは、高木です。 例によって、今回もPHPでC言語の前処理を行う話題です。前処理を行うにあたって、ちょっと凝ったことをやろうとすると、C言語の処理系に依存する情報が必要になってきます。今回は、算術型(正確には実数型 […] 続きを読む
PHPの閉じタグと三文字表記の微妙な関係 更新日:2021年12月8日 公開日:2021年12月6日 PHPによる前処理プログラミング技術情報 こんにちは、高木です。 今回もまたまたPHPでC言語の前処理を行う話題です。前回までで主立った内容は書いてしまったので、今回は簡単に済ませるつもりです。 PHPで前処理するためには、当然PHPの開きタグ(<?php […] 続きを読む
#line指令等に埋め込むパス名のエンコーディング問題について 更新日:2021年12月8日 公開日:2021年12月5日 PHPによる前処理プログラミング技術情報 こんにちは、高木です。 相変わらず今回もPHPでC言語の前処理をする話題です。前回、前々回と、#line指令を埋め込んだり、__FILE__をパス名にすり替えたりする処理を作ってきました。そこでは、話を簡単にするため、A […] 続きを読む
PHPによる前処理でソースコードを取り込む 更新日:2021年12月8日 公開日:2021年12月5日 PHPによる前処理プログラミング技術情報 こんにちは、高木です。 今回も例によってPHPでC言語の前処理をする話題の続きです。C言語には#include指令があり、これによって別のソースファイルを取り込むことができます。また、PHPにはincludeおよびreq […] 続きを読む