2012-01-14 77 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