网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 手机学院 | 邮件系统 | 网络安全 | 认证考试
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > C#应用
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.用C#代码生成一个简单的PDF文件.
.C#几种常用的排序算法.
.C#中控制IIS服務重啟.
.在C#中使用COM+实现事务控制.
.在Excel中将连续多列相同数据项合.
.一点C#代码的使用心得.
.C#制作MID窗体.
.C#判断一个string是否可以为数字.
.C#中判断字符串A中是否包含字符串.
.C#中屏蔽窗体关闭的消息 .
.C#操作Word文档(Office 2007).
.C#编程向VFP数据库中插入Numeric.
.用c#写的asp+域名查询程序.
.C#2.0终于有了?:便捷判断的单分支.
.C#中使用SendMessage.
.关于C#和C++的重载(Overload)、.
.利用c#制作简单的留言板(3) .
.利用c#制作简单的留言板(2).
.C#计算20902个汉字的拼音首字母 .
.C#模拟MSN窗体抖动.

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

发表日期:2008-12-12

  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#图像处理之-给你的图片打上LOGO 人气:326
下一篇:C# 2.0中的上传多个图片合并及存入数据库的示例 人气:298
浏览全部C-Sharp的内容 Dreamweaver插件下载 网页广告代码 2009年新年快乐