Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
det går inte att generera p/invoke för function_declarationdecorated_name; anropskonvention saknas i metadata
Anmärkningar
När du försöker importera en intern funktion till en ren bild bör du komma ihåg att de implicita anropskonventionerna skiljer sig mellan interna och rena kompileringar. Mer information om rena bilder finns i Pure and Verifiable Code (C++/CLI).
Kompileringsalternativet /clr:pure är inaktuellt i Visual Studio 2015 och stöds inte i Visual Studio 2017.
Examples
Det här kodexemplet genererar en komponent med en exporterad, intern funktion vars anropskonvention implicit __cdecl.
// LNK2031.cpp
// compile with: /LD
extern "C" {
__declspec(dllexport) int func() { return 3; }
};
I följande exempel skapas en ren klient som använder den inbyggda funktionen. Anropskonventionen under /clr:pure är dock __clrcall. I följande exempel genereras LNK2031.
// LNK2031_b.cpp
// compile with: /clr:pure LNK2031.lib
// LNK2031 expected
extern "C" int func();
int main() {
return func();
}
I följande exempel visas hur du använder den inbyggda funktionen från en ren bild. Observera den explicita __cdecl anropskonventionsspecificeraren.
// LNK2031_c.cpp
// compile with: /clr:pure LNK2031.lib
extern "C" int __cdecl func();
int main() {
return func();
}