vs如何调用openssl动态库[vs 调用动态库]

您所在的位置:网站首页 go调用openssl vs如何调用openssl动态库[vs 调用动态库]

vs如何调用openssl动态库[vs 调用动态库]

2023-04-13 06:06| 来源: 网络整理| 查看: 265

C语言vs怎么使用自己做的静态库与动态库,本人小白,请求详解

1.静态链接库

打开VS2010,新建一个项目,选择win32项目,点击确定,选择静态库这个选项,预编译头文件可选可不选。

在这个空项目中,添加一个.h文件和一个.cpp文件。名字我们起为static.h和static.cpp

static.h文件:

[cpp] view plaincopy

#ifndef LIB_H

#define LIB_H

extern "C" int sum(int a,int b);

#endif

static.cpp文件:

[cpp] view plaincopy

#include "static.h"

int sum(int a,int b)

{

return a+b;

}

编译这个项目之后,会在debug文件夹下生成static.lib文件,这个就是我们需要的静态链接库。

下面说明如何调用静态链接库。

首先需要新建一个空项目,起名为test。将之前static项目下的static.h和static.lib这个2个文件复制到test项目的目录下,并在工程中加入static.h文件。

新建一个test.cpp文件如下:

[cpp] view plaincopy

#include stdio.h

#include stdlib.h

#include "static.h"

#pragma comment(lib,"static.lib")

int main()

{

printf("%d\n",sum(1,2));

system("pause");

return 0;

}

编译运行可得结果:3

#pragma comment(lib,"static.lib"),这一句是显式的导入静态链接库。除此之外,还有其他的方法,比如通过设置路径等等,这里不做介绍。

2.动态链接库

和创建静态链接库一样,需要创建一个空的win32项目,选择dll选项。创建dynamic.cpp和dynamic.h文件

dynamic.h文件:

[cpp] view plaincopy

#ifndef DYNAMIC

#define DYNAMIC

extern "C" __declspec(dllexport)int sum(int a, int b);

#endif DYNAMIC

dynamic.cpp文件:

[cpp] view plaincopy

#include "dynamic.h"

int sum(int a, int b)

{

return a+b;

}

编译这个项目,会在debug文件夹下生成dynamic.dll文件。

下面介绍如何调用动态链接库,这里讲的是显式的调用。

在刚才的test项目下,把static.lib和static.h文件删除,把dynamic.h和dynamic.dll复制到该目录下,并在项目中添加dynamic.h文件,修改test.cpp文件为:

[cpp] view plaincopy

#include stdio.h

#include stdlib.h

#includeWindows.h

#include "dynamic.h"

int main()

{

HINSTANCE hDll=NULL;

typedef int(*PSUM)(int a,int b);

PSUM pSum;

hDll = LoadLibrary(L"dynamic.dll");

pSum = (PSUM)GetProcAddress(hDll,"sum");

printf("%d\n",pSum(1,2));

system("pause");

FreeLibrary(hDll);

return 0;

}

编译运行结果为:3

特别提示:

1.extern "C"中的C是大写,不是小写

2.如果从VS2010中直接运行程序,lib和dll需要放到test项目的目录下;如果想双击项目test下的debug文件中的exe文件直接运行的话,需把lib和dll放入debug文件夹下。

[img]如何在visual studio中使用openssl

1、使用VS2005下的Visual Studio 2005 Command Prompt进入控制台模式(这个模式会自动设置各种环境变量) 2、解压缩openssl的包,进入openssl的目录 3、perl configure VC-WIN32 尽量在这个目录下执行该命令,否则找不到Configure文件,或者指定

vs2010如何调试动态库

不可以直接调试动态库,但是可以通过调试应用程序的方法来间接调试:

在工程中另外创建一个应用程序(命令行或GUI),然后该应用程序调用DLL中的方法,并且编译时动态链接到该DLL,这样只需要将该应用程序设为启动项目,在DLL中设置的断点就能够走进去了

openssl怎么编译成动态库

Windows下编译OpenSSL动态库的方法:

1、安装ActivePerl

初始化的时候,需要使用perl

2、使用VS下的Visual Studio 20xx Command Prompt进入控制台模式

3、解压缩openssl的包,通过cd命令切换到openssl的目录

4、执行:perl configure VC-WIN32

5、执行:ms/do_ms

6、选择不同的编译结果

1) 执行:nmake -f ms/ntdll.mak

该命令生成动态库,默认使用的是MD

2) 执行:nmake -f ms/nt.mak

该命令生成静态库,默认使用的是MT

3) 想生成使用静态链接运行时库的动态库则采用下面方法

复制一个ntdll.mak并命名为ntdll_mt.mak,修改里面的 “CFLAG= /MD /Ox ..............” 为/MT ,然后重新编译,执行 nmake -f ms/ntdll_mt.mak

4) 想生成使用动态链接运行时库的静态库则采用下面方法

复制一个nt.mak并命名为nt_md.mak,修改里面的 “CFLAG= /MT /Ox ..............” 为/MD ,然后重新编译 ,执行 nmake -f ms/nt_md.mak

7.其它命令:

nmake -f ms/ntdll.mak clean // 清除编译的中间文件

nmake -f ms/ntdll.mak install // 安装 ,主要是linux下面会自动放到程序目录中 。

win10怎么运行openssl

1、安装Perl(我安装在C盘,同时我的openssl也解压在C盘)

使用命令行工具,进入C:\Perl64\eg路径下, 执行“perl example.pl”,若显示“Hello from ActivePerl!”,则说明Perl安装成功。

2、设置环境变量

打开我的电脑-属性-高级系统设置-环境变量,找到Path系统变量,点击编辑,添加E:\VS 2013\VC\bin;C:\Perl64\bin;c:\windows\system32,其中E:\VS 2013\VC\bin是我的VS2013的安装路径,根据情况自己修改。C:\Perl64\bin是Perl的安装路径,根据情况自己修改。

3、用管理员身份打开Visual Studio的开发人员命令提示,并进入openssl的目录(我的放在C盘根目录)

4、执行Configure命令(配置编译参数)

5、运行ms\do_ms命令

6、运行nmake -f ms\ntdll.mak命令进行编译生成OpenSSL动态库

此时会编译大概两分钟左右,耐心等待。

7、测试

使用命令nmake -f ms\ntdll.mak test,若成功,会出现结果:

8、可能使用的命令

测试OpenSSL动态库:nmake -f ms\ntdll.mak test

测试OpenSSL静态库:nmake -f ms\nt.mak test

安装OpenSSL动态库:nmake -f ms\ntdll.mak install

安装OpenSSL静态库:nmake -f ms\nt.mak install

清除上次OpenSSL动态库的编译,以便重新编译:nmake -f ms\ntdll.mak clean

清除上次OpenSSL静态库的编译,以便重新编译:nmake -f ms\nt.mak clean

9、总结(使用方法)

当建立工程需要使用到openssl库时,在包含目录中添加openssl安装目录的include目录, 在库目录中添加out32dll目录。

或者将OpenSSL下的include文件夹、lib文件、dll文件拷出,使用的时候包含进去就行了。

关于vs如何调用openssl动态库和vs 调用动态库的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3