2012-01-14 9 views
0

私はCでマイクロコントローラプロジェクトを作成しています。main.cファイルには、構造体と文字としてすべてのレジスタを定義するヘッダが含まれています。残念なことに、PORTAのようなフルネームの名前はレジスタの名前にはならない。ヘッダーファイルに定義されている構造体と変数の名前を、メインファイルでより意味のあるものに変更することは可能ですか?構造体の名前を変更します。

PORTAの代わりに、定義されているヘッダファイルを変更せずにOUTと呼ぶことができます。

+8

マクロ? '#define OUT PORTA' – Mysticial

+0

@Mysticalマクロはここで扱いにくいことがあります-typedefは行く方法ですhttp://stackoverflow.com/questions/3263252/is-typedef-just-a-string-replacement-in-code-or -somethings-else/3263326#3263326 – Amarghosh

+4

@Amarghosh質問からは分かりませんが、タイプではなく変数名である可能性があります。 – Mysticial

答えて

5

は答えにコメントを推進

#define OUT PORTA 

そして、これらはヘッダ内にある必要はありません。

EDIT:

元の名前は、実際に(というよりも種類)の変数の名前である場合、これはtypedefの方法が機能しなくなりますので、移動するための方法です。

3

エイリアスを作成するためにtypedefを使用することができます。

を私は考えることができる最も簡単な方法は、単にマクロを使用することです::

typedef PORTA OUT; 
+0

... 'PORTA'が型であり、オブジェクトではない場合。 –

関連する問題