Partilhar via


aviso do compilador (nível 1) C4747

Mensagem de erro

Chamada gerenciada 'entrypoint': Código gerenciado não pode ser executado em bloquear de carregador, incluindo o ponto de entrada DLL e chamadas alcançadas a partir do ponto de entrada DLL

O compilador encontrado um ponto de entrada (provável) DLL compilado para MSIL.Devido a problemas potenciais carregar uma DLL cujo ponto de entrada foi compilado para MSIL, de você é altamente desencorajado compilação uma função de ponto de entrada DLL para MSIL.

Para obter mais informações, consulte Inicialização de assemblies mistos e Vinculador ferramentas erro LNK1306.

Para corrigir este erro

  1. Não compilar o módulo com /clr.

  2. Marcar a função do ponto de entrada com #pragma unmanaged.

Exemplo

O exemplo a seguir gera C4747.

// C4747.cpp
// compile with: /clr /c /W1
// C4747 expected
#include <windows.h>

// Uncomment the following line to resolve.
// #pragma unmanaged

BOOL WINAPI DllMain(HANDLE hInstance, ULONG Command, LPVOID Reserved) {
   return TRUE;
};