郁闷, 关于BCB的编译器...
//---------------------------------------------------------------------------
#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
公交信息在线查询系统微信小程序+ssm后端源码案例设计.zip
公交信息在线查询系统微信小程序+ssm后端源码案例设计.zip
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。资源来源于网络分享,如有侵权请告知!


茶馆
