Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
„function“ ist eine vom Compiler vordefinierte Bibliothekhilfsfunktion. Bibliothekhilfsfunktionen werden mit "/GL" nicht unterstützt. Kompilieren Sie die Objektdatei "Datei" ohne "/GL".
Bemerkungen
Eine im Quellcode definierte Funktion hat den gleichen Namen wie eine interne Compilerfunktion. Kompilieren Sie das Modul mit der Funktion ohne /GL.
Example
Im folgenden Beispiel wird C2268 generiert:
// C2268.c
// compile with: /c
// processor: x86
extern int SHFusionLoadLibrary(int lpLibFileName);
int __cdecl _except_handler3(void) {
return SHFusionLoadLibrary(0);
}
extern int main(void);
void* mainCRTStartup(void* p) {
p = main;
return p;
}
und anschließend:
// C2268b.c
// compile with: C2268.c /EHsc /GL /Ob0 /O2 /Fa /GS- /link /nodefaultlib
// processor: x86
extern int SHFusionLoadLibrary(int lpLibFileName);
extern int __cdecl _except_handler3(void);
extern void mainCRTStartup(void*);
int g = 2;
#define ENTERCONTEXT(fail) \
int ulCookie = 0;\
if (!SHActivateContext(&ulCookie)) \
return fail;\
__try {
#define LEAVECONTEXT \
} __finally {SHDeactivateContext(ulCookie);}
int SHActivateContext(int* a) {
return *a == g || !*a ||_except_handler3();
}
void SHDeactivateContext(int a) {
g = a;
}
int SHFusionLoadLibrary(int lpLibFileName) { // C2268
ENTERCONTEXT(0)
g = lpLibFileName;
LEAVECONTEXT
return lpLibFileName;
}
int main(void) {
g = SHFusionLoadLibrary(10);
return 0;
}