错误 是来自标准C语言库的头文件(标头.h),其中定义了宏以显示错误。 那些了解C的人将会知道它,并且会知道在屏幕上显示系统产生的错误代码以及与该错误相关的描述的有用性。
errno变量告诉我们是否有任何系统调用失败(系统调用)。 例如:
#include <stdio.h&>
#include <fcntl.h&>
#include <stdlib.h>
#include <string.h>
#include <errno.h> //Cabeceras de bibliotecas includes en el programa
const char *NOM_FICHERO= “/tmp/ejemplo.txt”; //Supuesto fichero que no existe
int main (int argc, char **argv)
{
int fd = 0;
printf(“Abriendo %s…\n”, NOM_FICHERO);
fd = open(NOM_FICHERO, O_RDONLY, 0644);
if (fd<0) {
perror(“Error abriendo fichero”); //Nos muestra los mensajes de error
printf(“Error abriendo fichero: %s\n”, strerror(errno));
}
return EXIT_SUCCESS;
}
事实是errno.h只是介绍我现在写的以下段落的借口。 许多人会记得 SCO与Linux,自上合组织公司以来,由于 Unix许可证,他们针对IBM,Novell等展开了一次讨伐,指责他们已将Unix代码转移到Linux内核。
SCO于19年2003月XNUMX日向某些公司发布了通知,声称这些errno.h文件是从Unix复制而来的,未经适当授权就可以在Linux上使用。 相同 Linus Torvalds的 他否认了这一点,并表示他自己重写了errno.h的Linux版本的代码。
不管是真的,SCO都一次又一次地输掉了在法院提起的诉讼,这些未结案件已结案,以赞成Linux的公司为受益人。 据SCO称,所涉及的公司是罪犯,他们已经转移了部分Unix代码(特别是部分Unix代码)。 AT&T Unix系统V)到Linux。
对这些攻击既好奇又可疑,尤其是考虑到 微软 自从微软将其操作系统Xenix(Microsoft许可的Unix版本)授予SCO以来,它一直是SCO 25%的所有者,协议中包括购买股份。 实际上,两家公司之间截获的电子邮件提醒微软注意Linux的巨大潜力及其带来的威胁。
成为第一个发表评论