본문 바로가기
Microchip PIC

[C언어] unused parameter 'xxx' 해결방법

by 소나무기운 2021. 12. 7.
반응형

소나무 기운 ,  전자제품 개발/생산

[C언어] unused parameter 'xxx' 해결방법

프로그램을 하다보면 error뿐 아니라 warning도 많이 발생합니다.

귀찮더라도 정리하고 넘어가는것이 좋습니다. 이해되지 않은 버그의 발생원인이 되기도 합니다.

 

 

해결방법 1

microchip PIC마이컴에서 시험됨. XC16컴파일러에서 적용

void main(void)
{
	char i;
    char j;
    
    for(i=0; i<10; i++)
    {
    	printf("Hello!");
    }
}

unused parameter 'j'   warning 이 발생합니다.

 

해결방법은 

#include "macros.h"


void main(void)
{
	char i;
    UNUSED char j;
    
    for(i=0; i<10; i++)
    {
    	printf("Hello!");
    }
}


macros.h 내용
#ifdef __GNUC__
#define UNUSED __attribute__ ((unused))
#else
#define UNUSED
#endif

 

 

 

 

 

해결방법 2

#define UNUSED(x) (void)(x)

For example:

void f(int x) {
    UNUSED(x);
    ...
}

(void)를 사용하는 방법입니다.

 

 

해결방법 3

void function(void aa)
{
    aa = aa;  
}

이런 방법도 가능하답니다.

 

 

마무리

컴파일러 별로 허용하는 방법이 조금씩 다를 수 있습니다.

사용하지 않는 변수는 기본적으로는 삭제하시고 꼭 필요할 경우에 남겨 놓는 것을 하시면 될듯 합니다.

 

 

참고문헌

 

 

 

 

 

틀린 부분이나 질문은 댓글 달아주세요.

즐거운 하루 보내세요. 감사합니다.

 

 

반응형

댓글