找回密码
 注册
关于网站域名变更的通知
查看: 351|回复: 1
打印 上一主题 下一主题

Linux C高级编程 文件操作之系统调用(上)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-8-7 10:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 mytomorrow 于 2019-8-7 10:45 编辑 % U8 u! ~5 x# C
& `" Z2 ^. {9 A* ^: _2 ^! q/ N

Linux C高级编程文件操作之系统调用(上)


1 ~/ _5 J# h! D0 K  e/ b7 u/ }& r- R6 e

/ _5 T4 o# w( x" g. W2 M        库函数是一些完成特定功能的函数,一般由某个标准组织制作发布,并形成一定的标准。使用库函数编写的函数一般可以应用于不同的平台而不需要做任何修改,具有很好的可移植性。
( p& U; w: {7 ^) h7 Y1 x2 d, W( l) b* K4 l

% V' P' v4 c2 v( \. U9 E        系统调用函数与操作系统直接相关,不同的操作系统所使用的系统调用可能不太一样,因此,如果两个操作系统差异很大,系统调用函数的可移植性就不高。例如windows采用的系统调用的应用程序不能直接在Linux下编译运行。
7 S7 W6 o4 {$ }/ K
# a/ D; _1 @" U6 t. o* A
  R. D# i# W' ?& R
        之所以使用系统调用是因为系统资源的有限性以及内核管理的方便,系统调用将上层内的应用开发与底层的硬件实现分开,上层应用不需要关注底层硬件的具体实现。Linux的系统调用使用软中断实现,使用系统调用后,该程序的状态将从用户态切换到内核态。库函数实现最终也要调用系统调用函数,但它封装了系统调用操作,从而增加了代码的可移植性。- m7 o/ y6 {, v  A$ |% \6 ~

: N) F! i% E% V0 H7 G' {& ^

  s& C  E( _% @% D+ l% g' d% q* c1、open()函数* `; Y8 r2 P/ N* f, \! v
, H% q4 ?% y, X" N3 w

2 \( K$ i0 ^* Q
游客,如果您要查看本帖隐藏内容请回复
3 P3 W/ j- B% y5 p, Z8 ^! x
8 g3 ^# C- Y; j
# j8 x4 ^! k( c$ V) `

! s  ^8 d2 B8 s8 N+ l2 L
& E' C, b, p8 i/ T& J% w6 X( a

$ ?! ]3 `7 L* O+ l2 f3 E
7 W7 b4 @4 I. x# ?" q2 ~! h7 A

) f: K8 u6 F/ U" j7 j4 g8 Z! K
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-25 01:06 , Processed in 0.140625 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表