編譯器警告 (層級 1) C4835
'variable' :匯出資料初始化運算式在主機元件中首次執行 Managed 程式碼之前,將不會執行
在受控元件之間存取資料時,建議您不要使用原生 C++ 匯入和匯出機制。 請改為在 Managed 類型內宣告您的資料成員,並在用戶端中使用 來參考中繼資料 #using
。 如需詳細資訊,請參閱 #using 指示詞。
範例
下列範例會產生 C4835。
// C4835.cpp
// compile with: /W1 /clr /LD
int f() { return 1; }
int n = 9;
__declspec(dllexport) int m = f(); // C4835
__declspec(dllexport) int *p = &n; // C4835
下列範例會取用先前範例中建置的元件,其中顯示變數的值不符合預期。
// C4835_b.cpp
// compile with: /clr C4835.lib
#include <stdio.h>
__declspec(dllimport) int m;
__declspec(dllimport) int *p;
int main() {
printf("%d\n", m);
printf("%d\n", p);
}
0
268456008
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應