Cプログラムは構造体の定義を出力できますか?メンバ名は素晴らしいですが、データ型(配列の場合は配列の長さ)の順序付きリストで十分です。GCC - 構造体の定義を出力する
これを達成するためのプリプロセッサディレクティブを探していましたが、何も見つかりませんでした。コードの注釈付き部分を取得して#define変数として使用できるプリプロセッサディレクティブがありますか?もしそうなら、#define変数の値を保持するためにいくつかの変数を初期化することができます。このような構造は、プリント取得例えば
struct foo{
int a;
char b;
short arr[6];
}
またはフォーマットがあれば構造は、データから再作成することができるように重要ではないが、この
struct s{
int m1;
char m2;
short m3[6];
}
などは、です。したがって、このようなものもうまくいきます。
s{int,char,short[10]}
これはリソースに制約のあるARMベースのデバイスです。
私は手動で構造体のコードをprintステートメントに貼り付けてコピーしたくないです。構造体コードが変更され、print文が変更されていない場合は、結果が正しくありません。
私が知る限り、標準Cにはありません。そして、Cプリプロセッサではなく(C#プリプロセッサマクロを意味する)、C自体の仕組みが分からないからです。 –
@Rhymoidはそれに同意しません。プリプロセッサを使って問題のコードを '#define structname_code ... 'のためにコピーし、インスタンス化することもできます。 –
"私は手動で構造コードを貼り付けてコピーしたくありません" - 独自のソースコードファイルをプログラムに読み込ませることができます。 – usr2564301