1.类的函数的内联实现
#include "stdafx.h"
#include "testdll.h"
#include <iostream>
#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 <iostream>
//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 <iostream>
#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
}
}   
  
  

  

c# 导入c++ dll的更多相关文章

  1. Unity基础-外部导入C# Dll(汇编集)

    外部导入C# Dll(汇编集) 使用创建一个dll工程 添加依赖的dll 导入Unity中,放入Assets的任意文件夹中 使用代码生成的dll汇编集只要"use dll的名字"引 ...

  2. C#导入c++ dll报找不到dll文件 masm32调用c++类库

    最近需要在C#下调用一个c++ dll库,不管怎样dllimport就是报错找不到该dll文件,路径.函数名称.参数.dllimport参数逐个检查确认无误也无济于事,无奈想用其他语言调用试试,由于是 ...

  3. C#生成DLL,在Unity中导入/调用DLL

    网上搜了一些DLL的创建.编写.使用的学习资料,感觉比较的凌乱.或是复杂抽象,或是关键地方一笔带过,不是很适合萌新.于是决定还是图文记录一下该过程,尽量精简而又明确. 学习资料: https://do ...

  4. python 3.6 导入c++dll所遇到的坑

    1 返回值在c++里面为const char*,python 接收实际上为int类型 原因:python默认返回值为int 解决方法: import ctypes import os CUR_PATH ...

  5. Win32 的dll导入

    dll 文件可以导入变量,函数,和C++类,但是导入变量会使执行程序与dll紧耦合,而C++类导入则需要两个文件的开发商所用的编译器相兼容,所以做好只导入函数; 创建dll : 头文件:#ifdef  ...

  6. C# 生成dll文件 并导入使用

    首先 在unity创建一个脚本 并编写内容,其中需要调用的方法.变量要公有化(也可以直接新建cs文件用编译器打开编译,但要先导入UnityEngine.dll). 然后,复制脚本关闭unity,在外界 ...

  7. Unity插件之Unity调用C#编译的DLL

    Unity插件分为两种:托管插件(Managed Plugins)和本地插件(Native Plugins).本文先来说说Unity中的托管插件,本地插件的文章留到下一篇文章再说. 有时候我们会有这样 ...

  8. 小甲鱼PE详解之输入表(导入表)详解2(PE详解08)

    在此之前,我们已经对这个输入表进行了一些实践和理解,这有助于大家对这个概念更进一步的加深认识.小甲鱼觉得,越是复杂的问题我们应该越是去动手操作它,认识它,这样才容易熟悉它! 在上一节课我们像小鹿一样的 ...

  9. 初解DLL基本知识

    1.DLL基本理论 在Windows操作系统中,几乎所有的内容都是以DLL的形式存在的. 1.DLL基本概念 语言程序要从目标代码(.obj)外部引用函数,可以通过俩种途径实现——静态链接和动态链接. ...

随机推荐

  1. PTA 畅通工程之最低成本建设问题(30 分)(最小生成树 krusal)

    畅通工程之最低成本建设问题(30 分) 某地区经过对城镇交通状况的调查,得到现有城镇间快速道路的统计数据,并提出“畅通工程”的目标:使整个地区任何两个城镇间都可以实现快速交通(但不一定有直接的快速道路 ...

  2. matlab神经网络工具箱创建神经网络

    为了看懂师兄的文章中使用的方法,研究了一下神经网络 昨天花了一天的时间查怎么写程序,但是费了半天劲,不能运行,百度知道里倒是有一个,可以运行的,先贴着做标本 % 生成训练样本集 clear all; ...

  3. linux输入子系统之按键驱动

    上一节中,我们讲解了Linux  input子系统的框架,到内核源码里详细分析了输入子系统的分离分层的框架等. 上一节文章链接:http://blog.csdn.net/lwj103862095/ar ...

  4. Dev DateEdit控件格式设置

    设置日期显示格式: 设置三个属性(显示时.编辑时) dtPubDate.Properties.DisplayFormat.FormatString = "yyyy-MM-dd";  ...

  5. Java ThreadPoolExecutor线程池原理及源码分析

    一.源码分析(基于JDK1.6) ThreadExecutorPool是使用最多的线程池组件,了解它的原始资料最好是从从设计者(Doug Lea)的口中知道它的来龙去脉.在Jdk1.6中,Thread ...

  6. Python函数式编程之map()

    Python函数式编程之map() Python中map().filter().reduce()这三个都是应用于序列的内置函数. 格式: map(func, seq1[, seq2,…]) 第一个参数 ...

  7. cpu,io密集型计算概念

    I/O密集型 (CPU-bound) I/O bound 指的是系统的CPU效能相对硬盘/内存的效能要好很多,此时,系统运作,大部分的状况是 CPU 在等 I/O (硬盘/内存) 的读/写,此时 CP ...

  8. classmethod VS staticmethod

  9. C#读写EXCEL(二) ZedGraph在Asp.net中的应用

      C#读写EXCEL(二) 2010-08-25 14:50:42|  分类: 默认分类 |  标签: |举报 |字号大中小 订阅 用微信  “扫一扫” 将文章分享到朋友圈. 用易信  “扫一扫” ...

  10. day16-作业 后台管理

    二话不说开撸作业 作业要求: 后台管理平台 ,编辑表格:1. 非编辑模式:可对每行进行选择: 反选: 取消选择2. 编辑模式:进入编辑模式时如果行被选中,则被选中的行万变为可编辑状态,未选中的不改变退 ...