2012-01-14 2 views
0

나는 C로 마이크로 컨트롤러 프로젝트를 만들고있다. main.c 파일은 모든 레지스터를 구조체와 문자로 정의하는 헤더를 포함하고있다. 불행히도 그들은 PORTA와 같이 등록자들에게 완전한 이름을 지어줍니다. 헤더 파일에 정의 된 구조와 변수의 이름을 내 주 파일에서 좀 더 의미있는 이름으로 바꿀 수 있습니까?C 구조체 이름 바꾸기

그래서 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 

그리고 이들은 헤더에있을 필요가 없습니다.

는 편집 :

원래 이름은 실제로 (오히려 유형보다는) 변수의 이름 인 경우에, 이것은 형식 정의 방법은 작동하지 않습니다 때문에 길을 가야하는 것입니다.

3

당신은 별칭을 만들 typedef를 사용할 수 있습니다 코멘트를 추진

typedef PORTA OUT; 
+0

...'PORTA '가 타입이 아닌 객체 인 경우. –