2012-01-14 78 views
0

我正在使用C語言編寫的一個微控制器項目。main.c文件包含一個標題,將所有寄存器定義爲結構和字符。不幸的是,他們將這些寄存器命名爲無意義的 - 像PORTA這樣的全名。是否有可能將頭文件中定義的結構和變量重命名爲我的主文件中更有意義的東西?重命名C結構

因此,不用PORTA,我可以把它叫做OUT,而不用修改它定義的頭文件。

+8

宏? '#define OUT PORTA' – Mysticial 2012-01-14 21:21:01

+0

@Mystical宏在這裏可能會很棘手-typedef是要走的路http://stackoverflow.com/questions/3263252/is-typedef-just-a-string-replacement-in-code-or -somethings-else/3263326#3263326 – Amarghosh 2012-01-14 21:24:48

+4

@Amarghosh雖然從這個問題不明確,但我有一種感覺,他們可能實際上是變量名稱而不是類型。 – Mysticial 2012-01-14 21:27:21

回答

5

促進評論回答:

我能想到的最簡單的方法是隻使用宏:

#define OUT PORTA 

而且這些不需要在標題中。

編輯:

如果原來的名稱實際上是變量的名稱(而不是類型),那麼這是去因爲typedef的方法是行不通的路。

3

您可以使用typedef創建別名:

typedef PORTA OUT; 
+0

...如果'PORTA'是一種類型而不是對象。 – 2012-01-14 21:24:52