Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Nie można zarządzać funkcją punktu wejścia biblioteki DLL; kompilowanie natywne
Uwagi
DllMain nie można skompilować do MSIL; należy go skompilować do natywnego.
Aby rozwiązać ten problem:
Skompiluj plik zawierający punkt wejścia bez /clr.
Umieść punkt wejścia w
#pragma unmanagedsekcji.
Aby uzyskać więcej informacji, zobacz:
Przykład
Poniższy przykład generuje LNK1306.
// LNK1306.cpp
// compile with: /clr /link /dll /entry:NewDllMain
// LNK1306 error expected
#include <windows.h>
int __stdcall NewDllMain( HINSTANCE h, ULONG ulReason, PVOID pvReserved ) {
return 1;
}
Aby rozwiązać ten problem, nie używaj opcji /clr do skompilowania tego pliku lub użyj dyrektywy , aby umieścić definicję #pragma punktu wejścia w sekcji niezarządzanej, jak pokazano w tym przykładzie:
// LNK1306fix.cpp
// compile with: /clr /link /dll /entry:NewDllMain
#include <windows.h>
#pragma managed(push, off)
int __stdcall NewDllMain( HINSTANCE h, ULONG ulReason, PVOID pvReserved ) {
return 1;
}
#pragma managed(pop)