一个有趣的小问题:fildes 究竟是 fields 的拼写错误,还是另有含义

版权声明:本文为博主原创文章,未经博主允许不得转载哦 (ÒωÓױ) https://blog.csdn.net/u012814856/article/details/82349797

一、引言

最近初学 Linux,在看项目的陈年代码的时候,有个变量的命名让我印象非常深刻:

fildes

没有 Linux 开发经验的我,下意识以为这是 fields 也就是领域等等含义的单词的拼写错误。

直到今天,我看到了 《Linux 程序设计第四版》的第三章,讲解低层文件访问的时候,作者给出了 write 函数的函数原型:

#include <unistd.h>
size_t write(int fildes, const void *buf, size_t nbytes);

注意,这里的第一个参数,也就是指代文件描述符的参数被命名为了 fildes

难道是中文翻译错了?

我特意去查看了下 《Linux 程序设计第四版》 的英文原版,发现并没有错误。

二、解释

在我看到了 文件描述符 这个词汇的英文原词的时候,我才恍然大悟:

# 文件描述符
fildes == file descriptor

原来 fildesfile descriptor 的各取前三个字母的缩写,而并非我所以为的 fields 的拼写错误,尽管这两个单词是那么的相似:)

恍然大悟之后,写就了这篇博客,希望能够给广大网友带来同样的恍然大悟的感觉~~~

Enjoy It:)

猜你喜欢

转载自blog.csdn.net/u012814856/article/details/82349797