Nim:包含Posix的C头

时间:2014-07-01 19:13:08

标签: nimrod nim

我试图利用Nim Posix库,特别是文件系统统计信息:

http://nim-lang.org/docs/posix.html#Stat

从我对其他Nim模块的测试中,导入和使用应该是这样的:

import posix

var stats: Stat
stat("/", stats)
echo stats.st_blksize

但编译器给了我一个

Error: undeclared identifier: 'Stat'

编译时是否需要添加一些手动包含,或者我是否遗漏了导入的内容?

1 个答案:

答案 0 :(得分:5)

您可能会将这些行放入名为posix.nim的文件中。这是一个问题,因为nim编译器将看到posix模块已经导入并且不会在标准库中查找任何其他模块。解决方法是将您的程序重命名为po.nim或其他内容。

一旦你超越了这个不幸的行为,你就会发现代码没有编译,因为stat proc会返回一个你没有分配给任何东西的cint

po.nim(4, 4) Error: value of type 'cint' has to be discarded

你可以discard the value。以下修改版本在nimrod编译器的稳定版本0.9.4上编译并运行:

import posix

var stats: Stat
discard stat("/", stats)
echo stats.st_blksize