2013-06-02 4 views
0

스마트 폰 커널 용 제조업체의 소스 코드를 컴파일 할 때 사용되지 않는 다양한 변수/기능 경고가 많이 있습니다. GCC/LD로 설정하여 사용하지 않는 옵션을 컴파일 할 수 있습니까?GCC - 사용하지 않는 코드를 컴파일하지 마십시오

여기 솔루션을 찾았습니다. How to remove unused C/C++ symbols with GCC and ld?하지만 증분 링크와 충돌하므로 사용할 수 없습니다. 다른 해결책?

답변

2

GCC의 사용되지 않는 변수 경고는 단지 코드가 변수를 선언했지만 사용하지 않았다고 말하는 것입니다. 컴파일 할 코드가 없기 때문에 실제로는 이러한 변수에 대한 코드를 컴파일하지 않습니다. 일반적으로 엉성한 프로그래밍의 증상이기 때문에 경고입니다.

링커 기호를 제거하는 것은 완전히 관련이없는 문제이며 일반적으로 원하는 내용이 아닙니다. 왜 이걸하고 싶다고 생각하니?

+0

글로벌 변수는 어떻습니까? 그들은 RAM에서 일어나지 않습니까? 사용하지 않는 함수는 어떻습니까? 출력 파일의 크기가 커지지 않습니까? – micnyk

+0

예 (전역) 및 예 (funtions,하지만 경고를 생성하지는 않음). 그것이 경고에 관한 것이라면 코드를 수정해야합니다. 그러나 제 경험상, 99 %의 경고는 코드 변경시 포기한 지역 주민을 대상으로합니다. –

+0

감사합니다. 내 코드에는 약 60-80B 크기의 사용되지 않는 정적 전역 테이블이 있습니다. – micnyk