エラー番号h エラーを表示するためにマクロが定義されている標準C言語ライブラリのヘッダーファイル(ヘッダーの.h)です。 Cを知っている人は、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、SCO会社以来、 Unixライセンスは、IBM、Novellなどに対して、UnixコードをLinuxカーネルに転送したと非難する十字軍を開きました。
19年2003月XNUMX日、SCOは、errno.hファイルが適切な許可なしにLinuxで使用するためにUnixから逐語的にコピーされたと主張する通知を特定の企業に公開しました。 同じ リーナス·トーバルズ 彼はこれを否定し、彼自身がLinuxバージョンのerrno.hのコードを書き直したことを示しました。
それが真実であるかどうかにかかわらず、SCOは法廷で課された訴訟をXNUMXつずつ失い、プロLinux企業を支持して未解決の訴訟を終結させました。 SCOによれば、関与した企業は、Unixコードの一部(特に AT&T Unix System V)Linuxへ。
これらの攻撃に興味があり、疑わしい、特にそれを考慮すると Microsoft MicrosoftがオペレーティングシステムXenix(MicrosoftによってライセンスされたUnixのバージョン)をSCOに提供し、契約の中に株式の購入があったため、数年間SCOの25%の所有者でした。 実際、Linuxの大きな可能性とそれが表す脅威についてマイクロソフトに警告するXNUMXつの会社の間で傍受された電子メールがあります。