注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

创新改变世界

you changed the world

 
 
 

日志

 
 

C#调用C++代码  

2011-11-17 15:00:29|  分类: win8 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
在写程序的过程中,我们经常需要重用一些自己以前写过的、或者别人写过的代码,既可以减少自己的工作量,又可以节省时间,但是这些代码当中难免有一些是与我们自己写程序的语言不同的语言,在这种情况下,微软也为我们提供了好的解决方案,下面是如何在C#中调用C++的简单说明。
(1)首先要写好C++代码,然后编译成dll文件;
     #pragma once
     #include<string>
    using namespace std;

    extern "C" {
  __declspec(dllexport) int add(int a, int b);
  __declspec(dllexport) double showAgain();
    }
    extern "C"表示按C语言的格式输出该函数,因为C++在对函数进行编译时会对函数进行重命名,如果单纯按函数名去寻找函数肯定是找不到的,所以这里按C语言的格式输出函数,C语言编译之后函数名会变为_functionName()。

(2)C#代码引入dll文件,并在代码当中写入如下代码:
  [DllImport("testdll.dll", EntryPoint = "add", CharSet = CharSet.Auto)]
  private static extern int Add(int a, int b);
  这两句话必须一起使用,至此就完成了C#对C++代码的调用。

相关参考:

为什么编译时最好按C语言格式编译:
  评论这张
 
阅读(77)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017