APUE 第1-2章笔记

第1章 UNIX基础知识

每当运行一个新程序,所有的shell都为其打开3个文件描述符,stdin,stdout,stderr。如果不做特殊处理,这3个描述符都链接到终端。可以通过重定向到其他文件。

signal

用于通知进程发生了某种情况。3种处理方式:
- 忽略
- 系统默认
- 指定函数处理

进程时间

系统为进程维护了3个进程时间:
- real,进程运行的时间总量
- user,用户CPU时间,执行用户指令的时间
- sys, 系统CPU时间,执行系统调用的时间

系统调用和库函数

库函数可以替代但系统调用通常不可替代。很多库函数会调用一个或多个系统调用。
系统调用以c函数的形式给出,但其实是为每个系统调用在标准C库中设置一个具有同样名字的函数,这些函数会用系统所要求的技术调用内核服务。

第2章 UNIX标准及实现

ISO C包含于POSIX,POSIX包含于Single UNIX Specification

限制

  • 编译时限制,可在头文件中定义。
  • 运行时限制,调用一个函数来获取,利用sysconf(),pathconf(),fpathconf()。前缀SC用作标识sysconf参数,PC用于表示另两个
ISO C限制

定义于limits.h中,在一个给定的系统是不会改变的

Linux中,pathconf和fpathconf在C函数库中实现,这俩函数返回的配置限制依赖于底层的文件系统类型,如果你的文件系统不被C库数值,函数则返回一个猜测值。

对于PC_PATH_MAX,pathconf返回基于工作目录的相对路径名的最大长度,而工作目录就是其第一个参数。

不确定的值表示该限制值不确定,没有限制,但不代表是无限的。调用函数返回-1但不改变errno,则表示不确定的值。

头文件sys/types.h定义了某些与实现相关的数据类型,称为,基本系统数据类型(primitive system data type),其他头文件也有定义。用C的typedef定义的,以_t结尾。例如,size_t。

内容概要:本文深入探讨了Kotlin语言在函数式编程和跨平台开发方面的特性和优势,结合详细的代码案例,展示了Kotlin的核心技巧和应用场景。文首先介绍了高阶函数和Lambda表达式的使用,解释了它们如何简化集合操作和回调函数处理。接着,详细讲解了Kotlin Multiplatform(KMP)的实现方式,包括共享模块的创建和平台特定模块的配置,展示了如何通过共享业务逻辑代码提高开发效率。最后,文总结了Kotlin在Android开发、跨平台移动开发、后端开发和Web开发中的应用场景,并展望了其未来发展趋势,指出Kotlin将继续在函数式编程和跨平台开发领域不断完善和发展。; 适合人群:对函数式编程和跨平台开发感兴趣的开发者,尤其是有一定编程基础的Kotlin初学者和中级开发者。; 使用场景及目标:①理解Kotlin中高阶函数和Lambda表达式的使用方法及其在实际开发中的应用场景;②掌握Kotlin Multiplatform的实现方式,能够在多个平台上共享业务逻辑代码,提高开发效率;③了解Kotlin在不同开发领域的应用场景,为选择合适的技术栈提供参考。; 其他说明:本文不仅提供了理论知识,还结合了大量代码案例,帮助读者更好地理解和实践Kotlin的函数式编程特性和跨平台开发能力。建议读者在学习过程中动手实践代码案例,以加深理解和掌握。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值