我已经为 Windows 开发了很长时间,主要是 WinApi(和 .Net)。
我已经开始学习基本的 Linux,我对这些差异有一些疑问:
在 Windows 中,我几乎没有使用过 C 标准库。
如果我需要 API,我会搜索 MSDN 并找到合适的库\函数。
从表面上看,在 Linux 中,C 标准库就是一切。
我见过的所有代码示例都使用了标准库(而不是使用一些 Linux 内部函数,比如 Linux“CreateFile”)。
这真的是如何编写“正确的”linux代码吗?使用 C 标准库?
如果我想读取文件或分配内存是 fopen\malloc 要走的路吗?
如果我的第一个问题的答案是肯定的(我猜会的)
与强大的 WinApi 相比,C 标准库是无能为力的。
假设我希望获得正在运行的进程列表 (CreateToolhelp32Snapshot) 或创建线程或进程 (CreateThread\CreateProcess),我应该如何在 Linux 中做到这一点?
文档。
在 Windows 中,我所需要的都可以在 MSDN 中找到。
如果我有一个“我该怎么做”的问题(如上面的问题),我应该去哪里?
我的主要文档来源在哪里。
非常感谢,迈克尔。