C# 调用 C++编译的dll中的函数的问题
利用g++编译命令编译了如下的代码:#include<iostream>usingstd::cout;usingstd::endl;#defineCPP_API__dec...
利用g++编译命令编译了如下的代码:
#include <iostream>
using std::cout;
using std::endl;
#define CPP_API __declspec(dllexport)
extern "C" CPP_API void Prt();
extern "C" CPP_API void Prt()
{
cout<<"Hello World!"<<endl;
}
将其编译为HelloWorld.dll之后,想在C#的环境中调用这个dll中的Prt()函数:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
namespace unmanagedDllTest
{
class Extern
{
[DllImport(@"F:\code\C#\interOP\unmanagedDllTest\DLL\HelloWorld.dll", EntryPoint = "Prt", CallingConvention = CallingConvention.Cdecl)]
public extern static void Prt();
}
}
然后在Main方法中调用Extern.Prt(),但是控制台界面并不显示结果,这是为什么?……求高手帮帮忙 展开
#include <iostream>
using std::cout;
using std::endl;
#define CPP_API __declspec(dllexport)
extern "C" CPP_API void Prt();
extern "C" CPP_API void Prt()
{
cout<<"Hello World!"<<endl;
}
将其编译为HelloWorld.dll之后,想在C#的环境中调用这个dll中的Prt()函数:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
namespace unmanagedDllTest
{
class Extern
{
[DllImport(@"F:\code\C#\interOP\unmanagedDllTest\DLL\HelloWorld.dll", EntryPoint = "Prt", CallingConvention = CallingConvention.Cdecl)]
public extern static void Prt();
}
}
然后在Main方法中调用Extern.Prt(),但是控制台界面并不显示结果,这是为什么?……求高手帮帮忙 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询