当前位置: 首页 > 面试题库 >

在Linux中相当于Win32 API?

马清野
2023-03-14
问题内容

我不想知道Windows和Linux中的API函数之间是否存在一一对应的关系,也不想知道每个API函数。

我只想了解两点基本知识:

  1. 我想了解为什么Qt平台独立
  2. 我想知道我应该在Linux中使用什么API来移植使用Win32 API编程的应用程序,或者换句话说,移植到Win32 API级别。

我知道这不切实际,但我想知道这种等效性。


问题答案:

您需要了解什么是系统调用。在Linux上,它们是最低的html" target="_blank">用户土地API(相比之下,Win32
API
可能将真实的内核syscall与某些库函数libc混合在一起。在Linux上也是如此。)fork(2),execve(2),open(2),pipe(2),mmap(2),read(2),poll(2),close(2),dup2(2),sigaction(2)是重要的系统调用(但其中大约有300个)。

不要期望Linux上可以使用每种Windows功能(反之亦然)。甚至不要想到这样的等同物。在Linux上获得不同的心态。(特别是,进程在Linux和Windows上是非常不同的)。

不要忘记Linux是 免费软件 ,您可以深入研究Linux上使用的每个功能的源代码。阅读,搜索,改进.....

首先阅读intro(2)手册页,以及其他几个手册页(特别是syscalls(2),intro(3)等…)。另请阅读例如Advanced Linux
Programming
和Advanced Unix
Programming

一些库尝试排除并提供Posix(例如Linux)和Windows的通用抽象。特别是Qt(以及Gtk)。

如果您对图形界面感兴趣,请了解X11的重要作用(请注意,X11服务器离屏幕和键盘最近;大多数图形应用程序都是X11客户端)。在2016年,X11往往会被Wayland取代(但如果您针对Qt或GTK进行编码,您将不会注意到实现“详细信息”-一个非常重要的实现)

如果您仅使用Qt调用(未记录为特定于Linux或Windows的代码)以及标准C ++函数编写应用程序,则应将其从Linux移植到Windows,反之亦然。



 类似资料:
  • 问题内容: 我在Linux中找不到conio.h的等效头文件。 Linux中有&功能选项吗? 我想创建一个切换案例基​​础菜单,用户只需按一个键就可以给出选项,并且过程应该向前移动。我不想让用户按其选择后按ENTER。 问题答案: 输出:

  • 问题内容: 以前,我在支持头文件的Windows上使用c ++ / c编译器,但在有Linux的Linux上使用 我想要一个功能完全一样的功能。我不知道为什么我的编译器不支持头文件 净我搜索后,得到了本该说,可能是最接近的等效但是这两个都在,如果我们写的方式不同不显示,而如果我们用输入字符的控制台上输入的文字会显示在人物安慰。我不希望角色显示在控制台上。 使用还会在控制台上显示字符。 问题答案:

  • 问题内容: 我正在寻找一种计算跨平台crc校验和的方法。 可以在Linux,AIX,HP-UX Itanium,Solaris上运行,在Windows中也有与Linux等效的命令吗? 注意 :没有第三方工具 问题答案: 在Windows(命令提示符)中,您可以使用CertUtil,语法如下: 在cmd中输入语法说明: 例: 默认支持的SHA1是:MD2,MD4,MD5,SHA1,SHA256,SH

  • 问题内容: 我的任务是为开源JAVA应用程序编写身份验证组件。我们有一个使用的内部身份验证窗口小部件。我有一些例子访问的代码,它使用来办理过户。 我的问题是,是否有 的端口,或者更好的是,什么基本软件包将使我足够接近以处理任务? 更新: 简而言之,我想在JAVA中复制的代码: 希思,我认为你的目标是正确的,我认为我最终将使用HttpsURLConnection,然后从响应中选择所需的内容。 问题答

  • 问题内容: 我正在尝试一些表,但只是遇到一个主要问题,Outlook不支持float。好吧,然后我尝试使用表对齐等等,但是没有运气。这些表只是在彼此之间而不是在彼此下方显示。有什么可以做的吗? PS:它可以在其他设备上正常工作,只有Outlook,并且我不能给每个表一个td,因为它会破坏一些其他内容。 标记: 问题答案: 使用width =“”而不是CSS在每个对齐的表格上设置宽度。 一个有效的示

  • 问题内容: 我有一个Bash shell脚本,我想在其中暂停执行,直到用户按下某个键为止。在DOS中,可以使用“ pause”命令轻松完成此操作。我可以在脚本中使用等效的Linux吗? 问题答案: 做这个: 该指定它只是等待一个字符。在将其放入原始模式,这是必要的,否则,如果按类似反斜杠,它不会注册,直到你遇到下一个关键。在指定的提示,如果包含空格,必须用引号括起来。仅当您想知道他们按下了哪个键时