共用方式為


編譯器警告 (層級 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