腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
在
linux
中
如何
定义
函数
指针
(__
fastcall
)
调用
?
、
、
、
在
我使用的windows
中
__try { calladdress = (__calladdress(par2, par3); __except (EXCEPTION_EXECUTE_HANDLER) { }
在
linux
中
, ptr64 functionaddr = data[0]; ptr64
浏览 83
提问于2020-07-26
得票数 0
1
回答
fastcall
on arm (Android NDK)
、
、
、
、
例如,IDA (hex-rays.com的交互式反汇编程序)将本机C++
函数
(Android,arm)报告为__
fastcall
:顺便说一下,这个
函数
在
docs
中
声明为当我用__attribute__((
fastcall<
浏览 2
提问于2014-04-16
得票数 3
回答已采纳
1
回答
在
构造
函数
中
传递__closure
函数
、
、
、
请参阅下面这个小的我的头上男女同桌的片段:}; Foo *foo; void __
fastcall
CallbackFunction(StringfileName) { // Do something } void __
fastcall
SetByCons
浏览 2
提问于2014-10-04
得票数 0
回答已采纳
1
回答
Windows
中
的
Fastcall
名称装饰不容易移植
、
、
我
在
Windows中使用mingw编译C和程序集中的代码,其中几个
函数
具有
fastcall
调用
约定(正如Microsoft
定义
的那样)。如果我
在
声明中使用__
fastcall
,则mingw会执行Windows所做的操作,并将其命名为: at符号(@)以名称为前缀;参数列表
中
的at符号后面跟着字节数(以小数表示)后缀为名称。但是当我移植到
Linux
(x86,32位)时,这证明了一个大问题。Gcc突然不喜欢__
fastcall
浏览 4
提问于2014-06-22
得票数 2
2
回答
C++ lambda
函数
的默认
调用
约定是什么?
、
、
、
、
所以,我的问题是:[] __stdcall (){}; [] __cdecl (){};等。
浏览 172
提问于2013-02-13
得票数 16
回答已采纳
2
回答
通过热打补丁进行挂钩...dll
中
未导出的类方法
我一直
在
研究这种使用windows dlls
中
的热修补机制的API挂钩方法。 我已经到了
调用
钩子
函数
的地方了……程序崩溃是因为我不能返回
调用
原始
函数
浏览 0
提问于2011-10-29
得票数 2
1
回答
鼠标钩子代码
中
的
调用
方法会导致访问冲突。
、
、
、
我
在
一个基本的主表单类
中
定义
了钩子,如下所示:{ HHOOK hMouseHook;virtual HWND__ * __
fastcall
GetHandle();HWND__ * __
fastcall
TMainFormPass此外,
浏览 8
提问于2015-10-09
得票数 0
回答已采纳
4
回答
为什么这个
函数
指针
失败?
、
我
在
头文件
中
声明了一组
函数
和一个
函数
指针
,如下所示。(void);void __
fastcall
( TTopForm::*Method )(void) ;Method = Method1; 这将生成以下错误消息:“必须
调用
成员
函数
或获取其地址。”遗漏__
fastcall
是我的一个错误。
浏览 3
提问于2013-09-27
得票数 1
回答已采纳
1
回答
为什么__
fastcall
assebmler代码比MS C++
中
的__stdcall代码大?
、
、
、
、
我已经分解了交换
函数
的两个不同变体(两个
指针
之间的简单值交换)。2)。__stdcall (不带显式
调用
约定修饰符的
函数
在
默认情况下将有一个__stdcall,因为MS C++编译器为 ) 据我所知,__
fastcall
的实现是不同的,这取决于编译器,但基本上它将前两个参数但是对于第1选项的链接,您可以看到,该值被推入ECX注册表,并且交换
函数
的两个变体之间没有真正的区别。mov dword ptr [e
浏览 4
提问于2013-09-08
得票数 1
回答已采纳
2
回答
让gcc通过寄存器传递参数
、
、
在
我的32位x86 Ubuntu11.10上,gcc4.6.3通过堆栈传递参数。有没有什么优化可以强制gcc通过寄存器传递参数?那gcc又是怎么做到的呢?请告诉我一些细节。
浏览 1
提问于2012-07-20
得票数 3
回答已采纳
2
回答
C++生成器窗体崩溃
、
表格1:(frmStart){ Application->CreateForm(__classid(TfrmRunning), &frmRunning);表格2:(正在运行) void __
fastcall
TfrmRunning::FormCreate
浏览 5
提问于2012-07-17
得票数 0
2
回答
C++Builder控制台应用程序:链接到基于__closure的方法
、
、
错误,如: typedef void __
fastcall
* Sender, TErrorEventParams *e);handler->OnError = errorHandler;void __
fastcall
浏览 0
提问于2018-03-16
得票数 2
回答已采纳
1
回答
在
共享库中使用
fastcall
安全吗?
、
、
例如,假设我有一个
函数
将为您交换32位值
中
的字节:将这个32位值推入堆栈,然后再将其弹出似乎很愚蠢,特别是当我们要频繁
调用
此
函数
时,所以让我们通过ECX传递它:#define
FASTCALL
__attribute__((
fastcall
))#define
浏览 1
提问于2009-09-27
得票数 1
回答已采纳
3
回答
从程序集中
调用
c
函数
需要"asmlinkage“吗?
、
、
、
、
我正在编写一个将从汇编代码
中
调用
的C
函数
。(具体地说,我想在
linux
内核
中
的系统
调用
处理路径
中
做一些检查工作,因此我将在entry_32.S
中
调度系统
调用
之前
调用
c
函数
)
在
定义
我的c
函数
时,我把"asmlinkage“修饰符搞混了。#define asmlinkage CPP_ASMLINKAGE __attribute__((re
浏览 9
提问于2012-04-08
得票数 18
回答已采纳
2
回答
如何
将
函数
指针
作为参数传递给
函数
?
、
好的,所以我有下面的typedef声明:我有以下
函数
声明:_In_ INFINITYHOOKCALLBACK InfinityHookCallback); 因此,我的问题是
如何
声明和
定义
可以传递给上述
函数
的CallBac
浏览 1
提问于2021-04-25
得票数 0
回答已采纳
1
回答
为什么
Linux
不遵循Unix的约定?
、
、
、
、
我正在自学
Linux
汇编语言,我
在
BSD和
Linux
之间遇到了一个有趣的区别。
在
Unix
中
,
在
调用
80h中断之前,将syscall参数推到堆栈上;而在
Linux
中
,则在寄存器
中
传递参数。有人知道
Linux
开发人员使用寄存器而不是堆栈的理由是什么吗? 注意:这里有一个很好的页面详细说明了这种差异:没有解释其基本原理。
浏览 7
提问于2013-12-11
得票数 6
回答已采纳
1
回答
将旧项目从C++Builder 10.2迁移到10.2.3时在运行时崩溃
、
、
10.2.3的安装进展顺利(
在
干净的Windows10 PC上),-项目编译和链接-到目前为止每个人都很满意。但是,当在调试器
中
运行应用程序时,我可以看到MainForm (由于历史原因,这是一个相当大的对象)的this
指针
在
单个方法
调用
中
突然变成垃圾(当
调用
它自己的方法时-就在构造
函数
完成之后),这导致了一个严重的失败我已经尝试注释掉特定方法的__
fastcall
调用
约定,然后调试器就走得更远了,但是由于this<
浏览 2
提问于2018-05-16
得票数 2
3
回答
从程序集交换
调用
约定
调用
C
函数
、
、
、
我有一个用于
Linux
的程序集应用程序,其中我通过寄存器向
函数
传递参数,因此我使用了某种特定的
调用
约定,
在
本例
中
是
fastcall
。现在,我想从程序集应用程序
调用
一个C
函数
,它需要10个参数。我是否必须为此切换到cdecl,并通过堆栈传递参数,而不管我的应用程序
中
其他地方的事实
如何
,我都是通过寄存器传递它们的?是否允许
在
一个应用程序
中
混合
调用
约定?
浏览 9
提问于2017-01-19
得票数 0
回答已采纳
1
回答
调用
约定和程序集
、
、
如何
(通过
在
函数
定义
中使用__cdecl/__stdcall/__
fastcall
前缀)
在
assembly语言中表达像C++这样的高级语言的
调用
约定?
浏览 7
提问于2021-02-18
得票数 0
1
回答
未使用__attribute__((
fastcall
))获取通过寄存器从asm传递到C的
函数
参数
、
、
、
我试图从汇编程序
中
调用
C
函数
,但是我没有得到预期的值(参数)。我正在使用MASM风格的编码,并使用jwasm (或uasm)编译它。jwasm -q -10 -elf64 -mf -zf0 asmfunc.asm -Fo asmfunc.o#include <stdio.h> call DumpRCX
浏览 0
提问于2019-01-30
得票数 2
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
在 golang 中如何调用私有函数
如何在 Linux Shell 编程中定义和使用函数
在Python中如何在main函数中调用类中的方法
有关调用约定的历史–第三部分
最适合小白的C语言整体学习计划,入门到精通比不可少
热门
标签
更多标签
云服务器
ICP备案
实时音视频
对象存储
即时通信 IM
活动推荐
运营活动
广告
关闭
领券