C# 从C++调用C++“int WINAPI p>我可以在C++中使用C++方法从C++ DLL中访问一个方法: extern "C" { __declspec(dllexport) void DisplayHelloFromDLL() { printf ("Hello from DLL !\n"); } }
这非常有效……但我正在使用的解决方案将此作为切入点:C# 从C++调用C++“int WINAPI p>我可以在C++中使用C++方法从C++ DLL中访问一个方法: extern "C" { __declspec(dllexport) void DisplayHelloFromDLL() { printf ("Hello from DLL !\n"); } },c#,c++,C#,C++,这非常有效……但我正在使用的解决方案将此作为切入点: extern "C" int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPTSTR lpCmdLine, int /*nShowCmd*/) 有没有一种方法可
extern "C" int WINAPI _tWinMain(HINSTANCE hInstance,
HINSTANCE /*hPrevInstance*/,
LPTSTR lpCmdLine,
int /*nShowCmd*/)
有没有一种方法可以像使用_declspec方法那样访问此文件
欢呼这不是DLL入口点,而是主要应用程序入口点。您需要通过CreateProcess将其创建为新进程。这不是DLL入口点,而是主要应用程序入口点。您需要通过CreateProcess将其创建为一个新进程。\u tWinMain实际上是WinMain或wWinMain的定义。您还需要确保它已实际导出 也就是说,为什么DLL会有WinMain函数呢?您应该只导出一个普通函数,如DisplayHelloFromDLL [编辑] 正如@DeadMG所说,您试图引用的项目(带有_tWinMain的项目)是一个EXE。您不应该像对待DLL那样尝试从C导入它的函数;相反,您应该使用启动它。\u tWinMain实际上是WinMain或wWinMain的定义。您还需要确保它已实际导出 也就是说,为什么DLL会有WinMain函数呢?您应该只导出一个普通函数,如DisplayHelloFromDLL [编辑]
正如@DeadMG所说,您试图引用的项目(带有_tWinMain的项目)是一个EXE。您不应该像对待DLL那样尝试从C导入它的函数;你应该启动它。< p>答案是调用C++中使用的函数:
extern "C"
{
__declspec(dllexport) void StartAgent()
{
printf ("Starting Agent... \n");
StartServer(true);
RunMainLoop();
}
}
然后,使用以下命令在C中调用此命令:
[DllImport("myDll.dll")]
public static extern string StartAgent();
StartAgent();
从C++调用C++,并使C++运行应用程序。
< P>答案是调用C++中使用的函数:extern "C"
{
__declspec(dllexport) void StartAgent()
{
printf ("Starting Agent... \n");
StartServer(true);
RunMainLoop();
}
}
然后,使用以下命令在C中调用此命令:
[DllImport("myDll.dll")]
public static extern string StartAgent();
StartAgent();
从C调用C++并运行应用程序。< /P> OK,我怎样才能进入这个DDL启动它?我应该在这里指出,我在使用C++方面没有任何经验好的,我如何进入这个ddl来启动它?我要指出的是,我在使用C++方面没有经验。