% zu 변환 지정자를 사용하여 10 진수 형식의 포인터 주소를 출력하려고합니다. gcc가 '% zu'형식을 'size_t'형식으로 예상하지만 인수 4가 'long int *'형식 인 경우를 제외하고는 예상대로 실행됩니다. 사용 된 gcc 옵션이 질문에 표시됩니다. gcc는 (-std = c99 이외의) 옵션을 설정하지 않고도 경고합니다. 그러나 clang은 동일한 옵션으로 전혀 경고를 발행하지 않습니다. 이것은 OS X 10.7에 있습니다. 그냥 왜 clang이 경고를 내고 있지 않는지 궁금한가요? gcc는 디버깅/컴파일을위한 clang보다 "더 나은"가 있습니까?gcc -W -Wall -O -pedantic -std = c99 동일한 옵션을 사용하여 clang하십시오.
0
A
답변
2
; 당신은
는 일반적으로,이 GCC는보다 더 유용한 경고 메시지를 가지고 그 소리 내 경험이었다 말하기 (심지어 옵션없이) 등%lu
,
%u
,
%hu
와 경고가 할
. 이것은 그 경험에 대한 예외입니다. 나는 버그를 제기 할 것이다.
0
캐스팅해야하지만 코드가 size_t가 포인터와 같은 크기가 아닌 컴퓨터에서 실행되는 경우 잘못된 동작을합니다. 아마 잘하지만 ...
이 그 소리에z
크기의 수정에 구체적으로 표시
printf ("%zu\n", (size_t)my_ptr);
관련 문제
- 1. -ansi -pedantic -Wall 컴파일 우리는 이러한 방식으로 GCC를 사용하여 C 소스 코드를 컴파일하는 데 필요한 GCC
- 2. gcc는 -o와 함께 빌드되지만 -o3은 빌드하지 않습니까?
- 3. Eclipse 내에서 C/C++ 컴파일을위한 플래그 (Wall, pedantic) 활성화하기
- 4. `-pedantic`에 의해 생성 된이 컴파일러 경고는 무엇을 의미합니까?
- 5. 목표 C의 -std = C99 사용
- 6. scite editor와 gcc 설정?
- 7. gcc std = gnu ++ 0x 옵션
- 8. DT_REG 선언되지 않음 (이 함수에서 처음 사용) 및 -std = c99
- 9. gcc Makefile : 변수 대체 오류 (%
- 10. 웹 사이트 프레임 워크 (w/o mysql)
- 11. w/ocamlbuild w/ocamlbuild에서 OCaml 프로그램 컴파일하기
- 12. Howto get_env (REQUEST_METHOD)/w/o 오류 500
- 13. 다른 사람들의 헤더 파일에서 GCC 경고를 표시하지 않으려면 컴파일 옵션을 사용 하시겠습니까?
- 14. OpenMp를 사용하여 ctypes와 연결
- 15. -fPIC 옵션을 컴파일하는 동안 Gcc 오류가 발생했습니다.
- 16. std :: stringstream GCC 비정상적인 행동
- 17. PHP는 w/o 메아리가 포함되어 있지 않습니다.
- 18. JS 애니메이션 폭 w/O JQuery와
- 19. 다른 클래스의 클래스 사용, w/o 포함
- 20. -lm 플래그로 GCC 링커 문제 발생
- 21. C99/C11에서 전 처리기로 레이블을 중첩합니까?
- 22. gcc 및 std = c99로 컴파일 할 때 getaddrinfo를 찾을 수없는 이유
- 23. C++ - gcc o n Fedora Linux
- 24. 배열 포인터에 화합물 리터럴을 할당하면 동일한 장소와 시간에 예상 결과와 쓰레기가 모두 나타 납니까?
- 25. PDB와 동일한 GCC
- 26. C99, C 코드
- 27. gcc makefile 오류 : "대상을 만들 규칙이 없습니다 ..."
- 28. Git Push Questions - Pedantic
- 29. C + +를 배우는 동안 항상 g ++에서 -Wall 및 -pedantic 스위치를 사용해야합니까?
- 30. gcc 컴파일 및 파일 오류 만들기
printf-format 경고가 표준에서 요구하는 것은 아닙니다. 타입 세이프가 아니기 때문에, 궁극적으로는 그것을 올바르게 사용하는 것이 중요합니다. –
그 의미가 있습니다 ... – spinozagl
올바른 형식 지정자가'% p'이고 'void *'에 대한 캐스트가 순서대로 있다는 것을 알고 있다고 생각합니다. –