0

実行時に作成されるデータがいくつかある組み込みプロセッサのプロジェクトに取り組んでいます。このデータへのポインタは、プログラムで使用するために、いくつかのバイナリツリーのようなデータ構造に配置する必要があります。

これらの構造はプログラムの期間中修正されますが、コンパイル時に、使用されるツリーの構造をすばやく変更できるオプションが必要です。うまくいけば、ツリーの基になるデータ要素とノードごとに適切な順序で「AddNode」関数を繰り返し呼び出す、関係するすべてのツリーの関数またはマクロなど、よりエレガントで簡単に再構成できるものがあります。提案をありがとう!

4

1 に答える 1

1

M4 プリプロセッサを使用して高レベルの疑似言語を実装し、ツリーの構築に必要な C コードを生成するのはどうですか? たとえば、コードに関数が含まれる場合があります。この関数initTrees()の本体は、目的のツリー構造の記述であるファイルから M4 によって自動生成されます。全体的なプロセスは次のようになります。

sample.c.m4 ---> [M4] ---> sample.c ---> [C コンパイラ] ---> バイナリ ファイル

http://www.gnu.org/software/m4/

http://en.wikipedia.org/wiki/M4_(computer_language )

于 2012-10-14T13:59:09.400 に答える