1

Mac コンピュータに接続された USB デバイスにある生データ ファイルにデータを書き込む単純な Mac C プログラムがあります。生データ ファイルは、FAT32 ファイル フォーマットのデバイスに保存されます。デバイス上で実行されている Linux C プログラムは、 を使用して同じファイルを開き、fopen()Mac プログラムによって書き込まれた同じデータを を使用して読み取りますfread()

fread()とのfwrite()操作が遅すぎて、更新に時間がかかります。

Mac C プログラム:

fp=fopen("/Volumes/Untitled/rawdatafile","rb+");

fcntl(fileno(fp),F_NOCACHE,1);

共有モードでファイルを開くための他の API またはフラグはありますか?

4

1 に答える 1

0

これを安全に行うことはできません。これを十分に長く実行していないため、データが破損していないだけです。USB デバイスでは、USB に接続されている場合はファイル システムをアンマウントする必要があり、USB ホスト (つまり、Mac または PC) がアンマウントするまで再マウントしないでください。

デバイスとホストから同時に読み取り/書き込みできるようにする場合は、2 つの主なオプションがあります。

  1. メディア転送プロトコル
  2. ネットワーク デバイスのふりをして、リンクローカル ネットワーク共有を提供する
于 2012-08-02T21:41:54.523 に答える