在C语言中,常用的文件主要是后缀为.c的源文件以及后缀名为.h的头文件。
我们通常使用头文件对函数进行声明,使用源文件对具体的函数进行实现。
有些时候会由于各种原因需要将函数的功能交给别人使用,但是又不想将具体的代码内容展示给别人看,这是我们就可以使用VS的一项功能对代码进行加密。
一、将代码生成静态库
代码内容仅作举例,加密方法均类似。
1.创建文件
为了方便加密,仅创建存放函数声明的头文件和存放函数内容的源文件。
add.h
#pragma once
#include<stdio.h>
int Add(int x, int y);
add.c
#define _CRT_SECURE_NO_WARNINGS 1
#pragma warning(disable:6031)
#include "add.h"
int Add(int x, int y)
{
return x + y;
}
2.将文件转换为静态库
将代码保存后,右键点击解决方案资源管理器中的项目名称,选择最下方的属性。
若没有看到解决方案资源管理器,可点击上方的视图并选择解决方案资源管理器,或者使用Ctrl+W+S也可打开。
在属性列表中点击配置类型右侧的下拉选项,将应用程序(.exe)更改为静态库(.lib)。
更改完之后关闭项目,这是我们就可以在项目中的Debug文件夹下看到一个后缀为.lib的静态库文件。
二、将静态库文件加载到新的项目中
1.新建项目
新建名为test的项目,建立test.c文件用来测试。
2.添加文件
为了保持代码不被泄露,我们需要复制静态库文件,为了实现静态库文件中,我们同时需要复制add.h用来声明函数。
将头文件复制到测试项目下
将静态库复制到test项目下的Debug文件夹中
3.引用文件
头文件add.h是我们自己编写的头文件,引用时需要使用双引号而非尖括号
#include "add.h"
静态库文件的引用有多种方法。
a.使用窗口的方式添加:
右键点击项目名称,选择添加->现有项,在打开的窗口中找到test项目下的Debug文件夹,并选择静态库文件add.lib#include "add.h"
b.使用命令行的方式添加
使用#pragma添加
#pragma comment(lib, "****\\test\\x64\\Debug\\add.lib")
第一个参数lib表明引用的文件类型为静态库,第二个参数为文件的所在路径
需要注意文件路径中应增加"\",防止被解读为转义字符
4.效果测试
这时我们就可以使用静态库文件进行函数功能的测试,同时也可通过头文件查看函数声明中的函数名以及所需要的参数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)