小编Ioa*_*oan的帖子

C的开源嵌入式文件系统(或单文件虚拟文件系统或结构化存储)库

我不确定这样的"一般"名称是什么.我正在寻找一个库,它为我提供了一种文件格式,可以在不断扩展的单个文件中存储不同类型的二进制数据.

  • 开源,非GPL(LGPL ok)
  • C界面
  • 文件格式是单个文件
  • 使用类似POSIX的文件API(或使用其他API中的多个"blob")内的多个文件
  • 文件/结构编辑就地完成
  • 可靠的第一,高效的第二

例子包括:

以上问题:

  • whefs似乎不是很成熟,但最能描述我追求的东西
  • HDF,CDF,NetCDF是可用的(也非常可靠和快速),但它们相当复杂,我不完全相信它们支持不透明的二进制"blob"

编辑:
忘了提及,另一个相关的问题:
C/C++中的简单虚拟文件系统
另一个类似的问题:
是否有Windows复合文件的开源替代品?

编辑:
添加就地编辑的条件.

编辑:
whefs取代:whio_epfs

c filesystems open-source cross-platform compound-file

20
推荐指数
1
解决办法
8165
查看次数

可能不一致的铸造行为

GCC 4.8.0编译/为32位.

我发现案例2和案例6的行为令人困惑:

int16_t s16 = 0;
double dbl = 0.0;

s16 = (int16_t)((double)32767.0); // 1: s16 = 32767
s16 = (int16_t)((double)32768.0); // 2: s16 = 32767
s16 = (int16_t)((double)-32768.0); // 3: s16 = -32768
s16 = (int16_t)((double)-32769.0); // 4: s16 = -32768

dbl = 32767.0;
s16 = (int16_t)dbl; // 5: s16 = 32767
dbl = 32768.0;
s16 = (int16_t)dbl; // 6: s16 = -32768  
dbl = -32768.0;
s16 = (int16_t)dbl; // 7: s16 = -32768 …
Run Code Online (Sandbox Code Playgroud)

c gcc mingw-w64

5
推荐指数
1
解决办法
153
查看次数