は、私は以下のコンパイルから、次のエラーを取得していますエラー:フィールド「myaiocbは」不完全な型
任意のアイデアしてください?次のように
struct cache_ent {
struct aiocb myaiocb;
#ifdef _LARGEFILE64_SOURCE `enter code here`
#if defined(__CrayX1__)
aiocb64_t myaiocb64;
#else
struct aiocb64 myaiocb64;
#endif
#endif
long long fd;
long long size;
struct cache_ent *forward;
long long direct;
char *real_address;
volatile void *oldbuf;
int oldfd;
size_t oldsize;
};
エラーメッセージがある: - >エラー:フィールド「myaiocb」不完全型構造体aiocbのmyaiocbを有します。 ^ - >エラー:フィールド 'myaiocb64'に不完全な型struct aiocb64 myaiocb64;があります。/*大容量ファイルモードで使用する場合*/
「aiocb」とは何ですか?その宣言はどこですか? – ForEveR
構造体は別のヘッダファイルで宣言されています。このファイルにインポートします。http://man7.org/linux/manage/man7/aio.7.html – ijuio
typedef struct aiocob { int aio_fildes;/*ファイル記述子*/ off_t aio_offset;/*ファイルオフセット*/ volatile void * aio_buf;/*バッファの場所*/ size_t aio_nbytes;/*転送の長さ*/ int aio_reqprio;/*リクエスト優先度*/ struct sigevent aio_sigevent; int aio_lio_opcode; // lio_listio()のみ*/ }; – ijuio