网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
03月01日漏签0天
c语言吧 关注:801,793贴子:4,376,124
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 首页 上一页 1 2 3 4 5 下一页 尾页
  • 71回复贴,共5页
  • ,跳到 页  
<<返回c语言吧
>0< 加载中...

回复:深夜布道!C调用的汇编级解释!以及stdcall和cdcel 不加精对不

  • 只看楼主
  • 收藏

  • 回复
  • elf0223
  • 强能力者
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
回复:46楼
千万别...偶会被真正滴大虾嘲笑滴...


  • dark_ice_rain
  • 超能力者
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
回复:47楼
只是嘲笑的人你觉得呢?能成为真正的大婶么?


2026-03-01 16:49:02
广告
不感兴趣
开通SVIP免广告
  • elf0223
  • 强能力者
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
回复:48楼
啊,你的签名我受不了啊~


  • dark_ice_rain
  • 超能力者
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
,,,,,,


  • 爪机娘
  • 超能力者
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
回复:48楼
你这魂淡 下次要是再用这签名……


  • illegalID
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
哎哟


  • 萧の十三郎
  • 彩虹面包
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
回复:48楼
貌似这个签名被无数人说过了....
这坟怎么又给挖了,拉去马拉戈壁~


  • 灼发の夏娜
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
学习了


2026-03-01 16:43:02
广告
不感兴趣
开通SVIP免广告
  • 张莹Suzy
  • 酱油
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
cx是16位操作系统下的
ecx是32位操作系统下的
我记得好像是这样


  • liql2007
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
还有参数压栈顺序没讲到


  • nt_12
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
retn 8 是清除参数修正ESP,打扫现场用的。
局部变量的生命周期是永久直到进程退出OS回收所有内存,Free Memory,或者POP。
C中所讲应该是指针的生命周期。
C的函数入口不出意外永远是PUSH EBP来保证栈帧链表不丢失以及传参(不论function写成什么样)。
在开启PAE分页的OS中,内存的申请与释放以及分配,都要进行页提交。
EIP是可以被修改的JMP直接修改EIP的值改变程序流程,通过SEH异常处理链表,以及Setthreadcontext。


  • 夕颜xiyan10
  • 超能力者
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


  • 风卷云残了
  • 酱油
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
m


  • elf0223
  • 强能力者
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这贴都忒老了... 又被挖坟。
局部变量的生命周期跟函数栈帧的生命周期一样,怎么是永久的?局部变量就分配在栈上,在汇编代码的表现就是减esp值就可以了。
全局变量的生存周期才是和整个进程一样的。这种变量像程序代码一样,直接在装载时就分配好,进程退出时再销毁。
EIP是可以修改,JMP或者CALL指令都会修改EIP。但是这种修改是间接的,程序员不能直接用MOV指令去修改它。至于SEH异常处理链之类的,我表示你扯远了。
关于页表修改与页提交之类的,这个跟PAE有关系吗?操作系统在任何时候都可能做修改页表、换页之类的操作,起新进程时要,分配内存也要,栈空间超过4KB(32位系统上一页的大小)也要对吧。现代操作系统的内存管理是建立在这类事情的基础上的。
至于PAE,很烦这种扩展特性。32位系统就32位系统,非要弄36根地址线来扩展物理地址空间,给操作系统代码和移植带去大麻烦。


2026-03-01 16:37:02
广告
不感兴趣
开通SVIP免广告
  • nt_12
  • 毛蛋
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我是 57L
坟不是我挖的,看到了顺道就回了一下自己的看法。
如果局部变量是分配在栈上的,那么他就是永久的,我不知道应该如何理解“生命周期”。
函数执行完 retn 也好 pop 也罢 ESP减去retn后的数字或者POP的次数,该变量还会存在于栈中,对PE而言该变量并没有死亡,也并非不能在利用。
对于EIP而言JMP就相当于MOV,如果仅仅是因为EIP不能被MOV而觉得EIP不能被直接修改,那么浮点指令对FPU寄存器的操作也是间接的?
如果操作的线性地址,没在映射的物理内存中就会引发分页,把pagefile映射的部分交换到物理内存,实际上没有多少东西会映射到物理内存,PE节表中的不可分页是个很好的解释,如果没有PAE那么进程的管理会相当混论,当然也就不会有pagefile。



登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 首页 上一页 1 2 3 4 5 下一页 尾页
  • 71回复贴,共5页
  • ,跳到 页  
<<返回c语言吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示