window平台下动态库与静态库生成与使用(C++)
来源:互联网 发布:数据挖掘的预测算法 编辑:程序博客网 时间:2024/06/04 01:37
window平台下动态库与静态库生成与使用(C++)
动态库
动态库的生成
vs的设置自行百度,废话不多讲,上代码:
代码参考:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=29121609&id=3851844
//add.h#pragma once;//该宏完成在dll项目内部使用__declspec(dllexport)导出//在dll项目外部使用时,用__declspec(dllimport)导入//宏DLL_EXPORT在add.cpp中定义#ifdef DLL_EXPORT#define DLL_API __declspec(dllexport)#else#define DLL_API __declspec(dllimport)#endifnamespace test{ //导出类 class DLL_API SimpleDll //在要导出的类或函数前面添加相应的操作 { public: SimpleDll(); ~SimpleDll(); int add(int x, int y); //简单方法 };}
//------------------ add.cpp ----------------//注意此处的宏定义需要写在#include "add.h"之前//以完成在dll项目内部使用__declspec(dllexport)导出//在dll项目外部使用时,用__declspec(dllimport)导入#define DLL_EXPORT#include "add.h"namespace test{ SimpleDll::SimpleDll() { } SimpleDll::~SimpleDll() { } int SimpleDll::add(int x, int y) { return x + y; }}
// dllmain.cpp : 定义 DLL 应用程序的入口点。//#include "stdafx.h"#include <windows.h>BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved){ switch (ul_reason_for_call) { case DLL_PROCESS_ATTACH: case DLL_THREAD_ATTACH: case DLL_THREAD_DETACH: case DLL_PROCESS_DETACH: break; } return TRUE;}
动态库的使用
拷贝头文件、生成的lib与dll文件
VS设置相关的路径
- 和正常的一样使用
动态库的调试
- 进入dll工程文件配置界面。
- 设置Debugging中的command为调用此dll的exe程序。
- 将dll设置为启动项目启动
- 此时可以直接对dll中的函数进行调试
静态库
- 静态库相对简单,直接将项目设置为Static library (.lib)
- 然后就没有然后了,编译生成即可.注意是否需要兼容c,若要则添加相应的条件编译选项(extern “C”)
0 0
- window平台下动态库与静态库生成与使用(C++)
- 在window平台下生成动态库与静态库
- Linux下动态库、静态库的生成与使用
- 生成与使用静态库/动态库
- Linux下的动态链接库与静态链接库的生成与使用
- Linux下静态库与动态库的生成与使用
- 聊聊Linux下的静态库与动态库的生成与使用
- 静态库与动态库的生成与使用
- linux下生成动态库与静态库
- linux下生成动态库与静态库
- 在Ubuntu下生成动态库与静态库
- linux c/c++ 动态库和静态库的生成与使用
- VS2013下静态链接库(lib)和动态链接库(dll)的生成与使用
- VS下生成与配置静态库与动态库(一)
- VS下生成与配置静态库与动态库(二)
- linux---静态库与动态库的创建、生成、使用
- linux使用下使用动态与静态库
- 在linux下,创建和使用C/C++的静态与动态库
- 强制去除xcode的编译警告
- 文奇的无聊实习日记之数据结构篇-ch1:应付考试的概念之绪论
- hadoop3.0.0运行mapreduce(wordcount)过程及问题总结
- thinkphp 在数据分类的时候, 默认数据分类的第一个显示内容
- Linux系统新增加一块硬盘
- window平台下动态库与静态库生成与使用(C++)
- jdk版本导致Intellij IDEA编译报错:org/jetbrains/jps/incremental/messages/BuildMessage$Kind
- Deep Learning-TensorFlow (13) CNN卷积神经网络_ GoogLeNet 之 Inception(V1-V4)
- nmon(Linux下很好用的性能监测工具)介绍
- 使用glide框架加载图片遇到的一些问题
- request.getSession().getServletContext() 意思,为什么为空!
- 程序插桩
- LINE:Large-Information Network Embedding
- Openstack虚拟机创建中的RPC调用