Delen via


Compilerwaarschuwing (niveau 1) C4835

'variabele': de initialisatiefunctie voor geƫxporteerde gegevens wordt pas uitgevoerd als de beheerde code voor het eerst wordt uitgevoerd in de hostassembly

Opmerkingen

Bij het openen van gegevens tussen beheerde onderdelen wordt aanbevolen dat u geen systeemeigen C++-import- en exportmechanismen gebruikt. Declareer in plaats daarvan uw gegevensleden binnen een beheerd type en verwijs naar de metagegevens in #using de client. Zie #using Richtlijn voor meer informatie.

Voorbeelden

In het volgende voorbeeld wordt C4835 gegenereerd.

// 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

In het volgende voorbeeld wordt het onderdeel gebruikt dat is gebouwd in het vorige voorbeeld, waarin wordt aangegeven dat de waarde van de variabelen niet zoals verwacht is.

// 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