C语言隐藏自己源码成lib静态库的和使用lib静态库的方法

news/2024/12/23 1:15:54/

首先从头开始创建一个新项目:

 

 

 

 

这个sub.c内的文件内容很简单,就写一个减法函数

// 定义一个减法函数,传入两个整数,返回差
int sub(int x, int y) {
    return x - y;
}

// 定义一个减法函数,传入两个整数,返回差
int sub(int x, int y) {return x - y;
}

 再添加一个sub.h的头文件

 头文件中的内容也很简单,就是声明减法函数

#pragma once/*
这里写对这个函数的说明文档,这是一个减法函数,传入两个值,返回差。
*/int sub(int x, int y);   // 生命sub这个函数

好了,到这里我写的这个简单的程序就写完了,只实现了一个简单的小功能,现在有人想买我的代码,我想卖但是我又不想别人知道我的源码,具体的实现过程是什么?所以就出现了下面的内容,把自己的代码,编译成静态库的文件,这样别人就看不到我的源码了,功能还不影响使用。具体方法如下:

 

 然后在sub.c程序下运行一下程序,在输出列表中就有了test.lib的文件目录

 然后去这个目录下拷贝生成的文件,将sub.h头文件和这个test.lib文件卖给对方就行了。

 下面就说说对方收到了你的文件要怎么使用了?

首先将两个文件放到自己的工程目录下。

 然后编写自己的程序代码:

#include"stdio.h"
#include"sub.h"#pragma comment(lib, "test.lib")int main() {int x = 20;int y = 12;int c = sub(x, y);printf("%d", c);return 0;
}

经过上面的步骤咱们就正常的调用了别人卖给咱们的功能代码了,同时咱们还看不到别人的源码,功能还不限制使用。


http://www.ppmy.cn/news/90117.html

相关文章

软件测试技术才是王道,43岁照样拿到年薪70W+,太强了...

最近挺丧的, 可能是之前弦绷的有点紧,现在有点受不了了。 所以突然就泄了气,每天忙完工作的事后就躺在家里打游戏。其实感觉每年都有一段时间是这样丧的。所以我自己其实并不是特别努力的类型,我没办法一直绷着弦的去卷&#xff0…

MongoDB常见知识(一)

1、MongoDB基础 (1)MongoDB是什么 MongoDB是一个基于分布式文件存储的开源NoSQL数据库系统,MongoDB提供了面向文档的存储方式。 NoSQL,泛指非关系型的数据库。 (2)MongoDB的存储结构是什么 主要由如下三个单…

Qt推流程序(视频文件/视频流/摄像头/桌面转成流媒体rtmp+hls+webrtc)可在网页和播放器远程观看

一、前言说明 推流直播就是把采集阶段封包好的内容传输到服务器的过程。其实就是将现场的视频信号从手机端,电脑端,摄影机端打包传到服务器的过程。“推流”对网络要求比较高,如果网络不稳定,直播效果就会很差,观众观…

SSM 如何使用 Kafka 实现消息队列?

SSM 如何使用 Kafka 实现消息队列? Kafka 是一个高性能、可扩展、分布式的消息队列系统,它支持多种数据格式和多种操作,可以用于实现数据传输、消息通信、日志处理等场景。在 SSM(Spring Spring MVC MyBatis)开发中…

一文了解国内外电子后视镜(CMS)现行法规标准

摘要: 本文小编分享一篇整合了国内外对CMS的安装及功能性做出要求的相关标准与法规。感兴趣的朋友可以专门去搜索学习。 前言:随着GB15084-2022的即将正式实施,以摄像头屏幕组合取代传统光学后视镜的新一代电子后视镜CMS相关车型将被允许上路…

ChatGPT:人工智能助手的新时代

ChatGPT:人工智能助手的新时代 文章目录 ChatGPT:人工智能助手的新时代引言ChatGPT的原理GPT-3.5架构概述预训练和微调过程生成式对话生成技术 ChatGPT的应用场景智能助理客服机器人虚拟角色教育辅助创意生成个性化推荐 ChatGPT的优势ChatGPT的使用技巧与…

CAD数据库下包含的表记录

AutoCAD数据库(AcDb)是一些存储在数据库中的对象的集合。 数据词典,符号表是存储数据库对象的容器(Container Object),用于组织和管理数据库对象。这两种容器对象都有与之相关的符号名,用字符来表示。 符号表是固定的…

NetApp FAS 混合闪存阵列协助您建构简单易用、聪明智慧、值得信赖的储存基础架构

NetApp FAS 混合闪存阵列 主要优势 1、简单易用:节省您宝贵的时间、金钱和人力 •几分钟内完成储存资源配置。 •以获证实的效率技术降低成本。 •可在单一系统上管理档案与区块资料。 2、聪明智慧:灵活因应瞬息万变的业务需求 •以不中断营运的方式扩…