【问题标题】:Windows programmer moving to linux - Coding conventions [closed]Windows 程序员转向 linux - 编码约定 [关闭]
【发布时间】:2014-07-24 01:26:03
【问题描述】:

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

我已经开始学习基本的 Linux,我有一些关于差异的问题:

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

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

    看起来,在 Linux 中,C 标准库就是一切。

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

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

    如果我想读取文件,或者分配内存是 fopen\malloc 的路要走?​​p>

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

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

    假设我希望获取正在运行的进程列表 (CreateToolhelp32Snapshot) 或创建线程或进程 (CreateThread\CreateProcess),我应该如何在 Linux 中执行此操作?

  3. 文档。

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

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

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

非常感谢, 迈克尔。

【问题讨论】:

标签: c linux windows winapi clib


【解决方案1】:

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

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

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

对于更多通用工具,a search for important linux tools 上的the top hit 可能会有所帮助。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-09-22
  • 2010-09-12
  • 2011-04-06
  • 2020-07-13
  • 2013-04-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多