2017-09-17 10 views
-2

clang에서 main() 프로토 타입 검사를 사용하지 않도록 설정하는 방법이 있습니까? 대부분 argc에 unsigned int 유형을 사용하고 있으며 gcc에서는 완벽하게 괜찮 았지만 clang은 불만 (argc은 int 여야 함)하지만 경고가 아니라 컴파일 할 수없는 오류로 불평합니다. 일부 표준은 같은 것을 말하고 있지만이 경우 unsigned int는 괜찮아서이 넌센스를 엉망으로 만들고 싶지 않다는 것도 알고 있습니다.clang main() 프로토 타입 검사를 사용하지 않음

+3

* "일부 표준은 동일하다는 것을 알고 있습니다."- ** ** C 표준과 마찬가지로? 아무 말도하지 않으려면'int'를 사용하십시오. 여분의 가치있는 가치가 필요 없을 것입니다. – StoryTeller

+0

다시 한 번, 나는 이것을 알고 있습니다, 이것은 질문이 아닙니다. 그래, 난 여분의 비트가 필요하지 않지만 또한 내가 필요하지 않습니다 : 서명 된 값에 서명 arythmetic; 벙어리 형변환 /이 int를 부호없는 int에 래핑; 나는 (i = 0; i firk

+1

그럼'i '에도'unsigned' 타입을 사용하지 마십시오. 문제 해결됨. – StoryTeller

답변

0

clang은 진단 카테고리를 사용합니다. 그들 모두를 표시하기 위해 사용

... return type of 'main' is not 'int' [-Wmain-return-type,2] ... 

# clang -Wno-main-return-type 
으로 재 구축 :

# clang --print-diagnostic-categories 

그런 다음이 특정 경고 범주를 식별하기위한 것처럼 뭔가를 표시합니다

# clang -fdiagnostics-show-category=id 

를 사용

해야합니다. 너의 문제를 보라.

감사합니다.

+0

고마워요하지만 질문은 argc 타입에 대한 것이고 리턴 타입은 아닙니다. – firk