zoukankan      html  css  js  c++  java
  • 用VS2005写一个 C 的类库和用 C#来调用的示例

    一、用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" 目录,然后点鼠标右键,在弹出菜单中选择“属性”还需要做一下项目的属性设置,在“配置属性”的“常规”中,将“配置类型”改为“动态库(.dll)”即可。

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

    二、用 C#来调用的示例

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

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

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

    [DllImport(@"E:C++ imetestdebugMyDll.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();

    注意:在使用dll的时候头文件中必须加上 using System.Runtime.InteropServices;

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

  • 相关阅读:
    spring boot 2+activiti 6.0 手把手带你学习activiti
    js自定义验证码
    [C#] OpenXml导出Excel,设置单元格格式,自动设置列宽
    [WPF] 自定义分页控件,可通过样式模板修改外观
    [WPF] 默认滚动条,通过附加属性和样式实现自定义
    王道考研数据结构错题集
    django rest framework 反序列化过程剖析
    django rest framework响应数据的源码分析
    django rest framework序列化过程剖析
    java源码学习(二)Integer
  • 原文地址:https://www.cnblogs.com/vip-ygh/p/3581895.html
Copyright © 2011-2022 走看看