2. 应用编程---获取系统信息与系统资源
获取系统信息与系统资源1. 获取系统信息---uname() / sysinfo() / gethostname() / sysconf()1.1 proc文件系统2. 获取系统时间---time() / gettimeofday() / ctime() / ctime_r() / localtime() / localtime_r() / gmtime() / gmtime_r() / mktime() / asctime() / asctime_r() / strftime() / settimeofday()3. 随机数---rand() / srand() / random() / srandom() / initstate() / setstate()4. 休眠---sleep() / usleep() / nanosleep()5. 堆内存---malloc() / free() / calloc() / posix_memalign() / aligned_alloc() / memalign() / valloc() / pvalloc()1. 获取系统信息—uname() / sysinfo() / gethostname() / sysconf()#includesys/utsname.hintuname(structutsname*buf);// 系统调用用于获取有关当前操作系统内核的名称和信息intsysinfo(structsysinfo*info);// 系统调用用于获取一些系统统计信息intgethostname(char*name,size_tlen);// 系统调用用于单独获取Linux系统主机名longsysconf(intname);// 系统调用用于在运行时获取系统的一些配置信息譬如页大小page size、主机名的最大长度、进程可以打开的最大文件数、每个用户ID的最大并发进程数等1.1proc文件系统2. 获取系统时间—time() / gettimeofday() / ctime() / ctime_r() / localtime() / localtime_r() / gmtime() / gmtime_r() / mktime() / asctime() / asctime_r() / strftime() / settimeofday()#includetime.h#includesys/time.htime_ttime(time_t*tloc);// 系统调用用于获取当前时间以秒为单位(返回得到的值是自1970-01-01 00:00:00 0000 (UTC)以来的秒数)intgettimeofday(structtimeval*tv,structtimezone*tz);// 系统调用用于用于获取当前时间(微秒级时间精度)char*ctime(consttime_t*timep);// C库用于将日历时间转换为可打印输出的字符串形式char*ctime_r(consttime_t*timep,char*buf);// C库用于将日历时间转换为可打印输出的字符串形式structtm*localtime(consttime_t*timep);// C库用于将日历时间转换为可打印输出的字符串形式(得到的是本地标准时间)structtm*localtime_r(consttime_t*timep,structtm*result);// C库用于将日历时间转换为可打印输出的字符串形式(得到的是本地标准时间)structtm*gmtime(consttime_t*timep);// C库用于将日历时间转换为可打印输出的字符串形式(得到的是UTC国际标准时间)structtm*gmtime_r(consttime_t*timep,structtm*result);// C库用于将日历时间转换为可打印输出的字符串形式(得到的是UTC国际标准时间)time_tmktime(structtm*tm);// C库用于将使用struct tm结构体表示的分解时间转换为time_t时间日历时间char*asctime(conststructtm*tm);// C库用于将时间转换为可打印输出的字符串形式(将struct tm表示的分解时间转换为固定格式的字符串)char*asctime_r(conststructtm*tm,char*buf);// C库用于将时间转换为可打印输出的字符串形式(将struct tm表示的分解时间转换为固定格式的字符串)size_tstrftime(char*s,size_tmax,constchar*format,conststructtm*tm);// C库用于将一个struct tm变量表示的分解时间转换为为格式化字符串(可以根据自己的喜好自定义时间的显示格式)intsettimeofday(conststructtimeval*tv,conststructtimezone*tz);// 系统调用用于设置系统的本地时间(只有超级用户root才可以设置系统时间)3. 随机数—rand() / srand() / random() / srandom() / initstate() / setstate()#includestdlib.hintrand(void);// C库用于获取随机数多次调用 rand() 可得到一组随机数序列voidsrand(unsignedintseed);// C库用于设置随机数种子随机数种子相同每次 rand() 所得到的随机数序列就是一样的4. 休眠—sleep() / usleep() / nanosleep()#includeunistd.hunsignedintsleep(unsignedintseconds);// C库用于让程序“休息”一会然后再继续工作若被信号中断则返回剩余的秒数intusleep(useconds_tusec);// C库intnanosleep(conststructtimespec*req,structtimespec*rem);// 系统调用5. 堆内存—malloc() / free() / calloc() / posix_memalign() / aligned_alloc() / memalign() / valloc() / pvalloc()#includestdlib.h#includemalloc.hvoid*malloc(size_tsize);// C库为程序分配一段堆内存voidfree(void*ptr);// C库释放堆内存void*calloc(size_tnmemb,size_tsize);// C库用来动态地分配内存空间并初始化为0intposix_memalign(void**memptr,size_talignment,size_tsize);// C库用于在堆上分配size个字节大小的对齐内存空间将*memptr指向分配的空间分配的内存地址将是参数alignment的整数倍void*aligned_alloc(size_talignment,size_tsize);// C库用于分配size个字节大小的内存空间返回指向该空间的指针void*memalign(size_talignment,size_tsize);// C库用于分配size个字节大小的内存空间返回指向该空间的指针void*valloc(size_tsize);// 系统调用用于分配size个字节大小的内存空间返回指向该内存空间的指针内存空间的地址是页大小pagesize的倍数void*pvalloc(size_tsize);// 系统调用用于分配size个字节大小的内存空间返回指向该内存空间的指针内存空间的地址是页大小pagesize的倍数

相关新闻

AI伦理落地七步法:从需求文档到上线监控的工程化实践

AI伦理落地七步法:从需求文档到上线监控的工程化实践

1. 项目概述:这不是一场技术秀,而是一次责任重构“Building a Brighter Future with AI: The Benefits of Ethical AI for Business and Society”——这个标题乍看像一份企业ESG报告的副标题,或是某场峰会的宣传横幅。但在我过去十年深度参与…

2026/7/2 10:45:01阅读更多 →
抖音背景音乐免费提取:3步掌握开源下载器的完整指南

抖音背景音乐免费提取:3步掌握开源下载器的完整指南

抖音背景音乐免费提取:3步掌握开源下载器的完整指南 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support…

2026/7/2 10:45:01阅读更多 →
抖音下载神器:5分钟学会批量下载视频、音乐和直播

抖音下载神器:5分钟学会批量下载视频、音乐和直播

抖音下载神器:5分钟学会批量下载视频、音乐和直播 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. …

2026/7/2 10:45:01阅读更多 →
HarmonyOS ArkTS集成SM2签名验签:从密钥生成到实战应用

HarmonyOS ArkTS集成SM2签名验签:从密钥生成到实战应用

1. 项目概述与核心价值最近在HarmonyOS应用开发社区里,看到不少开发者对国密算法的集成感到头疼,尤其是SM2签名验签这块。很多朋友反馈,官方文档虽然全面,但想快速上手、跑通一个完整的流程,还是得自己摸索半天&#x…

2026/7/2 11:45:14阅读更多 →
Valmet ND9106HX8-CE07 智能阀门定位器实战应用指南

Valmet ND9106HX8-CE07 智能阀门定位器实战应用指南

在工业自动化现场,控制阀往往是调节流程稳定性的最后一道关卡,但也是最容易被人忽视的环节。很多工程师都有过这样的经历:新安装的阀门在实验室测试完美,一到现场面对高温、高压或强振动的复杂工况,就开始出现振荡、响…

2026/7/2 11:45:14阅读更多 →
企业买了大模型,然后呢?知识库这道坎绕不过去

企业买了大模型,然后呢?知识库这道坎绕不过去

不少企业的AI采购流程是这样的:IT部门调研大模型,选一家供应商,签合同,部署,然后发现用不起来。 问题出在哪?大模型能力没问题,回答通用问题很溜。但一问企业自己的业务,它就开始胡说…

2026/7/2 11:45:14阅读更多 →
MediaPipe TouchDesigner插件:创意编程的视觉智能引擎

MediaPipe TouchDesigner插件:创意编程的视觉智能引擎

MediaPipe TouchDesigner插件:创意编程的视觉智能引擎 【免费下载链接】mediapipe-touchdesigner GPU Accelerated MediaPipe Plugin for TouchDesigner 项目地址: https://gitcode.com/gh_mirrors/me/mediapipe-touchdesigner 在实时视觉交互的领域中&#…

2026/7/2 11:45:14阅读更多 →
Spring Boot安全实战:防范路由暴露、SQL注入与Thymeleaf SSTI三大核心漏洞

Spring Boot安全实战:防范路由暴露、SQL注入与Thymeleaf SSTI三大核心漏洞

1. 项目概述:为什么JavaEE安全实战绕不开Spring Boot的这三大“坑”?干了这么多年Java后端开发,我越来越觉得,安全这东西,真不是靠几篇“最佳实践”就能搞定的。尤其是现在Spring Boot一统江湖,开发效率是上…

2026/7/2 11:45:14阅读更多 →
终极免费PPT计时器:告别演讲超时的完整指南

终极免费PPT计时器:告别演讲超时的完整指南

终极免费PPT计时器:告别演讲超时的完整指南 【免费下载链接】ppttimer 一个简易的 PPT 计时器 项目地址: https://gitcode.com/gh_mirrors/pp/ppttimer 你是否曾在重要演讲中因为时间失控而尴尬?是否在演示结束时发现时间远超预定?PPT…

2026/7/2 11:40:13阅读更多 →
AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

AI Coding 六个月真实ROI账本:产品经理的血泪教训,研发的冷静忠告

6个月前的2025年12月,Boris Cherny 公开宣布自己卸载了 IDE。一时间,Vibe Coding 成了全行业最热的话题。6个月后,当我们回过头来拉一份真实账本,发现事情远没有"一句话生成一个App"那么浪漫。本文从产品经理和研发两个…

2026/7/1 4:42:14阅读更多 →
审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

审计来了,数据权限全开——审计走了,怎么确保权限全部关掉?

引言:审计结束三个月了,审计员的权限还没关某城商行每年按照监管要求开展至少一次数据安全审计。审计期间,内审部门需要抽样检查各类业务数据——交易流水、客户信息、员工操作日志、权限配置记录。这些数据分布在不同系统中,审计…

2026/7/1 5:19:01阅读更多 →
塞尔达传说旷野之息存档修改器:3分钟掌握海拉鲁世界自由定制技巧

塞尔达传说旷野之息存档修改器:3分钟掌握海拉鲁世界自由定制技巧

塞尔达传说旷野之息存档修改器:3分钟掌握海拉鲁世界自由定制技巧 【免费下载链接】BOTW-Save-Editor-GUI A Work in Progress Save Editor for BOTW 项目地址: https://gitcode.com/gh_mirrors/bo/BOTW-Save-Editor-GUI 想在《塞尔达传说:旷野之息…

2026/7/2 0:03:01阅读更多 →
告别 AccessKey:多云平台 CLI OAuth 免密认证完全指南

告别 AccessKey:多云平台 CLI OAuth 免密认证完全指南

在本地开发环境使用云厂商 CLI 时,传统的 AccessKey(AK)方式需要手动创建、下载和保管密钥,不仅繁琐,还存在泄漏风险。其实,主流云平台都已提供基于 OAuth 2.0 的免密认证方案,让开发者可以通过浏览器登录一次性完成授权,CLI 自动管理临时凭证的刷新,兼顾了便利与安全…

2026/7/2 0:03:01阅读更多 →
基于13DOF传感器与PIC32MZ的高精度嵌入式导航系统设计

基于13DOF传感器与PIC32MZ的高精度嵌入式导航系统设计

1. 项目背景与核心价值在嵌入式系统开发领域,高精度定位与导航一直是极具挑战性的技术方向。传统方案往往面临成本、精度和实时性难以兼顾的困境。这个项目通过13DOF(13自由度)传感器组合与PIC32MZ2048EFH100高性能MCU的协同工作,…

2026/7/2 0:03:01阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/2 0:33:58阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/2 1:32:11阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/2 1:50:13阅读更多 →