PHPの閉じタグに#line指令を埋め込む 更新日:2021年12月8日 公開日:2021年12月4日 PHPによる前処理プログラミング技術情報 こんにちは、高木です。 ここのところPHPでC言語の前処理をする話題を連載しています。今回のその一貫なのですが、これまでとはちょっと違うテーマになります。 PHPで前処理して生成したC言語のソースコードは、ほとんどの場合 […] 続きを読む
PHPでC言語の関数を他言語と連携させる 更新日:2021年12月8日 公開日:2021年12月2日 PHPによる前処理プログラミング技術情報 こんにちは、高木です。 前回は、PHPでC言語の関数宣言をさせると何が嬉しいのかという問いかけをして終わりました。今回は、その「なぜ嬉しいのか」について書くことにします。 C言語で実装した関数は、C++をはじめ、さまざま […] 続きを読む
PHPで関数の宣言を生成する 更新日:2021年12月22日 公開日:2021年12月2日 PHPによる前処理プログラミング技術情報 こんにちは、高木です。 ここのところPHPでC言語の前処理を行う話題が続いています。今回のその一環として、PHPでC言語の関数宣言を自動生成してみることにします。 今回は例として、標準Cライブラリのfgets関数の宣言を […] 続きを読む
PHPを使って列挙定数を文字列化する 更新日:2021年12月8日 公開日:2021年12月1日 PHPによる前処理プログラミング技術情報 こんにちは、高木です。 前回まではPHPで構造体を自動生成してきました。今回は構造体ではなく列挙体を作ってみることにします。それだけでは面白みがないので、列挙定数を与えると、その名前の文字列に変換する関数も自動生成してみ […] 続きを読む
PHPで定義した構造体のメンバ一覧を取得する 更新日:2021年12月8日 公開日:2021年11月29日 PHPによる前処理プログラミング技術情報 こんにちは、高木です。 前回のように、PHPの配列を使って構造体を定義しておけば、その構造体のメンバー一覧を取得するのは簡単です。 まずは、前回作ったmake_struct関数が出力する構造体の定義から見ていきましょう。 […] 続きを読む
PHPでC言語の構造体を定義する 更新日:2021年12月8日 公開日:2021年11月28日 PHPによる前処理プログラミング技術情報 こんにちは、高木です。 前回に引き続き、PHPでC言語の前処理を行う話題です。今回は、構造体のメンバーをPHPの配列として定義しておいて、それをC言語のソースコードに変換してみようと思います。 早速、PHPのコードから見 […] 続きを読む
PHPをC言語の前処理に使う 更新日:2021年12月8日 公開日:2021年11月28日 PHPによる前処理プログラミング技術情報 こんにちは、高木です。 C言語ではプリプロセッサを使って前処理を行います。プリプロセッサは比較的単純なことならできるのですが、ちょっと凝ったことをしようとすると力不足です。たとえば、事前に配列をソートするとか、静的に二分 […] 続きを読む