- 博客(15)
- 资源 (5)
- 收藏
- 关注
原创 release 下的异常
1.Release做了优化,只会检查代码中有显式throw的异常2.终于知道了,VC在release版默认是同步异常,release版本不能捕获非法内存访问、除零等结构化异常,修改release的编译选项,加个/EHa就好了,谢谢楼上。 3.要改成异步模式try和catch才能在Release下工作, 搜索下怎么把编译选项改更异步模式, 改后很耗CPU和内存等资源就是4.
2007-10-22 18:13:00 852
原创 顶层异常
先把下面的函数放到你的程序中 LONG WINAPI MyUnhandledExceptionFilter(PEXCEPTION_POINTERS pExInfo) { //这里执行你要的操作 return EXCEPTION_EXECUTE_HANDLER; } 然后在main函数开头加上 SetUnhandledExceptionFilter(MyUnhandledExcept
2007-10-22 18:10:00 639
原创 在MFC下如何定义全局变量和全局函数
用MFC制作的工程由很多文件构成,它不能象一般C++程序那样随意在类外定义全局变量,在这里要想定义能被工程内多个文件共享的全局变量和函数必须用一些特殊方法才行。实际上有多种方法可以实现,这里只介绍两种方法。 一、在应用程序类中定义 用MFC生成的工程中都有一个名为CxxxApp的类,它派生于CWinApp类。这个类主要进行程序的初始化,生成文档、视图对象等工作。我们可以把需要全局访问的变量
2007-10-22 17:42:00 478
原创 Visual C++中的异常处理浅析
Visual C++提供了对C语言、C++语言及MFC的支持,因而其涉及到的异常(exception)处理也包含了这三种类型,即C语言、C++语言和MFC的异常处理。除此之外,微软对C和C++的异常处理进行了扩展,提出了结构化异常处理(SEH)的概念,它支持C和C++(与之相比,MFC异常处理仅支持C++)。 一个典型的异常处理包含如下几个步骤: (1)程序执行时发生错误; (2)以一个异常
2007-10-22 17:40:00 577
原创 try except and try catch ZZ
从本篇文章开始,将全面阐述__try,__except,__finally,__leave异常模型机制,它也即是Windows系列操作系统平台上提供的SEH模型。主人公阿愚将在这里与大家分享SEH的学习过程和经验总结。 SEH有两项非常强大的功能。当然,首先是异常处理模型了,因此,这篇文章首先深入阐述SEH提供的异常处理模型。另外,SEH还有一个特别强大的功能,这将在下一篇文章中进行详细介绍。t
2007-10-22 15:59:00 565
原创 InitializeCriticalSectionAndSpinCount 错误
#define STRICT#ifndef _WIN32_WINNT#define _WIN32_WINNT 0x0500#endif
2007-10-13 20:48:00 800
原创 C语言函数调用约定
在C语言中,假设我们有这样的一个函数:int function(int a,int b)调用时只要用result = function(1,2)这样的方式就可以使用这个函数。但是,当高级语言被编译成计算机可以识别的机器码时,有一个问题就凸现出来:在CPU中,计算机没有办法知道一个函数调用需要多少个、什么样的参数,也没有硬件可以保存这些参数。也就是说,计算机不知道怎么给这个函数传
2007-10-13 09:57:00 513
原创 lea; push offset; lea eax, [p]; lea eax,p[
lea eax, p;0040D78B 8D 85 F4 FF FF FF lea eax,[ebp-0Ch]28: lea eax, [p];0040D791 8D 85 F4 FF FF FF lea eax,[ebp-0Ch]29:30: lea eax, pn;0040D797 8D 85 F8 FF F
2007-10-09 15:34:00 1017
原创 调用C函数
#include int power2( int num, int power );void main(){ printf( "power( 4, 6 ) = %d", power2(4, 6) );}int power2( int num, int power ){ __asm { mov eax, num; mov ecx, power; shl eax, cl }}
2007-10-09 11:10:00 403
原创 ASM 调用函数
#include "stdio.h"#include "windows.h"char szApiTest[] = "API Test";void main(){ char szHello[] = "Hello, world!"; __asm { push MB_OK; push offset szApiTest; 全局变量用 offset; lea eax, szHello;
2007-10-09 11:01:00 932
原创 ASM 与 结构
struct first_type{ char* weasel; int same_name;};#include struct second_type{ int wonton; long same_name;};struct first_type hal;struct second_type oat;int main(){ __asm { mov ebx, offset hal;
2007-10-09 10:42:00 475
原创 可变参数函数实现
void ErrorMsg(const char *pszParam, ...){ char buf[1024]; va_list va; va_start(va, pszParam); vsprintf(buf, pszParam, (va_list)va); va_end(va); SendDlgItemMessage( g_MainHwnd, IDC_MESSAGE_LIST
2007-10-08 16:19:00 509
原创 DLL 添加MFC 支持
给你的项目添加DLLMODUL.CPP文件,该文件的内容如下: #include "stdafx.h" #ifdef _DEBUG #undef THIS_FILE static char THIS_FILE[] = __FILE__; #endif
2007-10-06 20:27:00 860 1
豆丁农场 网页服务器端源码
2009-12-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人