腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
x64上的
调用
约定
、
、
、
我在几个地方看到,微软针对x64平台的
调用
约定
被缩小到只有一个:
调用
者清除堆栈(cdecl),参数是在堆栈和寄存器的组合中传递的(我不会在这里讨论确切的细节)。我假设如果这是操作系统的
调用
约定
,那么可能所有其他针对Windows的编译器(例如mingw-w64)也遵循它。 这种
调用
约定
在其他主要平台(x64、
Linux
等)上也是正确的吗?或者
Linux
仍然使用多个
调用
约定
,甚至只使用一个而不是另一个
浏览 4
提问于2013-08-09
得票数 8
回答已采纳
2
回答
是什么让电话会议与众不同?
、
、
、
据我所知,
调用
约定
取决于平台是Windows还是
Linux
。different.Platforms使
调用
约定
与编译器不同。 哪一个是真的?如果只有2为真,那么
调用
约定
是否由平台定义,编译器是否只遵循定义的
约定
?
浏览 3
提问于2022-02-26
得票数 1
回答已采纳
2
回答
Linux
平台中Java代码的
调用
约定
是什么?
、
根据下面的文章,我们知道在
Linux
平台中的c/c++代码中,“前六个整数或指针参数在寄存器RDI、RSI、RDX、RCX (
Linux
内核接口17:124中的R10)、R8和R9中传递”的
调用
约定
。但是,
Linux
平台中Java代码的
调用
约定
是什么(假设JVM是热点)?下面是示例,什么寄存器存储这四个参数?
浏览 9
提问于2017-01-17
得票数 6
回答已采纳
1
回答
“`int 0x80”后面的呼叫
约定
是什么?
、
、
、
我知道有一个syscall
约定
,但是在
调用
int 80而不是syscall时,
调用
它之前的
调用
约定
是什么?; message length我读过这里,rdx之后的参数是esi、edi、ebp (或x64 rsi、rdi、rbp),我没有在维基百科
调用
约定
的页面中看到它,但是int80h似乎表明Windows也使用了这个
约定
?这个
约定
的名字是什么。在
Linux
浏览 0
提问于2018-05-30
得票数 3
回答已采纳
1
回答
如何用自己的编程语言利用VDSO对象?
、
、
最新的
Linux
内核(至少在amd64上)提供了一个名为
linux
-vdso.so.1的神奇对象文件,它抽象出内核的syscall接口,允许内核选择最佳的
调用
约定
。那么
调用
约定
呢?
浏览 5
提问于2013-03-25
得票数 9
回答已采纳
1
回答
Linux
64-abi,
调用
约定
、
、
、
我正在阅读关于
调用
约定
和哪个寄存器具有哪个目的的内容。
浏览 0
提问于2018-02-05
得票数 3
回答已采纳
1
回答
32位
Linux
和64位
Linux
(英特尔台式机CPU)上的默认C
调用
约定
是什么?
、
、
静态函数的默认
调用
约定
是什么:在……下面#36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012 x86_64 x86_64 x86_64 GNU/
Linux
gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
Linux
ubuntu
浏览 1
提问于2012-06-16
得票数 4
回答已采纳
1
回答
调用
约定
和语言绑定
、
、
对于如何最好地处理公共API中的
调用
约定
差异并使其与绑定保持同步,我有点困惑。假设我正在编写一个通过共享对象库或DLL提供的C。现在假设我被告知不应该在Windows上使用默认的
调用
约定
--也就是说,在
Linux
和其他Unixes上,我应该使用编译器(可能是cdecl)使用的标准
调用
约定
,但是在stdcall上,我应该强制使用stdcall因此,我在头中有一些#ifdef逻辑,可以根据需要设置正确的
调用
约定
。库的C头必须处理这个问题,
浏览 4
提问于2013-12-16
得票数 1
1
回答
FreeBSD与
Linux
:内核
调用
约定
的性能
、
、
、
、
来自Int80h.org,FreeBSD汇编语言教程只保存需要保存的寄存器,这些
浏览 0
提问于2018-05-30
得票数 3
2
回答
假设AMD64
调用
约定
将成为标准,那么Windows和
Linux
可以共享代码吗?
、
、
、
、
AMD64在
Linux
和Windows上有不同的
调用
约定
,但想象一下,如果它们是相同的,那么它们之间有可能实现代码共享吗?例如,ARM在Windows和
Linux
上具有相同的
约定
。
浏览 2
提问于2016-03-09
得票数 1
1
回答
对于x64微软注册表,gcc/g++有
调用
约定
吗?
、
、
、
我有几个x86和x64库,其中许多是汇编代码,或者没有源代码,它们是为x86上的__cdecl堆栈
约定
和微软在amd64上的x64
调用
约定
(RCX、RDX、R8、R9)构建的。但是,默认情况下,
Linux
上的x64使用不同的x64
调用
约定
(RDI、RSI、RDX、RCX、R8、R9)。我似乎找不到如何告诉gcc/g++使用微软使用的备用x64
调用
约定
?似乎只有两种不同的x64
调用
方法,我希望在gcc/g++中存在类
浏览 4
提问于2016-01-28
得票数 3
2
回答
Linux
内核系统
调用
命名
约定
、
Linux
内核使用SYSCALL_DEFINEn作为syscall入口点的名称。我知道它是一个宏,最后被sys_sycallname()替换,'n‘是它们接受的参数数量。该
约定
仅仅用于可读性还是其他特定目的? 提前谢谢。
浏览 0
提问于2013-02-27
得票数 2
1
回答
如何从汇编代码中
调用
整数的C函数printf
、
、
、
、
我很难从汇编代码中
调用
printf。我的函数end_power用于打印power的结果,但是每当我
调用
printf时,就会出现分段错误。(我在
linux
上运行64位程序)唯一不起作用的部分是end_power函数,更具体地说是
调用
printf所涉及的行。
浏览 0
提问于2014-09-28
得票数 0
回答已采纳
1
回答
为什么
Linux
不遵循Unix的
约定
?
、
、
、
、
我正在自学
Linux
汇编语言,我在BSD和
Linux
之间遇到了一个有趣的区别。在Unix中,在
调用
80h中断之前,将syscall参数推到堆栈上;而在
Linux
中,则在寄存器中传递参数。有人知道
Linux
开发人员使用寄存器而不是堆栈的理由是什么吗? 注意:这里有一个很好的页面详细说明了这种差异:没有解释其基本原理。
浏览 7
提问于2013-12-11
得票数 6
回答已采纳
2
回答
如何使用正确的本机
调用
约定
编译C扩展?
、
、
此声明中的任何地方都没有指定本机
调用
约定
。 无论是在
Linux
上还是在Windows上,扩展开发人员如何确保使用正确的
调用
约定
编译PyInit_函数,以便解释器在运行时成功地
调用
它?我们如何确保它们的编译方式与Python解释器
调用
约定
兼容?
浏览 3
提问于2020-04-14
得票数 1
回答已采纳
1
回答
x86
linux
系统
调用
约定
?
、
、
、
、
鉴于这一守则:global _start mov edx,len ;message length mov ebx,1
浏览 1
提问于2014-11-21
得票数 0
回答已采纳
5
回答
windows和本机API中的系统
调用
?
、
、
、
、
linux
中的
调用
约定
:mov $param1 , %ebxint $0x80关于哪个$SYS_Call_NUM &我们可以使用这个引用的参数:???Windows中所有系统
调用
的
浏览 10
提问于2010-03-22
得票数 30
回答已采纳
1
回答
.bashrc和各种
linux
启动脚本
、
在
linux
上(例如,centos),如果我需要运行一些启动脚本,那么
调用
脚本的各种启动位置是什么,每个启动位置的
约定
是什么?
浏览 0
提问于2011-05-24
得票数 0
3
回答
从程序集交换
调用
约定
调用
C函数
、
、
、
我有一个用于
Linux
的程序集应用程序,其中我通过寄存器向函数传递参数,因此我使用了某种特定的
调用
约定
,在本例中是fastcall。现在,我想从程序集应用程序
调用
一个C函数,它需要10个参数。是否允许在一个应用程序中混合
调用
约定
?
浏览 9
提问于2017-01-19
得票数 0
回答已采纳
2
回答
为什么
linux
内核包含只有一个__前缀不同的函数对?
、
Linux
调度程序派生操作使用两个函数sched_fork()和__sched_fork()。sched_fork()
调用
__sched_fork()。类似的带有双下划线的代码
约定
(专门用于系统保留名称)也用于内核中的其他几个位置。当一个函数可以使用时,定义两个这样的函数有什么帮助呢?为什么要使用这个
约定
?
浏览 2
提问于2014-08-10
得票数 4
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
如果调用约定不匹配,会发生什么?
通过调用约定解决一个常见问题
有关调用约定的历史–第三部分
Linux系统调用实例和功能速查
介绍Linux下的系统调用过程
热门
标签
更多标签
云服务器
ICP备案
对象存储
即时通信 IM
腾讯会议
活动推荐
运营活动
广告
关闭
领券