嘗試使用%zu轉換說明符以十進制形式輸出指針地址。按預期運行,但gcc警告格式'%zu'期望類型'size_t',但參數4的類型爲'long int *'。在問題中顯示使用的gcc選項。 gcc仍然警告沒有任何選項設置(除了-std = c99)。然而,鏗鏘聲根本不會發出任何警告,並且具有相同的選項。這是在OS X 10.7上。只是好奇鏗鏘爲什麼不發出任何警告?調試/編譯gcc比clang更「好」嗎?gcc -W -Wall -O -pedantic -std = c99 vs clang具有相同選項
0
A
回答
2
這似乎是特定於鐺的z
大小改性劑;你做獲得與%lu
,%u
,%hu
等的警告(即使沒有任何選項)
一般來說,它一直是我的經驗,鐺比GCC做更多有用的警告消息。這是該經歷的一個例外。我會提交一個錯誤。
0
相關問題
- 1. 編譯-ansi -pedantic -Wall用gcc
- 2. GCC生成文件與-Wall -pedantic和-lpthread
- 3. GCC makefile不接受-std = c99 -lm
- 4. C89 vs c99 GCC編譯器
- 5. gcc使用-o而不是-o3來構建?
- 6. 警告:使用gcc -std = C89 -g -pedantic FILENAME.C
- 7. 爲什麼使用gcc和std = c99編譯時找不到getaddrinfo
- 8. gcc vs. clang:符號剝離
- 9. 使用-std = c99進行編譯時,是否需要使用-pedantic或-ansi?
- 10. GCC無效的命令行選項
- 11. GCC與.o文件鏈接
- 12. gcc std = gnu ++ 0x選項
- 13. 我使用-std時= C99
- 14. 嘗試訪問結構時發生段錯誤;編譯選項 - gcc -std = c99
- 15. 如何使用選項-std = C99安裝的R程序包
- 16. GCC編譯失敗,並行線程和選項性病= C99
- 17. 相同的代碼由clang編譯但在gcc中失敗
- 18. 如何讓GNUmakefile識別-std = c99或-std = gnu99的CFLAGS選項?
- 19. gcc和clang不同意constexpr函數
- 20. NDK12b:使用獨立工具鏈和相同的構建腳本,使用clang vs gcc生成的不同ELF
- 21. GCC(/ Clang):使用相同指令合併函數(COMDAT摺疊)
- 22. gcc中的-o選項是什麼?
- 23. 嚴格C90代碼的GCC選項?
- 24. GCC的行爲與std :: async(std :: launch :: async)與Clang的行爲
- 25. 當-std = c99被設置時,爲什麼gcc不能找到random()接口?
- 26. Clang,GCC接受的相同功能的不同原型
- 27. Android Studio NDK構建忍者gcc/clang命令行選項
- 28. NetBSD上的Clang和-std = libC++?
- 29. gcc的警告當方言C99或C11使用
- 30. 具有相同選項的PHP不同選擇框
我不認爲標準要求printf格式的警告。這不是一個類型安全的功能,所以最終的負擔是*你*使用它的權利。 –
這是有道理的... – spinozagl
我想你知道正確的格式說明符是'%p',即使這樣一個強制類型轉換爲'void *'。 –