分类: C/C++
2008-09-05 10:27:39
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调用标准动态库的全过程, 本来觉得很简单的东西, 一直都没有想写, 碰巧今日遇一朋友问及此事, 就顺便写了下来.