| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 76 人关注过本帖
标题:关于裸函数和调用约定同时需要指定时该怎么写?
只看楼主 加入收藏
a451410
Rank: 2
等 级:论坛游民
帖 子:132
专家分:98
注 册:2018-3-4
结帖率:83.67%
收藏
已结贴  问题点数:5 回复次数:2 
关于裸函数和调用约定同时需要指定时该怎么写?
是这样的,我需要一个裸函数,所以我这样写:
void _declspec(naked)plus(int a,int b);
当我需要函数自身清理堆栈时,我需要在函数前面加上stdcall:
void _stdcall plus(int a,int b);
但是当我既需要一个裸函数,并且我在裸函数内自己恢复堆栈平衡时,那么我就需要使用stdcall,这时我两个命令都需要用.可是当我把他们写在一起时,就会编译不过去.
如:void _stdcall _declspec(naked)plus(int a,int b);这样就会报错,如下图;
请问我该怎么办才能让一个函数变成stdcall,并且让他成为一个裸函数,我在函数内自己清理堆栈呢?
图片附件: 游客没有浏览图片的权限,请 登录注册
2025-03-18 02:24
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9042
专家分:54136
注 册:2011-1-18
收藏
得分:5 
void __declspec(naked) __stdcall funname()
2025-03-18 12:32
a451410
Rank: 2
等 级:论坛游民
帖 子:132
专家分:98
注 册:2018-3-4
收藏
得分:0 
回复 2楼 rjsp
我擦,,,竟然反着写就可以了吗? 汗!!做编译器这伙人考虑也忒不全面了..
2025-03-18 17:13
快速回复:关于裸函数和调用约定同时需要指定时该怎么写?
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020206 second(s), 10 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved