-2

我已经为 Windows 开发了很长时间,主要是 WinApi(和 .Net)。

我已经开始学习基本的 Linux,我对这些差异有一些疑问:

  1. 在 Windows 中,我几乎没有使用过 C 标准库。

    如果我需要 API,我会搜索 MSDN 并找到合适的库\函数。

    从表面上看,在 Linux 中,C 标准库就是一切。

    我见过的所有代码示例都使用了标准库(而不是使用一些 Linux 内部函数,比如 Linux“CreateFile”)。

    这真的是如何编写“正确的”linux代码吗?使用 C 标准库?

    如果我想读取文件或分配内存是 fopen\malloc 要走的路吗?

  2. 如果我的第一个问题的答案是肯定的(我猜会的)

    与强大的 WinApi 相比,C 标准库是无能为力的。

    假设我希望获得正在运行的进程列表 (CreateToolhelp32Snapshot) 或创建线程或进程 (CreateThread\CreateProcess),我应该如何在 Linux 中做到这一点?

  3. 文档。

    在 Windows 中,我所需要的都可以在 MSDN 中找到。

    如果我有一个“我该怎么做”的问题(如上面的问题),我应该去哪里?

    我的主要文档来源在哪里。

非常感谢,迈克尔。

4

1 回答 1

2

也许您忘记了标准 C 库不是特定于环境的,它指定了所有可以运行 C 程序的系统中的最小公分母功能,并且 C 可以在甚至没有进程的系统上运行。

如果您想要一个提供一致的通用 GUI/多线程/等的 API。API,选择一个看起来可能的 GUI/多线程/等。API。 您可以从 Qt 开始,它非常全面,可以在许多系统上生成漂亮的、接近原生的 UI。

指出这一点通常被认为不礼貌,但大多数公开提出的问题都是由缺乏纪律的人提出的,即使是简单的研究也是如此。一旦人们可以做到这一点,他们就不需要问太多了,这就是为什么你看到的东西如此……微不足道。你已经过去了。 如需更多选择,您可以从这里开始

对于更通用的工具,搜索重要的 linux 工具的热门搜索可能有所帮助。

于 2014-06-03T16:47:54.780 回答