Windows 98 は、XP や最新の Windows バージョンと同様に、Win32-API を使用しています。たとえば、VirtualAllocEx() などの API がありません。これらの API を使用せず ( https://msdn.microsoft.comに各 API の最小要件セクションがあります)、ネイティブ コードを記述した場合、プログラムは Windows 98 でも動作するはずです。Visual Studio に問題がある場合は、古き良き gcc と Eclipse、Code::Blocks などの IDE を使用できます。ただし、64 ビット プラットフォーム用にコンパイルしないようにしてください。そうしないと、Windows 98 で動作しない PE+ バイナリが得られます。
編集:
コメント セクションの議論によると、いくつかの更新があります。32 ビット用の PE (最新の Windows ボックスでコンパイル) は Windows 98 と互換性がありますが、ランタイム ライブラリが原因で Visual Studio に問題がある可能性があります。別の方法として、次のことを試みることができます
- ランタイムなしでコンパイル
- msvcrt.dll を使用するため、MingW を使用します。
それにもかかわらず、MSDN の更新により、どの Windows バージョンが特定の API をサポートしているかを確認することは依然として困難です。この時点で、MSDN の古いコピーが役に立ちます。