dynamic linke library example (C/C++)
来源:互联网 发布:网络棋牌赌博 如何判刑 编辑:程序博客网 时间:2024/04/28 04:24
1. 示例:制作一个动态链接库,名为Hello.dll
//Hello.h#pragma once#define DLL_EXPORT __declspec(dllexport)#ifdef __cplusplusextern "C" {#endifDLL_EXPORT void Hello(void);#ifdef __cplusplus}#endif
以上是声明了一个可以在C中使用的导出为DLL函数的原型;文件Hello.c是其实现。
//Hello.c#include "Hello.h"#include "stdio.h"void Hello(void){ printf("Hello\n");}
在VC++6.0平台上编译生成Hello.lib和Hello.dll
2.示例:显示调用和隐身调用
//显示调用//test.cpp#include <windows.h>int main(int argc, char* argv[]){ typedef void (*pfun)(void);//声明一个函数指针类型 //将Hello.dll拷贝至当前目录下之后 HINSTANCE hDLL = LoadLibrary(hDLL,"Hello.dll");//显示加载dll pfun hello = (pfun)GetProcAddress(hDLL,"Hello");//获得Dll中的函数地址 Hello();//调用之 FreeLibrary(hDLL);//释放Dll return 0;}/* * 总结:显示调用只需要dll文件即可,在运行中dll由程序员释放 */
//隐式调用//test.cpp//将Hello.dll及Hello.lib拷贝至当前目录下#include <windows.h>#pragma comment(lib,"Hello.lib")//显示加载lib文件extern "C" __declspec(dllexport) void Hello(void);//显示声明函数int main(int argc, char* argv[]){ //直接调用函数 Hello(); return 0;}//dll和lib都是需要的。
- dynamic linke library example (C/C++)
- linux c dynamic library programming
- Unable to load dynamic library 'c:/php/extensions/php_mssql.dll'
- GNU C library dynamic linker $ORIGIN expansion Vulnerability
- Microsoft Visual Studio ~ C/C++ Runtime Library ~ Static/dynamic linking
- [C++] CBT Hook Example
- HttpListener in C#:example
- 编译output-example.c
- Output example.c
- [Home] JSON-C Example
- FFMPEG Output example.c
- C#_delegate - example
- C callback function example
- 编译output-example.c
- c api example
- alsa record example.c
- (三)A tiny C-like library之Dynamic storage allocation
- PHP Warning: PHP Startup: Unable to load dynamic library 'C:/PHP/ext\\php_ldap.dll' - The specified
- linux常用命令及vi
- 将excel文件导入到dataset中
- 堆区分配方法
- Python socket模块编程
- ASP.NET学习路线图
- dynamic linke library example (C/C++)
- servlet中使用session
- Live555 Streaming Media
- 在类库中添加引用System.Web.SessionState 命名空间中遇到的问题(已解决)
- SQL中ON和WHERE的区别
- ios开发学习--objective-c学习--系列教程2
- 左右huadong
- 拉普拉斯变换 傅里叶变换 Z变换
- eclipse安装gpd插件以及部署jBPM4.4示例