啟用 STRICT
當您定義 STRICT 符號時,您可以啟用宣告和使用類型時需要更小心的功能。 這可協助您撰寫更多可攜式程序代碼。 這種額外的小心也會減少您的偵錯時間。 啟用 STRICT 重新定義特定資料類型,讓編譯程式不允許在沒有明確轉換的情況下,將某個類型指派給另一個類型。 這對 Windows 程式碼特別有幫助。 資料類型的傳遞錯誤會在編譯時期報告,而不是在運行時期引發致命錯誤。
使用 Visual C++,預設會定義 STRICT 類型檢查。
若要逐個檔案定義 STRICT,請在包含 Windows.h 之前插入 #define 語法:
#define STRICT
#include <windows.h>
定義 STRICT 時,數據類型 定義會變更,如下所示:
- 特定的句柄類型被定義為互斥;例如,當需要 HDC 類型參數時,您將無法傳遞 HWND。 如果沒有 STRICT,所有句柄都會定義為 HANDLE,因此編譯程式不會防止您使用預期另一種類型的句柄。
- 所有回呼函式類型(例如對話程式、視窗程式和攔截程式)都是使用完整的原型來定義。 這可防止您使用不正確的參數清單來宣告回呼函式。
- 應該使用泛型指標的參數和回傳值類型會正確地宣告為 LPVOID,而不是宣告為 LPSTR 或其他指標類型。
- COMSTAT 結構會根據 ANSI 標準宣告。
相關主題