我正在使用Eclipse CDT编写C程序.我想像这样初始化我的for循环......
for( int i = 0; i < 5; i++ )
Run Code Online (Sandbox Code Playgroud)
所以我将-std = c99添加到gcc命令行.这具有抛出错误的副作用:'DT_REG'未声明(在此函数中首次使用)为该行:
if( dir_ent->d_type != DT_REG )
Run Code Online (Sandbox Code Playgroud)
DT_REG在dirent.h中定义(包括在内).代码在gcc命令行上编译时没有-std = c99.我错过了什么?
会发生什么事-std=gnu99?看起来该d_type字段是非标准的(请参阅GNU libc手册页"目录条目"),因此在严格兼容模式下禁用表示目录条目类型的枚举.看起来您需要定义_BSD_SOURCE(或_GNU_SOURCE)以获取类型值.
| 归档时间: |
|
| 查看次数: |
5756 次 |
| 最近记录: |