0

まず、「windows unistd.h」とは、ここにある例を意味します。「windowsのunistd.hの代わりになりますか?

knetfile.cをマッサージして、windows64用にコンパイルできるようにしようとしています。私の最初のステップは、unistd.hインクルードを削除することでした。これは、Windowsでは使用できないためです。

致命的なエラーC1083:インクルードファイルを開くことができません:'unistd.h':そのようなファイルまたはディレクトリはありません

それで、私は上にリンクされたドロップイン交換でサイコロを振ると思いました。ただし、一連のエラーと警告が表示されるため、これは明らかに機能していません。

knetfile.c(189):エラーC2036:'void *':不明なサイズknetfile.c(236):警告C4267:'関数':'size_t'から'int'への変換、データが失われる可能性があります

knetfile.c(264):警告C4244:'=':'SOCKET'から'int'への変換、データが失われる可能性があります

knetfile.c(271):警告C4244:'=':'SOCKET'から'int'への変換、データが失われる可能性があります

knetfile.c(300):警告C4244:'=':'__int64'から'int'への変換、データが失われる可能性があります

knetfile.c(335):エラーC2143:構文エラー:';'がありません 'const'の前

knetfile.c(336):エラーC2065:'p':宣言されていない識別子

knetfile.c(336):エラーC2100:不正な間接参照

knetfile.c(336):エラーC2065:'p':宣言されていない識別子

knetfile.c(337):エラーC2065:'p':宣言されていない識別子

knetfile.c(337):エラーC2100:不正な間接参照

knetfile.c(337):エラーC2065:'p':宣言されていない識別子

knetfile.c(337):エラーC2100:不正な間接参照

knetfile.c(337):エラーC2065:'p':宣言されていない識別子

knetfile.c(338):エラーC2065:'p':宣言されていない識別子

knetfile.c(338):警告C4047:'function':'const char*'間接レベルが'int'と異なります

knetfile.c(338):警告C4024:'strtoint64':仮パラメーターと実パラメーターの異なる型1

knetfile.c(378):警告C4244:'=':'__int64'から'int'への変換、データが失われる可能性があります

knetfile.c(410):警告C4244:'=':'SOCKET'から'int'への変換、データが失われる可能性があります

knetfile.c(430):警告C4244:「初期化中」:「int64_t」から「off_t」への変換、データが失われる可能性があります

knetfile.c(520):エラーC2036:'void *':不明なサイズ

knetfile.c(537):警告C4244:'function':'int64_t'から'long'への変換、データが失われる可能性があります

knetfile.c(544):警告C4244:'return':'int64_t'から'off_t'への変換、データが失われる可能性があります

knetfile.c(553):警告C4244:'return':'int64_t'から'off_t'への変換、データが失われる可能性があります

knetfile.c(565):警告C4244:'return':'int64_t'から'off_t'への変換、データが失われる可能性があります

これをクリアするマクロまたはtypedefの小さなグループが欠落していると思います。助言がありますか?

4

1 に答える 1

2

最初のエラー

knetfile.c(189):エラーC2036:'void *':不明なサイズ

単に正しいです、そしてコードは間違っています。ヘッダーファイルをいじくり回しても、voidポインターに対してポインター演算を実行できないという事実は変わりません。

5番目のエラー

knetfile.c(335):エラーC2143:構文エラー:';'がありません 'const'の前

も正しいです。Cでは、すべての宣言は、ステートメントの前のブロックの先頭にある必要があります。おそらくそれはC99で変更されましたが、MicrosoftコンパイラはC99をサポートしていません。

于 2012-10-22T22:34:20.227 に答える