VS2017生成DLL文件——两种方式

下面我们将用两种不同的姿势来用VS2017生成dll文件(动态库文件),这里以C语言为例,用最简单的例子,来让读者了解如何生成dll文件

姿势一:

第一步:新建一个项目

第二步:选择Windows桌面向导(这里先不要去管上面的“动态链接库(DLL)”)

 第三步:选择动态链接库,并空项目打勾√

 第四步:添加一个.c源文件

第五步:(因为这里以C语言为例子,将后缀改为.c)

第六步:在c文件中输入一个简单的函数这里的_declspec(dllexport)并不是必须的,后面一种方法将不使用_declspec(dllexport)

_declspec(dllexport) int sum(int a, int b)
{
    return a + b;
}

第七步:新建一个头文件

 第八步:在头文件中输入函数的声明

第九步:编译

第十步:Debug文件夹下的两个文件DLL.dll和DLL.lib就是我们要使用的两个文件了

因为使用的_declspec(dllexport),虽然这里我们只编译了一次,却生成了dll和lib两个文件

姿势二

第一步到第五步和上面的步骤一模一样,这里从第六步开始讲起

第六步:在c文件中输入一个简单的函数(注意这里就没有使用_declspec(dllexport))

第七步:添加一个头文件

第八步:在头文件中输入函数的声明

第九步:编译

第十步:这时在Debug文件里就可以看出两种方法的区别了,第二种方法没有加 _declspec(dllexport) 只有一个dll文件,如果我们也想要lib文件,需要额外几个步骤

生成lib文件

第十一步:点击项目——》DLL属性

第十二步:配置属性——》项目默认值——》配置类型,把动态库(.dll) 改为 静态库(.lib)

第十三步:编译

第十四步:这个时候Debug文件夹里面就多出了一个lib文件

原文地址:https://www.cnblogs.com/lanhaicode/p/10798385.html

时间: 2024-10-11 17:44:35

VS2017生成DLL文件——两种方式的相关文章

通过编码和xml文件两种方式实现tween动画

tween有四种动画效果:alpha(透明).rotate(旋转), translate(移动),scale(缩放); 可以通过硬编码和xml文件这两种方式来实现. xml实现: 第一步:在项目的res文件下面新建一个文件夹名字是anim(必须) 第二步:在anim文件夹下面新建新的xml文件,在xml文件中具体设置动画效果 第三步:在Activity中使用 AnimationUtils.loadAnimation(MainActivity.this,R.anim.xx);来获取. 1.alph

生成Webservice的两种方式(Axis2,CXf2.x)

一天之中,用了各种方式生成webservice,就是为了node.js能和程序顺利通信.最终还是用axis2成功了.工作基本完成了,现在可以总结一下. 关于生成方式,推荐使用eclipse,比较方便,具体方式,上篇博文有转载,axis2和cxf2.x都是如此.注意:不是在项目上new一个webservice,是在你要作为webservice调用类的上面new一个. 具体代码,和测试代码,均通过测试的. 一.Axis2 服务端: package cn.wang; public class Even

利用"SQL"语句自动生成序号的两种方式

1.首先,我们来介绍第一种方式: ◆查询的SQL语句如下: select row_number() over (order by name) as rowid, sysobjects.[name] from sysobjects ◆运行的结果: rowid   name 1           all_columns 2           all_objects 3           all_parameters 4           all_sql_modules 5          

Delphi 调用Dll的两种方式

unit Unit1; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender

java生成随机数的两种方式

[方法一] 调用 util 中的 Random 类:定义Random的对象 rand,用 rand.nextInt()生成随机整数 或者将 next 后面的Int改为 Double,Float ,  Long,分别对应了双精度,单精度和长整形) 注意只有 nextInt( ) 可以带参数,例如: rand.nextInt(10) 则随机生成0到9的随机数: import java.util.Random; public class Test{ public static void main(St

Android 生成keystore,两种方式

一.eclipse 中生成android keystore 建立任意一个android项目(例如:AntForAndroid) 右键AntForAndroid根目录弹出菜单->Android Tools -> Export Signed Application Package... Next > 第二步:创建密钥库keystore,输入密钥库导出位置和密码,记住密码,下次Use existing keystore会用到 选择"Create new keystore"并

Android 生成keystore的两种方式

一.eclipse 中生成android keystore 建立任意一个android项目(例如:AntForAndroid) 右键AntForAndroid根目录弹出菜单->Android Tools -> Export Signed Application Package... Next > 选择"Create new keystore"并且保存在一个目录下面(本例子保存在项目跟目录下) 输入密码,然后next 填写一些信息,填写的Alias 和 密码不要忘记了

vc导出调用dll的两种方式

一.stdcall 1. #define  DLLEXPORT _declspec(dllexport) _stdcall, int DLLEXPORT func(const char *peer,unsigned int port); 2. #define DLLIMPORT _declspec(dllimport) _stdcall, int DLLIMPORT func(const char *peer,unsigned int port); 二.extern"C"按C标准导出

c#生成dll文件并调用

一.使用vs2017生成dll文件 新建项目->类库->生成解决方案,写一个简单实现加法的dll文件 二.新建项目调用dll文件 新建项目->窗体应用程序 将MyTestDll项目的debug文件夹下的MyTestDll.dll拷贝到该项目的debug文件夹下,添加引用->浏览->MyTestDll.dll 在命名空间上加上using MyTestDll 按钮实现: 注意:要先将类实例化,再调用类中的方法. 最后实现功能: 原文地址:https://www.cnblogs.c