【zz】lib to dll

(第一种方法)

比如,现在有一个outlib.h 和一个outlib.lib,里面定义了一个函数
void doSomething(),现在,我想做一个myoutlib.dll,用这个dll可以
使用doSomething()这个函数做一些事情。我这么做:

1)我建立一个vc工作空间mylib.dsw,这个工程的类型是DLL类型。
2)把outlib.h加入到工程中,用include "outlib.h",具体哪个文件看你的需要
3) 把outlib.lib加入到工程中, 用#pragma comment(lib, "myoutlib.dll")或者
   通过连接文件加入到工程中。
4) 接着我做一个自己的函数void myDoSomething
   定义为:
   __declspec(dllexport) extern "C" void myDoSomething()
   {
     doSomething();
    }
   就是简单的封装一下。
5)最后生成动态连接库文件myoutlib.dll。
这个是方法~~
 

(举例说明)

获得事件的C函数原型定义为:

int  TELMATEFUNC TV_GetEvent(int ch,TV_Event *event);

C# 中则被定义为:

        [DllImport("Usbid.dll")]
        static extern Int32 TV_GetEvent(UInt32 any, [Out] PhoneEvent phoneEvent);

[Out] 是我不经意中发现的,而正是这一发现解决了让我困惑的 得不到任何返回值的 问题。

(举例说明)

编译成DLL,然后以API的方式调用  
   
  例如  
  "[DllImport(""gdi32.dll"",   EntryPoint=""AbortDoc"")]  
  public   static   extern   int   AbortDoc   (  
  int   hdc  
  );"

(第二种方法)

如果你不愿意将该lib文件编译为dll也可以直接将该lib文件在组件服务中进行com+组件注册,注册后即可引用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值