0
点赞
收藏
分享

微信扫一扫

Windows循环检测,直到网络通/断后执行指定命令

        C语言中没有C++语言中map键值对容器的数据结构,为在C语言中提供一种hashmap数据结构,并提供hashmap的操作方法,具体包括新建、释放、清除、获得缓存数据量、设置数据、获取数据、浏览数据等操作,基于hashmap的开源代码很丰富,本文不介绍如何设计hashmap的具体函数,仅介绍linux环境下开源hashmap的使用与测试,具体测试了两种键值(字符串键值和数值键值)。具体操作流程如下所述:

1.首先在github下载hashmap的开源源码压缩包,下载路径和下载方法如下所示:

https://github.com/tidwall/hashmap.c/tags

图1 hashmap源码下载

2.拷贝hashmap的源码压缩包到工作目录,并解压hashmap源码,如下图所示:

图2 hashmap拷贝与解压

3.在解压的目录下新建main.c的主控程序,主控程序中定义了user和student两种类型的结构体,其中user结构体类型用于验证hashmap的数值键值,student结构体类型用于验证hashmap的字符串键值。具体程序如下所示:SourceURL:file:///home/lsl/work/gitwork/record_debug/05_ubuntu_linux/服务器ubuntu系统维护配置、调试记录.docx

图3 测试的main.c程序内容

4.新建Makefile文件,如下图所示:

图4 Makefile文件

5.新建编译脚本build.sh,如下图所示:

图5 编译脚本

6.给编译脚本添加可执行权限,并运行编译脚本,生成可执行文件如下图所示:

图6 运行编译脚本生成可执行文件

7.运行可执行文件,验证hashmap的新建,写入,读取和释放。

图7 hashmap写入/读取结果

结论:

  1. hashmap的验证在ubuntu20.4的linux上编译,运行和测试,如使用其他版本linux系统,编译结果可能存在差异;
  2. hashmap的源码使用开源代码,不同的hashmap源码验证结果可能存在差异。
举报

相关推荐

0 条评论