detect_mismatch
pragma
在物件中放入記錄。 連結器會檢查這些記錄是否有不相符之處。
語法
#pragma detect_mismatch(
“name”,
“value”)
備註
當您鏈接專案時,如果專案包含兩個具有相同名稱但各有不同值的物件,則連結器會擲回LNK2038錯誤。 使用此選項 pragma 可防止不一致的物件檔案連結。
名稱和值都是字串常值,並遵守字串常值相對於逸出字元和串連的規則。 它們區分大小寫,而且不能包含逗號、等號、引號或 Null 字元。
範例
這個範例會建立兩個版本號碼不同但版本標籤相同的檔案。
// pragma_directive_detect_mismatch_a.cpp
#pragma detect_mismatch("myLib_version", "9")
int main ()
{
return 0;
}
// pragma_directive_detect_mismatch_b.cpp
#pragma detect_mismatch("myLib_version", "1")
如果您使用命令行 cl pragma_directive_detect_mismatch_a.cpp pragma_directive_detect_mismatch_b.cpp
編譯這兩個檔案,您會收到錯誤LNK2038。