博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c# 导入c++ dll
阅读量:5924 次
发布时间:2019-06-19

本文共 1839 字,大约阅读时间需要 6 分钟。

1.类的函数的内联实现#include "stdafx.h"#include "testdll.h"#include 
#include "testdll.h"using namespace std;#ifndef TestDll_H_ #define TestDll_H_ #pragma once #define DLL_EXPORTS #ifdef DLL_EXPORTS //#define DLL_API extern "C" __declspec(dllexport) #define DLL_CLASS __declspec(dllexport) #else /*#define DLL_API extern "C" __declspec(dllimport) */ #define DLL_CLASS __declspec(dllimport) #endif #include
//DLL_CLASS是关键字不可缺省 class DLL_CLASS MyOGRE1 { public: void MyOGREHello() { std::cout << "Hello MyOGRE_Hello()" <<"NIMEI"<< std::endl; } };#endif 2.函数的声明与实现分开.h文件using namespace std;#ifndef TestDll_H_ #define TestDll_H_ #pragma once #define DLL_EXPORTS #ifdef DLL_EXPORTS //#define DLL_API extern "C" __declspec(dllexport) #define DLL_CLASS __declspec(dllexport) #else /*#define DLL_API extern "C" __declspec(dllimport) */#define DLL_CLASS __declspec(dllimport) #endif class DLL_CLASS MyOGRE1{public:void MyOGREHello();};#endif cpp文件#include "stdafx.h"#include "testdll.h"#include
#include "testdll.h"using namespace std;void MyOGRE1::MyOGREHello(){cout << "66666" << endl;}c#代码using System;using System.Collections.Generic;using System.Linq;using System.Runtime.InteropServices;using System.Text;using System.Threading.Tasks;namespace ConsoleApplication17{ [StructLayout(LayoutKind.Sequential)] public class MyOGRE { //该方式是直接调用C++ DLL内的类的成员函数。 QAEXXZ [DllImport("MyDLL.dll", EntryPoint = "?MyOGREHello@MyOGRE1@@QAEXXZ")] public static extern void MyOGREHello(); } class Program { #region 1 static void Main(string[] args) { MyOGRE.MyOGREHello(); Console.ReadKey(); } #endregion }}      

  

转载于:https://www.cnblogs.com/kexb/p/5519868.html

你可能感兴趣的文章
我的友情链接
查看>>
OSX 10.11上,全局安装electron的问题
查看>>
SxsTrace使用教程(追踪软件运行的详细过程)
查看>>
mysql备份与恢复+ERROR 1046
查看>>
jenkins------部署项目到jboss eap下
查看>>
配置cacti邮件报警,postfix与sendmail冲突
查看>>
如何获取Windows XP完全内存转储文件
查看>>
js闭包
查看>>
FAQ系列 | utf8表存储latin1乱码字符转换
查看>>
深入PHP面向对象、模式与实践
查看>>
Centos中简单配置perl中的CPAN
查看>>
Linux启动流程
查看>>
Redis数据库管理
查看>>
Spring boot webflux 中实现 RequestContextHolder
查看>>
lvs的DR模型工作流程从ip数据层的详细分析
查看>>
linux命令之lsof
查看>>
PL/SQL变量与类型
查看>>
MD3000i存储开机串口输出内容
查看>>
EJB与JAVA BEAN的区别
查看>>
Observable and Promise
查看>>