首页 > 编程语言 > 详细

C#学习笔记(二)——C语言DLL

时间:2019-10-14 09:55:07      阅读:74      评论:0      收藏:0      [点我收藏+]
一、DLL生成(需要.h和.c两个文件)

add.h内容:


#ifndef _DLL_H_
#define _DLL_H_

#if BUILDING_DLL
#define DLLIMPORT __declspec(dllexport)
#else
#define DLLIMPORT __declspec(dllimport)
#endif

DLLIMPORT int Add();    声明函数

#endif

========================================================================================
add.c内容

#include "dll.h"                                   //引入头文件
#include <windows.h>

DLLIMPORT int Add(int a,int b)             //定义需要实现功能的函数
{
	return a+b;
}

BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason,LPVOID lpvReserved)                                    //DLL主函数入口,暂时默认不动
{
	switch(fdwReason)
	{
		case DLL_PROCESS_ATTACH:
		{
			break;
		}
		case DLL_PROCESS_DETACH:
		{
			break;
		}
		case DLL_THREAD_ATTACH:
		{
			break;
		}
		case DLL_THREAD_DETACH:
		{
			break;
		}
	}
	
	/* Return TRUE on success, FALSE on failure */
	return TRUE;
}
================================================================================================
DELL引用(C#)

1.将DLL文件放入DEBUG文件夹
2.Program.cs中

(1) using System.Runtime.InteropServices;   //加载DLL申明

(2)class dll                                                //专门用一个CLASS来处理DLL程序
    {
        [DllImport("Add.dll")]                           //载入DLL
        public static extern int Add(int a,int b);  //声明函数原型
    }
(3)具体窗体事件中运行函数

        private void button1_Click(object sender, EventArgs e)
        {
            int sun = dll.Add(8, 7);                                //引用函数要在函数名前加  CLASS. 否则无法实现
            textBox1.Text = "测试成功,计算结果为:"; 
            textBox1.AppendText(sun.ToString());                    //sun.ToString()将变量sun转换成String格式;AppendText向文本框追加显示内容
        }

读取数据、运算数据、显示数据实例:
 private void button1_Click(object sender, EventArgs e)
        {

            int x, y, sun;
            x = Convert.ToInt32(textBox3.Text);      //读取TEXTBOX中的数字
            y = Convert.ToInt32(textBox2.Text);
            sun = ccc.add(x,y);                      /*引用函数要在函数名前加  CLASS. 否则无法实现*/
            textBox1.Text = "测试成功,计算结果为:";  //显示文本(字符串)
            textBox1.AppendText(sun.ToString());     //将数字转换为字符串显示    
			
        }

  

C#学习笔记(二)——C语言DLL

原文:https://www.cnblogs.com/gougouwang/p/11669561.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!