我一直在为Windows开发很长时间,主要是WinApi(和.Net)。
我开始学习基本的Linux,我对这些差异有一些疑问:
在Windows中,我几乎没有使用C标准库。
如果我需要API,我会搜索MSDN并找到合适的库\ function。
从它看来,在Linux中,C标准库就是一切。
我见过的所有代码示例都使用了标准库(而不是使用某些Linux内部函数,如Linux“CreateFile”)。
这真的是如何编写“正确的”linux代码吗?使用C标准库?
如果我想读取文件,或者分配内存是fopen \ malloc的方法吗?
如果我的第一个问题的答案是肯定的(我猜它会是)
与强大的WinApi相比,C标准库是POWERLESS。
假设我希望获得正在运行的进程列表(CreateToolhelp32Snapshot)或创建线程或进程(CreateThread \ CreateProcess),我该如何在Linux中执行此操作?
文档。
在Windows中,我所需要的只能在MSDN中找到。
如果我有“我该怎么办”的问题(就像上面的问题一样)我应该去哪里?
我的主要文件来源在哪里。
非常感谢, 迈克尔。
答案 0 :(得分:2)
也许您已经忘记了标准C库不是特定于环境的,它在所有可以运行C程序的系统中指定了最小公分母功能,而C在甚至不是的系统上运行有进程。
如果您想要一个提供一致的通用GUI /多线程/等的API。 API,选择一个看起来很可能的GUI /多线程/等。 API。 You might start with Qt,它非常全面,可以在许多系统上生成外观漂亮,接近原生的UI。
一般认为这一点并不礼貌,但大多数被公开询问的问题都是由缺乏纪律的人提出来进行简单的研究。一旦人们能够做到这一点,他们就不需要问很多,这就是为什么你所看到的是如此......微不足道。你已经过去了。 For more options, you could start here
对于更多通用工具,the top hit上的a search for important linux tools可能会有所帮助。