用VS2005写一个 C 的类库和用 C#来调用的示例

    技术2022-05-11  56

    一、用VS2005写一个 C 的类库的步骤:

    (1)、建立一个空的Visual C++项目(如下图)

    (2)、这时候在项目中可以看见 三个空目录 (如下图)

    选中 "源文件" 目录,然后点鼠标右键,在弹出菜单中选择“添加”--->"新建项" ,建立 main.c 项 (如下图)

    (3)、在main.c 文件中输入如下代码(字符串)

    #include <stdio.h>

    int MyCDll(int a, int b){ return a+b;}

    (4)、建立 def文件 (如下图)

    选中 "源文件" 目录,然后点鼠标右键,在弹出菜单中选择“添加”--->"新建项" ,建立 MyDll.def 项 (如下图)

    (5)、在MyDll.def 文件中输入如下代码(字符串)

    ; MyDll.def : 声明 DLL 的模块参数。

    LIBRARY      "MyCDll"

    EXPORTS    MyCDll @1    ; 此处可以是显式导出

    (6)、到这一步项目和代码都写好了,但是目前编译只是 exe可执行文件,我们要的是 Dll类库,所以不要着急:),选中 "MyDll" 目录,然后点鼠标右键,在弹出菜单中选择“属性”还需要做一下项目的属性设置  (如下图)

    好了,现在你可以去编译了。这时候会生成 MyDll.dll 

    二、用 C#来调用的示例

    (1)、建立一个空的Visual C# 项目(如下图)

    (2)、这时候在项目中可以看见 一个窗体,在窗体上点鼠标右键,在弹出菜单中选择“查看代码”

    在打开的代码文件中输入如下代码(字符串):

    [DllImport(@"E:/C++/timetest/debug/MyDll.dll", CharSet = CharSet.Ansi, EntryPoint = "MyCDll", CallingConvention = CallingConvention.Cdecl)]        public static extern int MyCDll(int a, int b);

    (3)、现在对类库中函数的引用已经申明好了,然后在窗体上放一个按钮控件和一个文本框,我们来调用一下啊。

    在按钮的OnClick事件中写如下字符串

                int i = 0;            i = MyCDll(1 , 2);

                this.textBox1.Text = i.ToString();

     

     

    好了,现在按一下 ctrl + f5  来运行一下看看效果如何。

     

    最新回复(0)