回答
#pragma message ("Warning goes here")
在一個側面說明,如果you want to suppress such warnings,找到編譯器警告標識(不推薦使用的警告,這是C4996
)並插入該行:
#pragma warning(disable : 4996
)
但是,這並不是馬丁想要的,他希望在函數被_used_時發出警告,而不是在編譯時發出警告。 – 2010-01-26 23:06:15
我猜我的問題可能會被讀取(對不起!),但這是我正在尋找的。 – Warpin 2010-01-26 23:16:01
只鏈接答案*和*鏈接甚至不是有效的。 :-( – TobiMcNamobi 2017-06-23 09:50:44
要將某個功能標記爲不建議使用,請使用__declspec(deprecated)
,例如,
__declspec(deprecated) void f();
我想這是OP真正想要的 – LiraNuna 2010-01-26 23:06:06
他要求顯示他自己的警告,而不是一個特定的*棄用的*警告 – 2010-01-26 23:10:09
雖然沒有標準#warning
directice,許多編譯器(包括GCC,VC,英特爾和蘋果),支持#warning message
。
#warning "this is deprecated"
往往更好,不僅帶來了一個警告(人們可以忽略),而是讓編譯完全失敗,使用#error
指令(這是標準):
#if !defined(FOO) && !defined(BAR)
# error "you have neither foo nor bar set up"
#endif
MSVC++ 2013不支持它 – 2015-08-14 10:35:31
看不到它的工作原理在MSVC++ 2015或2017 – Zitrax 2017-10-03 11:37:07
在VC,如果你想警告,在警告數在編譯結束顯示你需要使用這種格式:
#pragma message(": warning<put what you like here>: blah blah blah")
重要的順序是:冒號,空格,「WA你的警告文字
如果你想要看起來那麼文件和行號可以添加在第一個冒號之前,所以你可以雙擊它跳轉到代碼(從microsoft.com ):
// pragma_directives_message1.cpp // compile with: /LD #if _M_IX86 >= 500 #pragma message("_M_IX86 >= 500") #endif #pragma message("") #pragma message("Compiling " __FILE__) #pragma message("Last modified on " __TIMESTAMP__) #pragma message("") // with line number #define STRING2(x) #x #define STRING(x) STRING2(x) #pragma message (__FILE__ "[" STRING(__LINE__) "]: test") #pragma message("")
謝謝 - 已更新並複製它 - 我認爲它是相同的頁面,但這是前一陣子! – noelicus 2017-06-23 10:54:21
我認爲這應該工作
void foo() __attribute__ ((deprecated("This function is deprecated. \nFor further information please refer to the README")));
- 1. 編譯器警告
- 2. 爲自己啓動成員變量啓用編譯器警告
- 3. 編譯器警告libpcap的
- 4. 編譯警告 - ARM交叉編譯器
- 5. NSJSONSerialization編譯器警告
- 6. CLLocationManager編譯器警告
- 7. 編譯器警告消息
- 8. F#編譯器警告
- 9. 編譯器警告在NSManagedObject
- 10. GWT 2.8編譯器警告
- 11. AFHTTPclient編譯器警告
- 12. 編譯器警告::變種
- 13. C編譯器警告
- 14. C#編譯器警告1685
- 15. 編譯器警告努力的#define DEBUG_MODE添加到我的prefix.pch文件
- 16. 如何在Android Studio中添加編譯器警告?
- 17. 您可以在Objective-C中添加自定義編譯器警告嗎?
- 18. 在VS2010中用我自己的編譯器編譯代碼?
- 19. GWT編譯警告
- 20. iPhone編譯警告
- 21. 爲什麼不訪問自己的屬性在自己所擁有的塊中引發編譯器警告
- 22. SonarQube中的導入編譯器警告
- 23. 更好的編譯器警告?
- 24. Android:Android Studio中的編譯器警告
- 25. SBSJsonParser的XCode 6編譯器警告
- 26. Java編譯器警告的嚴重性
- 27. C的printf編譯器警告
- 28. Python的C++擴展編譯器警告
- 29. 的Xcode 3.2.3編譯器警告
- 30. 解釋特定的編譯器警告
什麼是被棄用的sprintf有這個問題呢? – 2010-01-26 23:16:30
只是一個編譯器警告的例子,它是由一個「用戶」放入的,而不是純粹由編譯器生成的。 – Warpin 2010-01-27 01:22:27