郁闷, 关于BCB的编译器...

alloutoflove alloutoflove 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
新建一工程, 然后代码如下:
//---------------------------------------------------------------------------

#include <vcl.h>
#include <shlobj.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;

BOOL IsEnabled()
{
SHELLFLAGSTATE shfs;
SHGetSettings( &shfs, SSF_DESKTOPHTML );
return shfs.fDesktopHTML;
}
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
BOOL bRet = IsEnabled();
}
//---------------------------------------------------------------------------

大家试一下在Full Debug和Release都编译运行试一下... 可以发现Full Debug下会报AV错, 这个问题把偶搞晕了1个多小时...后来只好动用 OllyDBG看了,结果发现Full Debug和Release情况下IsEnabled()函数的汇编代码:
Release:
PUSH ECX
PUSH 200
LEA EAX,DWORD PTR SS:[ESP+4]
PUSH EAX
CALL <JMP.&SHELL32.SHGetSettings>
MOV AL,BYTE PTR SS:[ESP]
SHL EAX,19
SAR EAX,1F
POP EDX
RETN

Full Debug:
PUSH EBP
MOV EBP,ESP
PUSH ECX
PUSH 200
LEA EAX,DWORD PTR SS:[EBP-2]
PUSH EAX
CALL <JMP.&SHELL32.SHGetSettings>
MOV AL,BYTE PTR SS:[EBP-2]
SHL EAX,19
SAR EAX,1F
POP ECX
POP EBP
RETN

懂汇编的兄弟应该能看出在Full Debug模式下编译出来的汇编代码中EBP在栈中的值被华丽地修改了...


发这个帖子的意思是想提醒大家在工程运行报AV错的时候可以检查一下是不是在Release模式下...
偶是在BCB6 + upd4下测试的, 有条件和兴趣的朋友可以在2006中试一下.
...全文

相关推荐

公交信息在线查询系统 微信小程序+SSM毕业设计 源码+数据库+论文+启动教程.zip

公交信息在线查询系统 微信小程序+SSM毕业设计 源码+数据库+论文+启动教程 项目启动教程:https://www.bilibili.com/video/BV1BfB2YYEnS

杨荧

基于ssm公交信息在线查询系统微信小程序源码数据库文档.zip

基于ssm公交信息在线查询系统微信小程序源码数据库文档.zip

知一NN

公交信息在线查询系统微信小程序+ssm后端源码案例设计.zip

公交信息在线查询系统微信小程序+ssm后端源码案例设计.zip

A爱了个I

Java毕业设计-基于SSM+微信小程序的公交信息在线查询系统源码+数据库+使用文档+演示视频(高分优秀项目).zip

Java毕业设计-基于SSM+微信小程序的公交信息在线查询系统源码+数据库+使用文档+演示视频(高分优秀项目).zip 该项目是个人高分毕业设计项目源码,已获导师指导认可通过,答辩评审分达到97分,在window10/11测试环境严格调试,下载即用,确保可以运行,部署教程齐全,也可以作为课程设计 Java毕业设计-基于SSM+微信小程序的公交信息在线查询系统源码+数据库+使用文档+演示视频(高分优秀项目).zip 该项目是个人高分毕业设计项目源码,已获导师指导认可通过,答辩评审分达到97分,在window10/11测试环境严格调试,下载即用,确保可以运行,部署教程齐全,也可以作为课程设计 Java毕业设计-基于SSM+微信小程序的公交信息在线查询系统源码+数据库+使用文档+演示视频(高分优秀项目).zip 该项目是个人高分毕业设计项目源码,已获导师指导认可通过,答辩评审分达到97分,在window10/11测试环境严格调试,下载即用,确保可以运行,部署教程齐全,也可以作为课程设计 Java毕业设计-基于SSM+微信小程序的公交信息在线查询系统源码+数据库+使用文档+演示视频(高分优秀项目).zip 该项目是个人高分毕业设计项目源码,已获导师指导认可通过,答辩评审分达到97分,在window10/11测试环境严格调试,下载即用,确保可以运行,部署教程齐全,也可以作为课程设计 Java毕业设计-基于SSM+微信小程序的公交信息在线查询系统源码+数据库+使用文档+演示视频(高分优秀项目).zip 该项目是个人高分毕业设计项目源码,已获导师指导认可通过,答辩评审分达到97分,在window10/11测试环境严格调试,下载即用,确保可以运行,部署教程齐全,也可以作为课程设计

不走小道

付费自习室系统 微信小程序+SSM毕业设计 源码+数据库+论文+启动教程.zip

付费自习室系统 微信小程序+SSM毕业设计 源码+数据库+论文+启动教程.zip。资源来源于网络分享,如有侵权请告知!

zru_9602
评论 12
收藏 已收藏
分享
返回顶部
alloutoflove
茶馆 551 成员 20,044 内容