需求:将一个C工程中的核心代码封装为静态文件:lib。

环境

工具:VC6.0++

语言:c

以封装一个DES工程为例

封装

(1)新建一个静态工程



(2)新建c文件和h文件







(3)挑选封装内容

在原DES项目中,挑选合适的函数或者结构体:



(4)写入c文件和h文件





编译生成lib文件,并将lib和h文件复制到原DES项目中!

(5)修改原DES源文件

添加引用:



(6)运行即可,封装成功

注意:封装的部分谨慎选择!

程序

框架

#include<stdlib.h>
#include <stdio.h>
#include <string.h>
#include <time.h> void main(void)
{
unsigned long long local_date = 0;
// char timeStr[14];
unsigned long long set_date = 20230423; time_t timer;
struct tm *tblock;
time(&timer);
tblock = gmtime(&timer); local_date = (tblock->tm_year+1900)*100;
local_date = (local_date+tblock->tm_mon+1)*100;
local_date = (local_date+tblock->tm_mday); if (local_date < set_date)
{
printf("正常使用,输入正常的代码\n ");
}
else
{
printf("请申请软件升级,联系张经理:******\n "); }
}

引用

#include "aes.h"
#pragma comment(lib,"AES_lib.lib") //放在截取代码的声明后

c代码部分封装为lib的更多相关文章

  1. iOS开发学习--纯代码 UIScrollView 无限循环的实现——代码类封装

    一个简单的利用UIScrollView 实现的无线滚动banner,下面的代码实现,因为封装问题,对两个及一下的view 支持出了一点问题(view是传参进来的,不可以生成两份),但是原理是正确的,智 ...

  2. 使用Facebook开源代码FBShimmering封装进度显示的ShimmeCircleView

    使用Facebook开源代码FBShimmering封装进度显示的ShimmeCircleView 效果图: 静态图: 源码: ShimmeCircleView.h 与 ShimmeCircleVie ...

  3. 示例:WPF中自定义StoryBoarService在代码中封装StoryBoard、Animation用于简化动画编写

    原文:示例:WPF中自定义StoryBoarService在代码中封装StoryBoard.Animation用于简化动画编写 一.目的:通过对StoryBoard和Animation的封装来简化动画 ...

  4. bmp格式图像的读写函数(对一个开源代码的封装)

    在网上看到一段读写bmp格式图像的代码,本文对这段代码分成两个函数封装起来方便使用,一个函数是读取bmp格式的图像,一个是向指定文件写入bmp格式的图像. 前提 我们不需要知道这段代码是如何读取bmp ...

  5. unity 代码C#封装为dll

    1  Visual studio软件打开后创建一个项目 2并选择类库类型 3编写简单的代码看看效果(发现会报错),主要是没有添加类库,以及using UnityEngine;引用空间 4添加类库,引用 ...

  6. java:构造方法:无参构造/有参构造 this static关键字 静态变量 静态方法 代码块 封装 静态常量。

    /*构造方法是一种特殊的方法,专门用于构造/实例化对象,形式:[修饰符] 类名(){ }构造方法根据是否有参数分为无参构造和有参构造*/public class Dog {               ...

  7. Java代码实现封装多级树结构对象

    前言: 在开发中,我们经常见到,前端展示树状结构的,这时候就需要后端去封装一个多级树结构对象,前端根据这样结构的数据去渲染数据,这篇文章讲的是如何封装成多级树结构对象. 正文: 1.先封装个树结构的对 ...

  8. 在ASP.NET里实现计算器代码的封装

    一.具体代码 Default2.aspx.cs public partial class Chapter1_Default2 : System.Web.UI.Page { protected void ...

  9. 将自己的类封装为lib的方法

    前言: Windows API中所有的函数都包含在dll中,其中有3个最重要的DLL. (1)   Kernel32.dll 它包含那些用于管理内存.进程和线程的函数,例如CreateThread函数 ...

  10. C# 深拷贝的具体代码的封装与调用

    先封装下实现方法: public class DeepClone { public static object CopyObject(Object obj) { if (obj == null) { ...

随机推荐

  1. nano编辑器保存退出

    nano的编辑器保存推出 使用 ctrl x 然后提示Y N 是否保存 写入,输入Y即可 然后再Enter 确认就可以了

  2. python获取zabbix监控项图形

    python获取zabbix图形 通过zabbix的api接口获取指定时间段的监控项图形 图片示例: 代码示例: # -*- coding: UTF-8 -*- #可根据监控项获取zabbix下所有主 ...

  3. Python基础:Python可变对象和不可变对象

    Python在heap中分配的对象分成两类:可变对象和不可变对象.所谓可变对象是指,对象的内容是可变的,例如list.而不可变的对象则相反,表示其内容不可变. 不可变对象:int,string,flo ...

  4. golang之代码检查工具golangci-lint

    日常开发中,想要保证工程中代码能够正常运行, 一般都会使用vet进行代码静态扫描, 但是每次手动执行命令有点不太方便,如果在每次开发完成之后,git提交的时候都进行下检查就OK了,想好就干!!! 这里 ...

  5. Blazor 组件库 BootstrapBlazor 中Card组件介绍

    一个较为完整的Card样子 Card组件介绍 Card组件分为三部分,CardHeader.CardBody.CardFooter. 代码格式如下: <Card> <CardHead ...

  6. Linux 上使用Systemd 来进程守护Net应用

    Systemd Service 的方式,用于在 Linux 系统上管理和运行服务.Systemd 是一个系统和服务管理器,可以自动化和简化 Linux 系统的管理和维护,包括启动.停止和管理后台服务. ...

  7. oracle中id自增长(转)

    首先,你要有一张表! CREATE TABLE example( ID Number(4) NOT NULL PRIMARY KEY, NAME VARCHAR(25), PHONE VARCHAR( ...

  8. 鸿蒙NEXT开发案例:保质期计算

    [引言] 保质期计算应用是一个基于鸿蒙NEXT框架开发的数字和文本统计组件.用户可以输入商品的生产日期和保质期天数,应用会自动计算并展示相关信息,包括保质状态.剩余天数.生产日期和到期日期. [环境准 ...

  9. 树莓派设置CPU运行的核心数为3,保留核心4号

    具体步骤:1.打开终端,输入 sudo nano /boot/cmdline.txt2.在第一行最后空一格加上isolcpus=33.保存

  10. 某开源ERP最新版SQL与RCE的审计过程

    文章首发于 https://forum.butian.net/share/134 前言 代码路径 https://gitee.com/jishenghua/JSH_ERP 软件版本 华夏ERP_v2. ...