Code::Blocks环境下创建并显式调用动态链接库
来源:互联网 发布:业务流程优化的目的 编辑:程序博客网 时间:2024/05/16 00:34
开发环境:Code:Blocks
版本:13.12
语言:C
用途:学习记录
step 1:创建动态链接库项目
File--New--Projects--Dynamic Link Library--Go
Project title: mydll
Folder to create project in:C:\Users\Administrator\Desktop\codeblocks\ P.S.随意,本例为用户桌面的codeblocks文件夹下
Project filename:mydll.cdp P.S.自动生成
Resulting filename:C:\Users\Administrator\Desktop\codeblocks\mydll\mydll.cbpP.S.自动生成
Next--Finish
Step 2:创建mydll.c和mydll.h文件
File--New--Files--C/C++ source--Go-- 选择C --Next 在C:\Users\Administrator\Desktop\codeblocks\mydll路径下创建mydll.c文件 勾选上debug和release
File--New--Files--C/C++ header--Go 在C:\Users\Administrator\Desktop\codeblocks\mydll路径下创建mydll.h文件
//mydll.c
#include "mydll.h" //自定义头文件用双引号//其他人的一个程序实例int DLL_EXPORT add(int x,int y){ return x+y;}
//mydll.h
#ifndef MYDLL_H_INCLUDED#define MYDLL_H_INCLUDED#ifdef BUILD_DLL #define DLL_EXPORT __declspec(dllexport)#else #define DLL_EXPORT __declspec(dllimport)#endif // BUILD_DLLint DLL_EXPORT add(int,int);//函数类型+DLL_EXPORT关键字+函数名 形参类型代替形参#endif // MYDLL_H_INCLUDEDBuild--Build 编译,在C:\Users\Administrator\Desktop\codeblocks\mydll\bin\Debug下生成:libmydll.a libmydll.def mydll.dll三个文件
Step 3:创建新项目,显式调用mydll.dll
File--New--Projects--Console application--Go--选择C (同Step 1,下略)
Project title: mytest
重新编写main.c程序
#include <stdio.h>#include <windows.h>typedef int(*lpAdd)(int,int); //定义函数类型HINSTANCE hDll; //DLL句柄lpAdd add;int main(){ hDll = LoadLibrary("simple.dll"); //加载 dll add = (lpAdd)GetProcAddress(hDll, "add");//通过指针获取函数方法 printf("id = %d\n", add(1,2) );//调用函数 FreeLibrary(hDll);//释放Dll句柄 system("pause"); return 0;}参考资料:http://hi.baidu.com/hellosim/item/9ae4317168f4a74bee1e53cb
- Code::Blocks环境下创建并显式调用动态链接库
- Linux环境下创建并使用动态链接库
- Windows环境下创建并使用动态链接库(CodeBlocks版)
- 使用VS2015 创建C++动态链接库并调用
- windows下创建并使用动态链接库(.dll)
- VS2015环境下生成和调用DLL动态链接库
- Windows环境下创建动态链接库(Visual Studio版)
- Visual Studio下建立并隐式调用自己的动态链接库dll
- Visual Studio下建立并隐式调用自己的动态链接库dll
- Visual Studio下建立并隐式调用自己的动态链接库dll
- Visual Studio下建立并隐式调用自己的动态链接库dll
- Ubuntu下Code::Blocks开发环境配置
- Ubuntu下Code::Blocks开发环境配置
- Ubuntu下安装Code::Blocks开发环境
- code blocks windows环境下的配置
- android源码环境下动态链接库so的隐式调用
- C语言创建动态dll,并调用该dll(visual studio 2013环境下)
- C语言创建动态dll,并调用该dll(visual studio 2013环境下)
- 做项目和做产品的区别
- 提取数据库中某一列不相同的值
- 朴素贝叶斯分类器的应用
- 去掉activity(tabhost )顶部的 黑线 横线 阴影
- awk求某列的和
- Code::Blocks环境下创建并显式调用动态链接库
- 【学习笔记】Firefox的restclient插件是个好东东~
- HOJ 13083 Quite Good Numbers(其实是暴力)
- Android 的SQLiteDataBase简要知识点
- linux下confstr与uname函数_获取C库与内核信息
- openssl之BIO系列之6---BIO的IO操作函数
- wxython简单入门加实例3:创建菜单栏
- Milestone/umts_sholes/OMAP3430 DSS(Display Sub-System) Go-Through
- 如何在windows中查看,端口被什么应用程序占用