“error C2712: 无法在要求对象展开的函数中使用__try”解决方案

前段时间写了一篇关于C++异常捕获及异常处理的文章:c++异常捕获及异常处理try-throw-catch严格的来说,那不算是一篇完整的文章,更多的是提出我的疑惑。顺便总结了一下网友关于C++异常捕获及异常处理给出的精炼的示例。至今,上文提到的疑惑本菜鸟都没有完全解开。于是,我就选择了用 __tr...

2018-06-12 16:33:31

阅读数 1191

评论数 0

关于strcpy_s第二个参数(目标缓冲区大小)的测试以及更加安全的替代方案

先来看一下msdn上的函数原型和对其参数的解释errno_t strcpy_s( char *strDestination, size_t numberOfElements, const char *strSource ); Parameters strDe...

2018-06-13 14:52:50

阅读数 445

评论数 0

转储了dump后,如何用Windbg进行分析呢?

上一篇向大家介绍了如何在程序“死”的时候转储Dump文件以及如何进行一些其他的处理(请戳蓝色字体:《程序又“死”了,但是还好我转储了dump!》)。那么,今天笔者将继续向大家详细介绍如何使用Windbg对dump文件进行调试分析。-- 准备工作 --Windbg是一款功能十分强大的调试工具,它设计...

2018-06-04 15:59:17

阅读数 1117

评论数 0

WinDbg命令行选项详解

本文内容摘自:http://www.dbgtech.net/windbghelp/如有侵权请联系。WinDbg命令行选项WinDbg命令行使用如下语法:windbg [ -server ServerTransport | -remote ClientTransport ] [-lsrcpath ]...

2018-06-04 10:39:14

阅读数 280

评论数 0

c++异常捕获及异常处理try-throw-catch

一直以来,我对c++的异常捕获功能非常困惑。因为网上几乎99%的关于c++异常捕获的文章给我的感觉就是:c++异常捕获很简单的啦~就是下面这样嘛,如下情景1:try {     int a = 5, b = 0, c = 0;     c = a / b;    // 这里异常 } catch(....

2018-05-11 19:07:51

阅读数 1454

评论数 0

为什么构造函数不能声明为虚函数,析构函数可以

构造函数不能声明为虚函数,析构函数可以声明为虚函数,而且有时是必须声明为虚函数。不建议在构造函数和析构函数里面调用虚函数。构造函数不能声明为虚函数的原因是:1 构造一个对象的时候,必须知道对象的实际类型,而虚函数行为是在运行期间确定实际类型的。而在构造一个对象时,由...

2018-05-03 19:35:04

阅读数 51

评论数 0

C和C++结构体的区别

C的结构体内不允许有函数存在,C++允许有内部成员函数,且允许该函数是虚函数。所以C的结构体是没有构造函数、析构函数、和this指针的。C的结构体对内部成员变量的访问权限只能是public,而C++允许public,protected,private三种。C语言的结构体是不可以继承的,C++的结构...

2018-04-28 11:39:51

阅读数 33

评论数 0

MD(d)、MT(d)编译选项

一、MD(d)、MT(d)编译选项的区别1、编译选项的位置以VS2005为例,这样子打开:1)         打开项目的Property Pages对话框2)         点击左侧C/C++节3)         点击Code Generation节4)         右侧第六行Runti...

2018-04-24 11:46:26

阅读数 122

评论数 0

VMProtectSDK使用教程

一.    接口说明//开始保护处标记(对应于功能设置:反调试、内存保护等等)VMProtectBegin(const char *);//开始虚拟化代码处标记(包括保护设置)VMProtectBeginVirtualization(const char *);//开始变异代码处标记(包括保护设置...

2018-04-23 20:30:43

阅读数 1116

评论数 0

C/C++调用约定__stdcall、__cdecl和__fastcall的区别

__stdcall、__cdecl和__fastcall是三种函数调用协议,函数调用协议会影响函数参数的入栈方式、栈内数据的清除方式、编译器函数名的修饰规则等。如下图所示,可以在IDE环境中设定所有函数默认的调用协议,还可以在函数定义时单独设定本函数的调用协议。调用协议常用场合__stdcall:...

2018-04-23 16:23:35

阅读数 52

评论数 0

DllMain详解

本文转载自:https://blog.csdn.net/benkaoya/article/details/25047811  DLL的进入/退出函数1.1  DllMain简介跟exe有个main或者WinMain入口函数一样,DLL也有一个入口函数,就是DllMain。以“DllMain”为关键...

2018-04-20 14:49:04

阅读数 313

评论数 0

DLL的远程注入技术及注入dll函数调用

本文转载自:https://blog.csdn.net/xuplus/article/details/36051337一、DLL注入DLL的远程注入技术是目前Win32病毒广泛使用的一种技术。使...

2018-04-19 15:34:20

阅读数 1112

评论数 0

C++ string字符串初始化

先来看看C的字符串是如何进行初始化的:char *cpStr="hello world"; char arr1[]="hello world"; char arr2[]={'h','e','l','l','o'};这三种定义c...

2018-04-18 11:09:33

阅读数 1963

评论数 0

使用fstream进行文件读写时如何选择文件打开方式

一、fstream文件打开方式。      ios::in              input         以输入方式打开文件。      ios::out           output        以输出方式打开文件。      ios::app          append   ...

2018-04-17 17:12:43

阅读数 432

评论数 0

为什么要用大写的那些类型修饰符?如INT与int、BOOL与bool

本文转载自:https://blog.csdn.net/yjn001/article/details/3761709一般的任何一个正规的项目开发第一件事情要做的就是在开发环境上架一层自己的环境,主要包括类型定义、内存管理和文件管理。主要的目的...

2018-04-16 20:20:36

阅读数 260

评论数 0

BAT批处理基础知识

批处理命令获取当前盘符和当前目录当前盘符:%~d0当前路径:%cd%当前执行命令行:%0当前bat文件路径:%~dp0当前bat文件短路径:%~sdp0

2018-02-26 17:33:34

阅读数 68

评论数 0

(划重点)汇编语言关键词和重要指令

主要记录一些不容易记但经常用到的汇编语言关键词和重要指令。 循环 loop 执行循环 loope和loopne就是比loop多了一个测试ZF标志位的东西 loope是只有在CX不等于0和ZF=1的情况下才执行循环 loopne是是只有在CX不等于0和ZF=0的情况下才执行循环 ...

2018-01-10 21:06:38

阅读数 478

评论数 0

汇编语言常见术语解释

寄存器 CS(Code Segment):代码段寄存器; DS(Data Segment):数据段寄存器; SS(Stack Segment):堆栈段寄存器; ES(Extra Segment):附加段寄存器。 当一个程序要执行时,就要决定程序代码、数据和堆栈各要用到内存的哪些位置,通过...

2018-01-05 17:43:36

阅读数 321

评论数 0

Windows常用命令行

查看文件的MD5 certutil -hashfile E:\test.exe MD5 其他相关命令: certutil -hashfile E:\test.exe SHA1 certutil -hashfile E:\test.exe SHA256 查看端口状态 netstat ...

2018-01-05 14:07:50

阅读数 137

评论数 0

关于windows系统内存的问题

问题1、如果物理内存只有2GB或更小那么CPU的寻址空间还能达到4GB吗?网友回答: 首先要说明内存寻址空间的大小和我们说的内存条的大小完全是两个概念。不能混为一谈。 4G地址空间只是个虚拟的,方便进程地址管理的。每个进程的4G地址空间只对应着物理内存的某一小部分。内核每建立一个进程都会为它分...

2018-01-04 17:04:15

阅读数 87

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭