口工作的一个应用程序,以收集和发送各位的信息系统(分区空间的/免费、笔记本电池信息等)。我不是具有取得多大成功获得这一信息的形式直接c++api..虽然它的所有通过文件/proc(或类似)。

所以我想知道是否阅读或分析这些文件在我的c++应用程序是适当的方式得到这个信息或者我应该继续努力,以发现Api?(注:我的工作与statvfs).

到目前为止,它看起来像是更容易收集这种信息在Win32.似乎很奇怪。

有帮助吗?

解决方案

这是最好的实践 迄今为止 坚持API在以下优先顺序。

  • 你的语言API(没有太大的帮助你在这里,但是说strings,C99串功能是更好地使用,比库串设施指定由一个Posix或其他操作系统的标准。)

  • Posix操作软件Api

  • 记录核API

  • 无证件核Api(至少这将打破,说读写的用户如果他们改变,因此他们可能不会改变)

  • /proc

  • /dev/kmem, /dev/mem

没有理由相信 /proc 曳将便携式甚至相同,从释放以释放。不是每个系统甚至会有一个 /proc 安装!

有说所有的它 很容易只是刮东西的 /proc 如果这是唯一可用的接口,然后你应该继续使用它。qa

最后,订购的最后两个不完全清楚,因为 /proc 不可用于验尸核崩溃转储的分析,但是工具,可以偷看的核心倾倒仍将工作。

其他提示

我虽然那个 /proc是API(所有内容都是文件...)

正如您注意到的那样,许多Linux系统信息都在 /proc. 。而且您是正确的,通常没有C API来检索该信息(尽管如果您倾向于坚持使用Bash而不是C ++)。在最坏的情况下,您可能会被困在解析 /proc, ,尽管您可能能够以所需的特定项目的形式获得一些开源壳命令的示例代码。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top