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

Linux中有STDCALL吗?

鲁才艺
2023-03-14
问题内容

我正在尝试将Windows应用程序移植到Linux。此应用程序使用__stdcall属性标记了某些功能。但是,一位朋友告诉我,stdcall仅在Windows上使用,而在linux中没有意义(但Windows
GCC中确实存在)。我试图在Google上进行搜索,结果显示Linux中存在stdacll。

所以… ??

此外,对于GCC,我看到了两个实现:__attribute__((__stdcall__))__attribute__((stdcall))(在stdcall附近没有下划线)。首选哪一种(如果完全适用于Linux)?

谢谢!


问题答案:

最简单的解决方案是在Linux上有条件地将__stdcall定义为空。



 类似资料:
  • 问题内容: 我有一个指向COM接口的指针,想从其虚拟表中获取函数指针并进行方法调用。为此,我需要进行stdcall方法调用。在Go中,如何在cgo中使用约定stdcall进行呼叫或使用约定stdcall进行呼叫? 问题答案: 有关如何在Windows上调用stdcall函数的说明,请参见“ godoc syscall Proc”。请注意,* Proc.Call确实会分配/取消分配内存,因此,如果您

  • 问题内容: 我想在Linux中打开不带X的OpenGL上下文。有什么办法吗? 我知道集成英特尔图形卡硬件是可能的,尽管大多数人的系统中都装有Nvidia卡。我想要一个适用于Nvidia卡的解决方案。 如果除了通过集成的Intel硬件没有别的方法,我想知道如何使用这些硬件是可以的。 X11协议本身太大且太复杂。它提供的鼠标/键盘/平板电脑输入多路复用对于现代程序来说太过淡了。我认为这是阻止Linux

  • 问题内容: 我使用com0com在Windows中进行程序测试,在Linux中是否有类似com0com的程序? 我知道有pts / ptmx,但是我想要的是一个独立程序,提供2个虚拟串行端口… 然后我可以打开2个程序,每个程序一个。 问题答案: 我找到了一个好方法: 然后创建两个虚拟串行端口文件:COM8,COM9

  • 问题内容: 我刚刚在Linux中获得了一个核心转储文件 我该如何附加gdb 我需要给它命令行参数。 示例执行: 帮助我进入gdb 干杯!! 问题答案: 如果您的核心文件刚刚运行 用进行事后分析。 如果您想在没有核心的情况下使用,请考虑 否则运行,然后向发出命令。 如果您的进程仍以pid 1234的身份运行,则可以将gdb附加到正在运行的进程。 您确实应该 阅读 gdb文档 。

  • 在尝试打开EclipseOxygen时,在Red Hat Linux env 64位中出现以下错误。在linux环境中也安装了jdk 8。 JVM终止。退出代码=1 /usr/java/jdk1.7.0_67-cloudera/bin/java -Dosgi.requiredJavaVersion=1.8 -多斯基。例子地区默认值=@user。主/eclipse工作区 -XX:UseG1GC -X

  • 我在Linux中有一个简单的java文件。我正在执行来自父java类的另一个java程序HelloWorld。 非常感谢。