首页 > 解决方案 > 关于linux shell的函数和C函数的关系()

问题描述

例如,我认为shell中的ln命令是由C提供的link()和symlink()实现的,所以我检查了ln的src,但似乎没有使用它们。

标签: c++clinuxshell

解决方案


是的,很多 Linux 命令都是用 C 编写的;并且其中许多 C 程序可能使用 C 库函数,如link()symlink()。各种 Linux shell(例如 sh、csh 和 bash)本身都是用 C 编写的,并且也使用 C 库调用。

然而...

link() 和 symlink() 都是 POSIX 兼容的包装函数,它们不是“标准 C 库”的一部分。因此,“ln”命令不使用它们。有关更多详细信息,请参见unistd.h

另请参阅C 标准库中包含的内容


推荐阅读