没有合适的资源?快使用搜索试试~ 我知道了~
使用Visual-Studio-2005创建C#项目案例 c#经典案例.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 146 浏览量
2022-05-07
22:06:56
上传
评论
收藏 94KB DOC 举报
温馨提示
试读
4页
使用Visual-Studio-2005创建C#项目案例 c#经典案例.doc
资源推荐
资源详情
资源评论
使用 Visual Studio 2005 创建 C#
项目案例
2009-08-24 17:50 yoyolion 博客园 我要评论() 字号:T | T
这是一篇使用 Visual Studio 2005 创建 C#项目案例,和.NET Framework 一样,.NET Compact
Framework 也提供了平台调用 P/Invoke 功能以支持托管代码调用驻留于 DLL 中的非托管函数。关
于.NET Compact Framework 的详细讨论。
AD:
本 C#项目案例主要是使用 Visual Studio 2005 创建 C++和 C#混合项目的方法,涉及 C#智能设备项
目和 C++智能设备项目。
通过 P/Invoke 我们可以充分利用已有的非托管资源,使用非托管的系统 API 函数,以弥补.NET
Compact Framework 的不完备性。因此我们可以使用 C++来编写非托管的 DLL 函数,然后通
过 P/Invoke 在 C#中进行调用。vs2005 提供了一个很好的集成环境,我们可以使用一个解决方案同时
管理托管的 C#项目和非托管的 C++项目。下面介绍使用 vs2005 创建 C++和 C#混合项目的方法。
1、首先创建一个 C#智能设备项目。如智能设备-Pockent PC 2003-设备应用程序,假定解决方案名
为“MixedSolution”,项目名为“DeviceApplication1”。
2、添加 C++智能设备项目。在解决方案“MixedSolution”中添加一个新的项目,使用 C++创建相同平
台(如 Pockent PC 200)的智能设备 Win32 或 MFC 项目,假定项目名为“CppProject”。注意
CppProject 必须是 Win32 或 MFC 的 DLL 项目,因为我们需要使用 P/Invoke 功能实现由 C#调用 C++
项目的 DLL。在 C++项目中编写需要的函数处理后,对要导出的函数需要进行导出定义,该函数将被
C#的 P/Invoke 调用,只有被正确导出的函数才能被 P/Invoke 识别。这里值得注意的只有使用修饰符
extern “C” _declspec(dllexport)修饰的函数才能被 P/Invoke 调用。在该修饰符中
_declspec(DLLexport)表示输出,即导出函数的定义;extern “C”表示该函数使用 C 编译方式,可以
被 C 调用,P/Invoke 只能调用使用这种方式编译的函数。
我们可以定义如下符号:
1. #defineDLLAPIextern"C"__declspec(dllexport)
定义了该符号后,可以使用它来修饰要导出的函数,如声明函数 MyFunction:
1. DLLAPIintMyFunction(int,int);
声明了该函数后,在函数的定义部分使用或不使用 DLLAPI 修饰都是被允许的。
1. intMyFunction(int,int)//声明了函数后,在定义部分可以不加修饰符
2. {
资源评论
_webkit
- 粉丝: 30
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功