对程序员的一种保护(静态库的使用)

本期介绍🍖 主要介绍:静态库的用处,如何生成静态库,…

在这里插入图片描述

本期介绍🍖

主要介绍:静态库的用处,如何生成静态库,若何反过来使用静态库内的代码👀。


目录


静态库的用处

先给大家讲个故事:

从前有一个程序员A,他业余时间写出了一个非常牛逼的游戏引擎的代码。接着现在程序员A想把自己写的代码卖给一家游戏公司B。所以A就把他所写的游戏引擎的所有代码一股脑的发给了B公司,结果发生B公司找几个他们公司里优秀的程序员把A的代码复刻一份出来,然后说这是我们公司内部编写出来的游戏引擎,并且向法院起诉A偷窃公司核心机密。这时A悔的肠子都青了。

那该如何避免发生A程序员这种情况呢?其实只要能让B公司能使用到A所写的代码的功能,但无法获取其中有效的源代码就行了,也就是说我A只出售使用权,但不卖源代码。那怎么才能在不暴露源代码的前提下,使得别人能够使用该代码的功能呢?这里我给出一个方法:把源代码编译成静态库,然后再把头文件和静态库一起卖个别人,这样别人就只能使用而不能窃取了。因为源代码编译成静态库后,静态库里的东西已经是二进制代码了,是看不懂的。这样就能起到的保护程序员原创代码不被抄袭的风险。


生成静态库

现在我假设我写了一个实现加法的源代码 ADD.c 和 ADD.h 。那该如何生成静态库呢?

1.先创ADD函数的定义放在源文件里,然后再编写ADD函数的声明放在头文件里。
在这里插入图片描述

2.右击ADD项目的名字,然后会跳出来一个窗口,接着点击属性
在这里插入图片描述

3.执行完上一步将会跳出如下窗口,接着点击“常规”,然后点击“配置类型”,然后将“应用程序”改成“静态库”就ok了。
在这里插入图片描述

4.按住快捷键:ctrl+f5(开始编译),但会提示错误不过没啥大关系,因为生成的这个ADD.lib的文件不是应用程序所以运行不起来,这个 .lib 文件就是ADD的静态库
在这里插入图片描述

5.下面我们去打开看看这所谓的静态库里面存放的到底是什么。
在这里插入图片描述
在这里插入图片描述
可见是一堆的乱码,所以其实把静态库卖出去也是没什么太大的关系的。


如何使用静态库内的代码

1.先找到之前的静态库lib文件,和ADD的头文件。并把它两拷贝到sum的文件里头。
在这里插入图片描述

2.在编译器中添加add的头文件。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.导入静态库,编译执行成功:
在这里插入图片描述
在这里插入图片描述
这样就能够使用该静态库中代码的功能了。


在这里插入图片描述

这份博客👍如果对你有帮助,给博主一个免费的点赞以示鼓励欢迎各位🔎点赞👍评论收藏⭐️,谢谢!!!
如果有什么疑问或不同的见解,欢迎评论区留言欧👀。

本文来自网络,不代表软粉网立场,转载请注明出处:https://www.rfff.net/p/4601.html

作者: HUI

发表评论

您的电子邮箱地址不会被公开。

返回顶部