当前位置: 首页 > news >正文

linux文件,IO,缓存,动\静函数库

1.文件IO与标准IO的区别

文件IO:直接调用内核提供的系统调用函数,头文件是unistd.h

标准IO:间接调用系统调用函数,头文件是stdio.h

缓存的概念

1.程序的缓存就是用户空间的缓存。

2.每打开一个文件,在内核中开辟一个缓存即为内核空间缓存。

3.标准IO的库也有一个缓存为库缓存。

库缓存的特点

1.遇到 \n 将库缓存写到内核缓存,即调用系统调用函数。

2.库缓存写满,才会调用系统调用函数。

2.三类读写函数

1.行缓存,换行符(\n)或写满缓存,调用系统调用函数

读:fgets,gets,printf,fprintf,sprintf 写:fputs, puts, scanf

2.无缓存, stderr

3.全缓存, 写满在调用系统调用函数

读:fread fwrite

3.静态库和动态库

静态库:在编译时将库编译进可执行程序中

动态库:在运行时将库加载到可执行程序中

静态库的制作:

1.生成目标文件: gcc file.c -c -o file.o

2.静态库创建:ar -cr -o libfile.a file.o

3.静态库的编译: gcc -o main main.c -L. -lfile

动态库的制作

1.生成目标文件:gcc file.c -c -o file.o

2.动态函数库创建:gcc -fpic -shared -o libfile.so file.o

3.动态库的编译:gcc -o main main.c -L. -lfile

在执行main之前 sudo mv libfile.so /usr/lib 意思是将动态函数库放到/usr/lib的目录中去,以此在执行的时候方便查找动态函数库的使用。

http://www.jsqmd.com/news/615619/

相关文章:

  • 低代码选型:为什么「开源技术栈」对企业长期发展更有利?
  • 汉中买品牌瓷砖优选东鹏瓷砖(陕西万禾建设工程有限公司汉中分公司) - 一个呆呆
  • 粉紫系超人气月兔铃仙仁
  • vLLM-v0.17.1技术解析:流水线并行在vLLM中的实现与通信开销
  • 中国半导体展哪家好?2026年中国半导体展助你高效参展观展 - 品牌2026
  • 免疫治疗新视角:CD47 (分化簇47) 信号通路机制与药物研发技术综述
  • FastAPI子应用挂载:别再让root_path坑你一夜卤
  • 国内半导体展会哪家好?全产业链对接平台,助力芯片国产化新突破 - 品牌2026
  • 世界第一个开源可商用 .NET Office 转 PDF 工具/库 - MiniPdf淌
  • 麦橘超然(majicmixRealistic_v7 AI大模型)
  • 别再用临时表了!PHP大文件CSV/Excel导入性能提升370%的7步重构法(附内存监控截图)
  • 【51 单片机入门到进阶】08 入门:51单片机定时器0/1使用详解
  • CD49d (整合素α4) 靶点深度解析:分子机制、临床药物及研发趋势
  • 普通人也能轻松掌握!5个技巧让你玩转AI大模型,从入门到精通的实用指南!
  • GLM全自动开发企业知识库--对接第三方OA数据
  • 2026年4月高压热水清洗机场景化精选推荐:电动高压清洗机、船用高压清洗机、超高压清洗机、除锈高压清洗机、高压冷水清洗机选择指南 - 优质品牌商家
  • microDS3231:轻量级嵌入式RTC驱动库设计与实践
  • 2025年IEEE TITS,基于片段式知识迁移的多任务容量受限车辆路径问题,深度解析+性能实测
  • OpenClaw夜间自动化:Gemma-3-12b-it监控网站更新并邮件提醒
  • OpenClaw自动化测试实践:gemma-3-12b-it驱动Python脚本批量执行
  • 2026年AI热点:阿里新模型领跑行业
  • Blazor组件化演进终极指南:2026年必须掌握的5大架构范式与3种反模式规避清单
  • 等保.三级要求下Redis 安全测评应该怎么做?瓮
  • SOAP 语法详解
  • JPEGENC:4KB RAM下运行的嵌入式JPEG编码器
  • 系统设计面试通关秘籍:从场景分析到微服务拆分的核心思路
  • DDD难落地?就让AI干吧! - cleanddd-skills介绍币
  • 和AI一起搞事情#:边剥龙虾边做个中医技能来起号冠
  • 大模型时代,这5大热门职业让你月入50K!错过等一年!
  • 香港最好的数字资产审计公司是哪一家?