在msdn中給出函數調用的_In_
的意義是什麼?在msdn中給出函數調用的意義
int CALLBACK WinMain(
_In_ HINSTANCE hInstance,
_In_ HINSTANCE hPrevInstance,
_In_ LPSTR lpCmdLine,
_In_ int nCmdShow
);
在msdn中給出函數調用的_In_
的意義是什麼?在msdn中給出函數調用的意義
int CALLBACK WinMain(
_In_ HINSTANCE hInstance,
_In_ HINSTANCE hPrevInstance,
_In_ LPSTR lpCmdLine,
_In_ int nCmdShow
);
_In_
,_Out_
等等是Microsoft SAL (source code annotation language) annotations 爲Annotating Function Parameters and Return Values
微軟的編譯器可以解析這些註釋來檢測可能 缺陷 - 靜態分析的有限形式。
由於瑪格麗特·布魯姆上述評論,這可能是解決以什麼來使它更容易爲程序員看到變量是輸入變量的宏。
這是必要的,因爲很多較舊的Windows函數都會引用「輸出」變量的對象。 I.E.你傳入一個原始/對象指針,該函數進行更改。這允許該函數返回一個可用於存儲錯誤代碼的int。 作爲一個方面說明,這^現在被認爲是很糟糕的做法,應該避免。函數應該通過正常返回返回數據,並且所有參數通常應該僅被視爲輸入。
請格式化帖子,並在正文中提出一個完整的問題。 「In」可能是一個無法解析的宏 - 用於語義(爲了更好地理解人類而閱讀)將一個參數標記爲輸入。處理指針時,從輸出參數中指出輸入參數並不那麼容易。 –