「このマシンでは使用できないヘッダーファイルを使用しています」を修正する最初のステップは、それらのファイルを削除し、コードをコンパイルして、どこが壊れているかを確認することです。ほとんどの場合、コンパイラエラーが発生するため、見つけることができるはずですそれは非常に簡単です。
conio.h
はコンソール io を許可しますが、これを Linux に修正するには少し作業が必要になる場合があります。正確に何を使用しているかによって異なります。
windows.h
本質的にすべての Windows API 関数と膨大な数の型宣言を提供し、それらの多くがあるため、説明するのははるかに複雑です。そのほとんどは、おそらくあなたのプログラムが [直接] 使用することはありません。
「どこにも存在しないヘッダーファイルを使用する」ことに関する一般的な問題の 1 つは、ヘッダーファイルで宣言されているいくつかの型を使用してしまうことです。たとえば、windows.h
LONG、HANDLE、およびその他の膨大な数の型を宣言します。これらの型は、他の場所の構造体や関数宣言で使用されます。削除windows.h
すると、あらゆる種類の問題が発生します。
私のアプローチは、常に最初の問題を最初に修正してから、再度コンパイルすることです。その理由は、コンパイラーは、何か奇妙なものが現れると、しばしば「混乱」するからです。これは、友達に家までの車の乗り方を教えて、「左側に大きな樫の木が見えたら、次の右に曲がる」と言うようなものです。ご存知のように、樫の木は枯れかけていたため伐採され、もうそこにはありません。それで、あなたの友人はかつて樫の木があった場所を運転し、道路に沿って別の樫の木の後に右折します。もちろん、あなたの友人は正しい道から何マイルも離れており、新しい指示がなければあなたの家を見つけることは決してないので、今ではすべてのその他の指示は完全に役に立たない. コンパイラがソースファイルに「驚くべき」または「欠落している」ビットを見つけた場合も、同じことが起こります。したがって、最初のエラーを修正してから、コンパイル、修正、コンパイルを繰り返すと、通常、コードがコンパイルされるポイントに到達します。場合によっては、次のような新しい関数を作成する必要があります。
int GetTimeOfDay(void)
{
printf("%s:%d:%s: doesn't work yet, exiting...", __FILE__, __LINE__, __func__);
exit(1);
return 0; // to keep compiler happy.
}
すべてのコードのコンパイルが完了したら、コンパイルするために追加した関数を実装/置換する方法を考え始めます。