作者回复: 可以尝试看看 musl 中的实现:http://git.musl-libc.org/cgit/musl/tree/include/tgmath.h
作者回复: 回答正确!
作者回复: musl 其实跟我们常用的 glibc(GNU C Library)类似,两者同属于 C 标准库(libc)的一种实现。只是相对来说,glibc 实现较为臃肿,健壮性稍差,存在的潜在漏洞也多。但是实现的功能众多(有很多 C 标准以外的),且使用也很广泛。而 musl 则旨在提供一个轻量级的、ABI 稳定的、且适用于移动设备和嵌入式系统的 libc 实现。它支持的功能上则对标 C 标准。
作者回复: 会的哈,我们会在下一个模块中介绍的。
作者回复: 可以先看看前半部分命令 “pgrep string” 打印的内容是什么。
作者回复: 是在什么系统上测试的?
作者回复: 很好的问题!需要注意的是,实际上包括 isalpha 在内的一系列字符判断函数,它们的行为是在满足函数格式要求的情况下返回“非零值”,否则返回 0。而这里的非零值具体是多少则视不同的编译器而定。
作者回复: “数组形式定义,应该是在栈上直接定义局部变量吧?”是的哈。我们这里文中提到的“复制”是指对同样的这段数据,编译器会通过其他的方式使用,并不是说在机器指令层面有复制的过程。
作者回复: 这里实际上就是对 tgmath.h 中的这些支持泛型参数的宏函数简称哈。
作者回复: 👍🏻