创建动态链接库工程和测试工程 windows下vs2013,和ubuntu下QtCreator以及codeblocks使用体验

本文详细介绍了在Windows环境下使用VS2013创建C++动态链接库及其测试工程的步骤,包括设置DLL项目和测试项目的详细配置。接着对比了Ubuntu 16.04下使用QtCreator和Codeblocks创建库工程和测试工程的过程,特别提到了Linux系统中库文件的导出和使用方式。整个过程旨在帮助开发者理解和实践跨平台的动态链接库开发。
摘要由CSDN通过智能技术生成

1、背景

因为很多情况下,我们是不给别人或者甲方爸爸源码的,所以就要将源码编译成动态或者静态链接库来调用。在windows下面开发,当然用vs是最方便的了,虽然在linux下有了vs code,但是小白表示还没有摸索明白各种环境设置是怎么回事,不如windows下面的vs来的可视化好。所以,先看看windows下开发C++的一个超级小白简单的例子,如何建立链接库工程,生成动态链接库,然后如何建立测试这个链接库的测试工程;以及如果不在同一解决方案下建立测试工程,如何从外部测试这个动态链接库。

因为也需要开发Ubuntu下面的东西,所以也比较了下。在Ubuntu下分别利用qt,codeblocks完成类似工作。下面看到dummy的代码烦请见笑了,这只是一条简单的体验纪录。。。

2、Windows下-----vs创建share lib并测试

2.1、创建链接库工程

(1)创建

打开vs2013,选择“New Project”,在弹出的对话框中选择“Win32 project”或者“Win32 console application”。注意不要选则“Static(Windows Store apps)” 或者“DLL(Windows Store apps)”。

选择好工程的路径,取名字,默认勾选“Create directory for solution”, 点击OK。

接下来的对话框,选择“Next”。

设置向导接下来注意啦!在Application Setting这一页中,Application type这里选择“DLL”。至于下面Additional options,我当时选了“export symbols”,没选这个好像也没有少了啥(myDll)。。。,如果选择“empty project”就是一个完全空的工程,不包含任何文件。其它保持默认,点击“Finish”。

创建的库工程叫做simpleDLL2,结构如下所示:

其中,vs自动创建的文件用红框标注了。

stdafx.h,stdafx.cpp-----(来自百度百科):英文全称为:Standard Application Framework Extensions(标准应用程序框架的扩展)。头文件预编译,就是把一个工程(Project)中使用的一些MFC标准头文件(如Windows.H、Afxwin.H)预先编译,以后该工程编译时,不再编译这部分头文件,仅仅使用预编译的结果。这样可以加快编译速度,节省时间。

因为我不用MFC,所以这个应该是可以删掉的。

targetver.h-----定义程序运行的环境。

simpleDll2.h, simpleDll2.cpp-----vs为工程创建的,这里可以理解为接口代码写在这里。后面贴代码分析。

dllmain.cpp 里面放了dll的入口函数。目前不知道这个具体有啥用,网上查了有的说是起到初始化作用。反正我没有用到,不知道删了这个cpp可以不?反正我把入口函数全部注释掉,编译后测试仍然正确。

interior.h,interior.cpp----我自己创建的新的类,希望将一些内部函数放在这里,不希望别人看到源码。

(2)结构及源码

下面具体说说这个project的结构。我们希望将所有接口函数的实现放在simpleDll2.cpp中,这个里面的接口函数调用其它cpp比如interior.cpp中的函数实现具体的功能。当编译完成时,我们可以将接口的cpp和h文件以及lib和dll给用户,而interior源码不给,保留了自己的核心技术。

首先放上simpleDll2.h:

// The following ifdef block is the standard way of creating macros which make exporting 
// from a DLL simpler. All files within this DLL are compiled with the SIMPLEDLL2_EX
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值