又好久没有写博客了,这一段时间一直在做东西,碰到了一些问题并解决掉了,所以把它写出来。写程序时碰到的第一个问题就是用c#.net2005 调用evc4.0生成的dll文件。

首先,在调用自己写的dll时,一定格式要正确,也就是这样的:
在*.h文件中加入
extern "C" __declspec(dllexport) int  MyFunction(void);
在*.cpp文件中加入
__declspec(dllexport) int MyFunction(void)
{
    // 在此处添加实现代码
    return 12;
}
在*.edf文件中加入
EXPORTS
   MyFunction

其次,在生成dll文件时,选定正确的平台,也就是pocketpc2003,win32 AMR4I,因为C#是pocketpc2003或windows mobile 5.0的,并且C#2005的模拟器是支持各种架构的,不像以前的模拟器只支持x86。也就是说如果ppc device是x86的,也可以在编译时,选择x86。

最后,就可以将编译好的dll文件,加入到C#工程的debug文件夹下。
1。将加入的dlll文件add到工程中,并将属性改为copy always。
2。在调用dll文件的*cs文件中加入命名空间System.Runtime.InteropServices;
3。调用格式为:
  [DllImport("Test.dll")]
        extern static int MyFunction(void);
在[DllImport("*.dll")]中还有一些参数,可按需要加入。

注:
在调用dll文件后在模拟器或Device上运行时会出现一些错误信息,这些错误的含义是:
Missing Method Exception 是C#没有找到该dll文件的入口。
No Support Exception是在调用dll文件时,没有使用正确的数据类型转换。

转载于:https://www.cnblogs.com/randylee/archive/2006/09/24/513126.html

c#.net2005 调用evc4.0生成的dll文件相关推荐

  1. QT调用Saleae C#生成的dll文件

    背景:设计开发PEPS的测试设备时,需要对manchester 等波形采集数据,实际使用时常出现波形解析不准确,设置参数多等原因导致数据采集出现问题.所以冒出个想法是否可以直接使用逻辑分析仪输出的数据 ...

  2. matlab2012生成dll,64位win7下vc2010如何调用matlab2012a中生成的dll文件

    本文说是原创,但核心部分是参考http://blog.sina.com.cn/s/blog_a5fdbf0101018n91.html(大家可以先看看这篇文章),在此再次感谢debug童鞋.debug ...

  3. java调用c 生成so,Java在linux下调用C/C++生成的so文件

    Java在linux下调用C/C++生成的so文件 1. CplusUtil.java是java web工程中的一个工具类 内容如下: CplusUtil.java package cn.undone ...

  4. matlab读mif文件,关于QuartusII里面调用MATLAB里生成的mif文件的一些问题(转)

    关于QuartusII里面调用MATLAB里生成的mif文件的一些问题(转) 最近做DDS正弦信号发生器,需要用到MATLAB生成一个正弦信号的ROM(MIF文件).首先在MATLAB里面建立一个M- ...

  5. WinEdt 7.0生成的PDF文件,用Sumatra PDF打开后,一直提示更新Sumatra PDF版本!

    Hello,everyone! 我是鲁班·,一个热衷于科研和软开的胖子! 问题描述 WinEdt 7.0生成的PDF文件,用Sumatra PDF打开后,一直提示更新Sumatra PDF版本,即便更 ...

  6. c 调用c语言写的dll文件路径,手把手教你用C/C++语言创建及调试动态库DLL程序

    引子 动态链接库DLL文件不仅可以实现代码.资源和数据的共享,同时也可以对源代码起保护作用,对于开发者来讲,DLL的生成及调试是程序员必须掌握的一种技术,下面通过一个具体的例子,演示使用C/C++语言 ...

  7. 不用Fody,支持.net2.0,C#把Dll文件打包到Exe输出单文件版应用

    网上一些使用fody对c#的调用的dll文件捆包成exe文件,并不适合我,因为我的.net项目为了在低端机上使用,只安装.net2.0 这个改动主要分为两部分.,第一部分是先写一个自动通过资源加载dl ...

  8. Silverlight实用窍门系列:22.Silverlight使用WebService调用C++,Delphi编写的DLL文件【实例源码下载】...

    在Silverlight程序(非Out of Browser模式)中是无法直接调用DLL的,但是很多的计算或者其他应用程序的调用中我们需要用到DLL的加载.比如调用DLL来识别身份证读卡器传输过来 ...

  9. qt调用c语言编写的dll文件,Qt之调用外部DLL - moki_oschina的个人空间 - OSCHINA - 中文开源技术交流社区...

    预备知识: 1.如果在没有导入库文件(.lib),而只有头文件(.h)与动态链接库(.dll)时,我们才需要显示调用,如果这三个文件都全的话,我们就可以使用简单方便的隐式调用. 2.通常Windows ...

最新文章

  1. 最小割分治(最小割树):BZOJ2229 BZOJ4519
  2. php排字符串的高低位怎么区分,PHP-根据字符串和所用字体计算字符串所占宽高...
  3. 如何比较传统WAN与SD-WAN?有什么差别? Vecloud微云
  4. 通过WebBrowser使用Echats
  5. 微信有电脑客户端吗_微信电脑版有哪些功能呢
  6. 军事武器知识图谱构建与自动问答项目QAonMilitaryKG
  7. 解决ubuntu中zip解压的中文乱码问题
  8. Android 移动开发知识体系
  9. Crtmpserver编译
  10. Android常见界面控件(基础入门)
  11. 线段树(单点更新) HDOJ 4288 Coder
  12. 大道至简-第一张 伪代码
  13. 孟非带伤录制非诚勿扰
  14. 互联网IT工程师需要具备哪些技能?
  15. 神舟linux装win7教程,神舟战神G70装win7系统及bios设置教程(神舟G70台式机win10改win7)...
  16. java毕向东helloworld_毕向东java基础课学习笔记2——Hello world
  17. 微商模式的出路在哪里?
  18. mysql latch_MySQL8.0 - InnoDB里的Latch定义-阿里云开发者社区
  19. Frps部署报错:cannot stat ‘frp_0.44.0_linux_amd64/frps‘: No such file or directory
  20. isEmpty()的坑

热门文章

  1. socket缓冲区以及阻塞模式
  2. python3 类的一个实例
  3. 双口RAM和多模块存储器
  4. 沙老师的作业系列——Crackme3
  5. php serialize取值,PHP 序列化(serialize)格式详解
  6. oracle 多个表 join 的先后顺序
  7. Windows命令行参数的知识(一)
  8. 利用 fdisk进行分区
  9. Alltesting众测平台访谈录第一弹!
  10. Python之路----------内置函数