当前位置:首页 > 公众号精选 > 亚星娱乐登录老虎机
[导读]在我们皇冠电玩城官方下载开发中,通信中有些皇冠电玩城官方下载较大的数据可以压缩之后再进行传输。皇冠电玩城官方下载有很多,常用的有如下几种:

在我们皇冠电玩城官方下载开发中,通信中有些皇冠电玩城官方下载较大的数据可以压缩之后再进行传输。

皇冠电玩城官方下载有很多,常用的有如下几种:

  • lz4皇冠电玩城官方下载
  • zstd皇冠电玩城官方下载
  • xz皇冠电玩城官方下载
  • gzip皇冠电玩城官方下载

本次来介绍压缩界的速度之王——lz4压缩库。一些数据如:

lz4源码下载链接:

http://security.ubuntu.com/ubuntu/pool/main/l/lz4/

亚星娱乐官网

首先,从上面的链接中下载源码进行编译:

然后在源码根目录创建一个文件夹lz4_x86_lib:

编译lz4:

										
										make make install PREFIX=$(pwd)/lz4_x86_lib
									

得到:

lz4库交叉编译可参照:https://blog.csdn.net/nh5431313/article/details/106387168

lz4库有几套压缩、解压接口,我们使用最简单的接口:

												
												
													
														int
														LZ4_compress_default
														(const
															char* source,
															char* dest,
															int
															sourceSize,
															int
															maxDestSize)
													;
													
														int
														LZ4_decompress_safe
														(const
															char* source,
															char* dest,
															int
															compressedSize,
															int
															maxDecompressedSize)
													;
											

测试例子:

把字符串"12345678901234567890123456789012345678901234567890"进行lz4压缩,再解压,再把解压之后的内容打印出来。

编写测试代码:

左右滑动查看全部代码>>>

														
														
															// 微信公众号:亚星娱乐登录老虎机
															#include
																
																	
																
															
															#include
																
																	
																
															
															#include
																
																	
																
															
															#include
																
																	
																
															
															#include
																
																	
																
															
															#include
																"lz4.h"
															
															
																long
																long
																get_sys_time_us
																(void)
															{
															long
															long
															time_us =
															0;
															
																struct
																timeval
																sys_current_time;
															gettimeofday(&sys_current_time,
															NULL);     time_us = (long
															long)sys_current_time.tv_sec*1000000
															+ sys_current_time.tv_usec;
															return
															time_us; }
															
																int
																main
																(int
																	arc,
																	char
																	*argv[])
															{
															// 压缩
															char
															*src0 =
															"12345678901234567890123456789012345678901234567890";
															char
															dst0[64] = {0};
															int
															src0_size =
															strlen(src0) +
															1;
															int
															max_dst0_size =
															sizeof(dst0);
															int
															dst0_compress_size =
															0;
															printf("before compress = %s, bytes = %d\n", src0, src0_size);
															if
															(src0_size long
															long
															compress_start_time = get_sys_time_us();         dst0_compress_size = LZ4_compress_default(src0, dst0, src0_size, max_dst0_size);
															long
															long
															compress_end_time = get_sys_time_us();
															printf("after compress = %s\n", dst0);
															printf("compress_time = %lld us\n", compress_end_time - compress_start_time);     }
															else
															{
															printf("compress error! src0_size >= max_dst0_size\n");     }
															// 解压
															char
															src1[64] = {0};
															char
															dst1[64] = {0};
															int
															compressed_size = dst0_compress_size;
															int
															max_decompressed_size =
															sizeof(dst1);
															int
															dst1_decompress_size =
															0;
															if
															(dst0_compress_size memcpy(src1, dst0, dst0_compress_size);
															printf("before decompress = %s\n", src1);     }
															else
															{
															printf("dst0_compress_size >= max_decompressed_size\n");     }
															if
															(compressed_size long
															long
															decompress_start_time = get_sys_time_us();         dst1_decompress_size = LZ4_decompress_safe(src1, dst1, compressed_size, max_decompressed_size);
															long
															long
															decompress_end_time = get_sys_time_us();
															printf("after decompress = %s, bytes = %d\n", dst1, dst1_decompress_size);
															printf("decompress_time = %lld us\n", decompress_end_time - decompress_start_time);     }
															else
															{
															printf("decompress error! compressed_size >= max_decompressed_size\n");     }
															return
															0; }
													

编译运行:

																
																gcc -o lz4_test lz4_test.c -Llz4_x86_lib/lib -Ilz4_x86_lib/include -llz4 ./lz4_test
															

更多实例可参照源码路径下的examples。

如果觉得文章有帮助,麻烦帮忙点赞、收藏、转发,谢谢!

咱们下期见~

猜你喜欢:

亚星娱乐登录老虎机周记 | 第 8 期 AMetal

亚星娱乐登录老虎机周记 | 第 7 期 zlog

亚星娱乐登录老虎机周记 | 第 6 期 FlexibleButton

亚星娱乐登录老虎机周记 | 第 5 期 smartlink

亚星娱乐登录老虎机周记 | 第 4 期 cola_os

亚星娱乐登录老虎机周记 | 第 3 期 sys/queue.h

亚星娱乐登录老虎机周记 | 第 2 期 llgui

亚星娱乐登录老虎机周记 | 第 1 期 gear-lib

在公众号聊天界面回复 1024 ,可获取皇冠电玩城官方下载资源;回复 m ,可查看文章汇总。

点击 阅读原文 ,查看更多分享。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在这篇文章中,小编将为大家带来皇冠电玩城官方下载开发的相关报道。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。

关键字: 皇冠电玩城官方下载 皇冠电玩城官方下载开发

以下内容中,小编将对皇冠电玩城官方下载开发的相关内容进行着重介绍和阐述,希望本文能帮您增进对皇冠电玩城官方下载开发的了解,和小编一起来看看吧。

关键字: 皇冠电玩城官方下载 皇冠电玩城官方下载开发 皇冠电玩城官方下载系统

本文中,小编将对皇冠电玩城官方下载开发予以介绍,如果你想对它的详细情况有所认识,或者想要增进对皇冠电玩城官方下载的了解程度,不妨请看以下内容哦。

关键字: 皇冠电玩城官方下载 皇冠电玩城官方下载开发

在这篇文章中,小编将为大家带来皇冠电玩城官方下载开发的相关报道。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。

关键字: 皇冠电玩城官方下载 皇冠电玩城官方下载开发

由AMD Kria™ K26 SOM提供支持的视觉 AI 盒能以高速处理摄像头图像,以更为有效地检测轨道

关键字: AI 自动化 皇冠电玩城官方下载

ST的许多合作伙伴和客户都希望有更多的产品能够利用STM32Cube开发环境。开发人员很享受开发环境的图形用户界面和工具的易用性,如STM32CubeMX、免费的STM32CubeIDE以及许多软件包、驱动程序和中间件,...

关键字: 工具链 皇冠电玩城官方下载 神经网络模型

瑞典乌普萨拉,2024年2月20日 – 全球领先的皇冠电玩城官方下载系统开发软件解决方案供应商IAR宣布:推出其旗舰产品IAR Embedded Workbench for Arm功能安全版的最新版本9.50.3。此次发布进一步加强...

关键字: 皇冠电玩城官方下载 静态代码 工业自动化

这款较低成本的开发平台可帮助学生、初学者和经验丰富的设计人员采用新兴技术

关键字: RISC-V FPGA 皇冠电玩城官方下载

雅特力AT32 Workbench皇冠电玩城官方下载开发工具基于GUI图形化配置功能,协助开发人员简单轻松配置MCU引脚和周边,且快速产生初始化代码,满足设计需求和降低整体开发时间,使应用开发流程更为高效、可靠,有效缩短产品上市周期...

关键字: 雅特力 皇冠电玩城官方下载

IAR皇冠电玩城官方下载开发解决方案现已全面支持云途半导体YTM32系列MCU,携手合作伙伴共同助力高端创新应用的开发

关键字: MCU 集成电路 皇冠电玩城官方下载
关闭