| 導購 | 订阅 | 在线投稿
分享
 
 
 

C-Sharp调用标准动态库(记录)

2008-12-13 08:24:08  編輯來源:互聯網  简体版  手機版  評論  字體: ||
 
  C#调用Win32API

  软件环境: VC6.0(当然其他版本的VC5也可以)

  1.制作标准动态库

  __declspec(dllexport) int __cdecl add(int, int);//这一句是声明动态库输出一个可供外不调用的函数原型.

  int add(int a,int b) {//实现这个函数

  return a+b;

  }

  以上简单3行代码,声明一个add的方法, 输入参数是两个int参数,返回这两个数之和. 保存为MyLib.c

  然后执行编译命令.

  H:\XSchool\C#-School\HowTo>cl /LD MyLib.c

  Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86

  Copyright (C) Microsoft Corp 1984-1998. www.devdao.com All rights reserved.

  MyLib.c

  Microsoft (R) Incremental Linker Version 6.00.8447

  Copyright (C) Microsoft Corp 1992-1998. All rights reserved.

  /out:MyLib.dll

  /dll

  /implib:MyLib.lib

  MyLib.obj

  Creating library MyLib.lib and object MyLib.exp

  确信有以上输出, 说明编译成功生成了动态库.

  2.编写C-Sharp程序调用该动态库

  using System;

  using System.Runtime.InteropServices;//这是用到DllImport时候要引入的包

  public class InvokeDll {

  [DllImport("MyLib.dll", CharSet=CharSet.Auto)]

  static extern int add(int a,int b);//声明外部的标准动态库, 跟Win32API是一样的.

  public static void Main() {

  Console.WriteLine(add(10,30));

  }

  }

  保存为InvokeDll.cs文件, 与MyLib.dll置于同一目录, 编译该文件.

  H:\XSchool\C#-School\HowTo>csc invokedll.cs

  将生成Invokedll.exe, 可以执行该文件.

  引用

  以上是C-Sharp调用标准动态库的全过程, 本来觉得很简单的东西, 一直都没有想写, 碰巧今日遇一朋友问及此事, 就顺便写了下来. 有什么问题可以联系zlyperson@163.net
 
 
 
  C#调用Win32API   软件环境: VC6.0(当然其他版本的VC5也可以)    1.制作标准动态库   __declspec(dllexport) int __cdecl add(int, int);//这一句是声明动态库输出一个可供外不调用的函数原型.   int add(int a,int b) {//实现这个函数   return a+b;   }     以上简单3行代码,声明一个add的方法, 输入参数是两个int参数,返回这两个数之和. 保存为MyLib.c   然后执行编译命令.   H:\XSchool\C#-School\HowTo>cl /LD MyLib.c   Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86   Copyright (C) Microsoft Corp 1984-1998. [url=http://www.devdao.com]www.devdao.com[/url] All rights reserved.   MyLib.c   Microsoft (R) Incremental Linker Version 6.00.8447   Copyright (C) Microsoft Corp 1992-1998. All rights reserved.   /out:MyLib.dll   /dll   /implib:MyLib.lib   MyLib.obj   Creating library MyLib.lib and object MyLib.exp   确信有以上输出, 说明编译成功生成了动态库.   2.编写C-Sharp程序调用该动态库   using System;   using System.Runtime.InteropServices;//这是用到DllImport时候要引入的包   public class InvokeDll {    [DllImport("MyLib.dll", CharSet=CharSet.Auto)]    static extern int add(int a,int b);//声明外部的标准动态库, 跟Win32API是一样的.    public static void Main() {     Console.WriteLine(add(10,30));     }   }   保存为InvokeDll.cs文件, 与MyLib.dll置于同一目录, 编译该文件.   H:\XSchool\C#-School\HowTo>csc invokedll.cs   将生成Invokedll.exe, 可以执行该文件. 引用 以上是C-Sharp调用标准动态库的全过程, 本来觉得很简单的东西, 一直都没有想写, 碰巧今日遇一朋友问及此事, 就顺便写了下来. 有什么问题可以联系[url=mailto:zlyperson@163.net]zlyperson@163.net[/url]
󰈣󰈤
 
 
 
>>返回首頁<<
 
 
 
 
 
 熱帖排行
 
 
王朝网络微信公众号
微信扫码关注本站公众号 wangchaonetcn
 
  免责声明:本文仅代表作者个人观点,与王朝网络无关。王朝网络登载此文出于传递更多信息之目的,并不意味著赞同其观点或证实其描述,其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有