2012-01-14 1 views
0

Я работаю над проектом микроконтроллера в C. Файл main.c содержит заголовок, определяющий все регистры как структуры и символы. К сожалению, они называют регистры беззначительными именами, такими как PORTA. Можно ли переименовать структуры и переменную, определенные в файле заголовка, в нечто более значимое в моем основном файле?Rename C Structure

Так что вместо PORTA я могу назвать его OUT без изменения файла заголовка, где он был определен.

+8

Макросы? '#define OUT PORTA' – Mysticial

+0

@ Мистические макросы могут быть сложными здесь -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:

Если оригинальные имена на самом деле имена переменных (а не типов), то это путь, так как метод ЬурейеЕ не будет работать.

3

Вы можете использовать typedef создать псевдоним:

typedef PORTA OUT; 
+0

... если 'PORTA' является типом, а не объектом. –