G-简单的编译生成动态链接文件
一个最简单的动态链接库程序,使用 g++命令行编译。便于回忆,就把它记到 Blog 中。
动态库建立
编译成 obj 文件:
g++ -c -o dll.obj dll.cpp
链接 obj,生成 dll:
g++ -shared -o dll.so dll.obj
/* file: dll.h */
#ifndef __dll_h__
#define __dll_h__
#ifdef __MY_DLL_LIB__
#define DLL_EXPORT extern "C" __declspec(dllexport)
#else
#define DLL_EXPORT extern "C" __declspec(dllimport)
#endif
DLL_EXPORT int mymax(int x, int y);
#endif
/* file: dll.cpp */
#define __MY_DLL_LIB__
#include "dll.h"
int mymax(int x, int y)
{
return x > y ? x : y;
}
动态库调用
调用动态库: 直接编译成 exe:
g++ main.cpp dll.so -o main.exe
/* file: main.cpp */
#include "dll.h"
#include <iostream>
using namespace std;
int main()
{
int a = 2;
int b = 4;
cout << mymax(a, b) << endl;
return 0;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
上一篇: 欧氏距离和余弦相似度
下一篇: 彻底找到 Tomcat 启动速度慢的元凶
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论