自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

norman_irsa的博客

foolish, sometimes hungry

  • 博客(32)
  • 资源 (2)
  • 收藏
  • 关注

原创 Windows系统中的环境变量asl.log是什么

windows系统中的asl.log是什么

2022-11-18 10:06:28 876 1

原创 隐藏的坑——C++中局部静态变量的构造/析构顺序问题

首先,这是个“老问题”了,今番再论,实在是有感而发。首先要明确一条原则:构造与析构的顺序是相反的。个人总结,在这个知识点的理解和掌握上,有四层“境界”:第一层:理解一个类内部各个数据成员之间的构造/析构顺序。这里需要注意的是,数据成员的构造顺序与其在类中声明的顺序相同,而无论构造函数中初始化列表中的顺序,这个不难;第二层:理解基类和派生类之间的构造/析构顺序。这似乎是大部分C++教材或者书籍着墨最多的知识点,当然也不难掌握;第三层:理解在函数内部出现的局部变量的构造/析构顺序。同上,也不难掌.

2021-03-13 20:37:13 3355 1

原创 IKBC键盘Win键失效的解决办法

之前入手了一支IKBC键盘,还特意选了一款带Win键的型号,想着基本上写文档、写代码以及日常使用基本足够了。可是用了没多久,发现Win键突然失效了,使得Windows系统下的诸多操作无法正常进行。上网一查,原来是Win键被意外锁定了,解决的办法也很简单,解锁就是了,操作办法:Fn + 右Win。那么如何重新锁定Win键呢?Fn + 左Win。新技能get!...

2021-03-13 11:18:19 20718 23

原创 word2010撤销功能的恢复方法

一直使用的MS Office Word的撤销功能突然不能使用了,莫名其妙!缺少这个功能对于写东西来说又十分的不方便。一开始在“文件”——“选项”中查找设置的界面,一番搜索下来却一无所获。无奈只好求助度娘,欣慰的是,没有什么广告,很快找到了解决办法,这里做个记录。1.打开注册表编辑器2.展开到下列注册表子项: HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Word\Options3.打开“编辑”菜单,选择“新建”,然后单击“DWORD .

2020-09-01 19:27:43 1553

原创 “飞鸽传书”无法显示局域网用户问题的解决办法

为了方便文件传输,在同个局域网内的两台机器上安装了飞鸽传书(5.1版本)。运行后确发现互相都看不到对方——工作组的用户列表是空的,等待一段时间后不断点击刷新列表按钮,依然空白。相信其他同学也遇到类似问题,遂将问题解决过程记录下来供参考:1.确认是否在同个局域网内由于两台电脑都使用WiFi接入局域网,因此查看WiFi的SSID是否相同经检查两台电脑接入WiFi的SSID相同,排除...

2020-03-27 16:17:41 5492

原创 error C3861: '_FPOSOFF': identifier not found

把Win7下使用vs2005可正常编译通过的一个ActiveX工程代码拿到Win10下使用vs2012编译,突然冒出这样的错误:error C3861: '_FPOSOFF': identifier not found解决办法:1.找到工程中的预编译头文件:stdafx.h2.删除其中的define语句:#define _CSTDIO_3.重新编译,通过。原因简析:直...

2020-03-09 17:55:00 356

原创 Error 2738. Could not access VBScript run time for custom action.

这个错误的字面意思是无法访问VBScript运行时。这个错误常见于Windows下各种应用程序的安装或卸载过程。某些应用程序的安装/卸载程序使用VBScript作为过程脚本,而VBScript的运行需要依赖其运行时环境。解决方法也很简单:1.确定你的机器上有vbscript.dll这个文件。如果有的话,则跳过这一步。如果没有的话,可以从别的安装相同版本的windows系统中拷贝一份...

2020-03-09 17:28:38 1370

原创 应用程序无法正常启动(0xc000007b)的可能原因和解决办法

运行程序,什么都没看到,系统首先弹出出错信息提示框,简单且粗暴:“应用程序无法正常启动(0xc000007b)”文字意思很明确,但跟没说一样。于是我尝试调查一下这个类似某种暗语的0xc000007b含义究竟是什么,很遗憾,一无所获。(当然如果有哪位同学知道的话,不妨留言告知一下,非常感谢!)。尽管如此,也不妨碍来做个总结:首先,0xc000007b这个错误一般发生在应用程序所依赖的动态...

2020-03-04 01:38:21 20152

原创 控制台打印CopyRight版权符©

在往控制台打印诸如版权符©,或者注册商标符®时,往往发现输出的是问号(?)。原因很简单,就是控制台当前使用的Code Page中找不到对应的字符,BTW,实际上几乎所有的输出异常或乱码都跟Code Page有关。方法一:使用_setmode,代码如下:#include <io.h>#include <fcntl.h>void main(void){ ...

2020-02-14 20:05:20 1166

原创 Retrieving the Last-Write Time

获取到的文件时间总是与本地时间对不上,在MSDN中找到了答案,这里做个记录:The following example uses the GetFileTime function to retrieve the last-write time for a file. It converts the time to local time based on the current time-zon...

2020-02-14 19:34:39 184

转载 Windows RC版、RTM版、OEM版、RTL版、VOL版的区别

家在安装WINDOWS操作系统(WINDOWS XP、WINDOWS VISTA、WINDOWS 7)时候,经常会遇到操作系统名称后面有个尾缀,诸如Windows RC版、CTP版、RTM版、OEM版、零售版、VOL版等等,这些版本具体都是什么意思呢,天缘博客就来列表比较一下。Windows 版本号标识区别一览表:版本缩写 版本全称 版本意义 Alpha版 Alpha...

2020-02-10 11:23:49 1178

原创 VerQueryValue与CLID

VerQueryValue是常用的用于查询/获取PE文件信息的API。但对于某些exe或dll文件,却出现了问题。一般的做法,首先通过如下代码,获取文件的语言代码和代码页信息:typedef struct _LANGANDCODEPAGE { WORD wLanguage; WORD wCodePage;}LANGANDCODEPAGE; LANGANDCODEPAGE...

2020-02-07 19:40:44 278

原创 再说setlocale——关于区域名称

我们在进行控制台等程序开发的时候,往往会遇到中文输入输出异常的问题。大部分的资料都告诉我们,要在输出之前通过调用setlocale函数来设置区域名称——将区域名称设为“chs”,代码如下:::setlocale(LC_ALL, "chs");也有这么写的:::setlocale(LC_ALL, "chinese-simplified");只告诉我们要这样做,也简单说了原因,但这...

2020-02-07 19:10:09 722

原创 操作系统的语言ID(LCID)

操作系统的语言ID(Language Identifier)基本上等同于LCID(Locale Identifier,也叫做区域标识),可以认为两者是相同的。一个LCID由主语言标识和子语言标识组成。这个如何理解呢,其实很简单:例如:Locale identifier Language Sublanguage - locale Default code page ...

2020-02-07 18:57:31 2083

原创 C2299:显式专用化不能复制构造函数或复制赋值运算符

Visual C++ 2005以前版本的 Visual c + + 允许复制构造函数或复制赋值运算符的显式专用化。若要解决 C2299,不要复制构造函数或赋值运算符的模板函数,但而是采用一个类类型的非模板函数。 通过显式指定模板参数将调用复制构造函数或赋值运算符的任何代码需要删除的模板参数。示例如下:// C2299.cpp // compile with: /c class...

2020-01-16 18:42:52 287

原创 Windows中如何判断窗口是否可见(Visible)

一般来说,使用Windows API: IsWindowVisible即可对某个窗口是否可见进行判断,相信大部分数据和资料也是这样介绍的,而且这个API名称如此直白,开发者基本上不会有所质疑。然而在某些情况下,窗口在显示屏上是可见的,但IsWindowVisible返回的却是FALSE。根据我的经验,如果某个窗口不属于当前UI线程,则会出现这个问题。(如果还有其他情况能产生这个错误,不妨留言告...

2019-12-29 12:43:41 9240

转载 C++ using关键字作用总结

C++ using关键字作用总结原本想对using的用法进行一个总结的,不过发现已经有人这么做了,而且写得不错,就直接引用啦,感谢原文作者原文链接:https://www.cnblogs.com/ustc11wj/archive/2012/08/11/2637316.html1.在当前文件中引入命名空间这是我们最熟悉的用法,例如:using namespace std;...

2019-12-19 16:32:19 655

原创 C++语法点滴

这篇文章用于记录一些容易被忽略或鲜为人知的C++语法点随时更新……1.默认参数在声明一个具有默认参数的函数或方法时,一般的写法如下:void Foo(int iData, bool bFlag = true);偷懒一点,也可以写成这样:void Foo(int iData, bool = true);2.拷贝构造函数的形式只有一种,即 X::X(const X&am...

2019-12-19 15:56:06 102

原创 VS中的字符串可视化对话框

在使用VS进行代码调试时,受屏幕大小所限,当我们要查看的字符串变量内容过长时,监视(Watch)窗口就无法显示完整的极其偶然的机会,发现了这个隐藏在vs中的小工具,如下图所示:点击这个放大镜图标,这个“文本可视化工具”就出现了,如下图所示:这个工具对于查看较长的字符串会很有帮助(在查看窗口中,对于过长的字符串只显示前半部分,并以“…”结尾,查看起来不方便)。BTW,官方介绍如下...

2019-12-18 15:26:27 901

原创 C++类成员的初始化顺序解析

为什么写这个话题,因为载在这里了,所以有必要总结一下,同一个错误总不能犯两次不是么在大多数情况下,类成员的初始化顺序对程序运行是没有影响的,原因很简单,类成员在类构造函数中进行初始化时,是相互独立的,因此谁先谁后并不重要。然当成员变量的初始化有顺序依赖时,问题就出现了。这个问题的答案也很简单——构造函数中,成员变量的初始化顺序跟类声明中成员变量的声明顺序一致,而与初始化列表中顺序无关...

2019-12-18 12:49:35 524

原创 C/C++“潜规则”之——默认的private

private这个关键词是C++中出现的,因此这篇文章应当对应的是C++的语法总结众所周知,在类声明中,默认的访问修饰符是private,例如:class Foo{ int m_iData; //默认为private私有成员public: Foo(int iData); int GetData(void) const;};那么这个默认的pr...

2019-12-18 11:48:26 1508

原创 如何让自定义类能像cout(ostream)那样输出数据

相信不少C++程序员初次看到下面的写法时,一定留下了深刻印象:#include<iostream>using namespace std; int main() { cout << "Hello World!" << endl;}至少,对于当时从C语言转向学习C++的我是深感震惊,如此形象直观的输出方式,简直是黑科技。那么如何在自定义类...

2019-11-09 19:19:22 2072

原创 C++虚函数返回值类型的协变(covariant)问题

先看代码:class CBase{public: virtual int DoJob(void){ return 0; } virtual CBase* Clone(void){ return new CBase; } virtual CBase& GetStatic(void){ static CBase StaticObj; return Stati...

2019-11-02 16:01:16 4381

原创 从++++谈左值右值

看如下代码:int iData=0;++++iData;iData++++;两个问题:1.上面的代码能通过编译吗?2.如果能,结果是什么;如果不能,为什么?相信对C/C++语法熟悉的人来说,第一个问题并不难,iData++++是非法的。有点难度的是解释为什么不能通过编译。要简单回答这个问题,就涉及到了左值和右值的概念。简单理解,赋值操作符=左边的就是左值,...

2019-10-31 20:26:50 141

原创 NULL与nullptr

NULL和nullptr都是用来表示空指针的。但NULL是什么?要回答这个问题,要看在什么语言环境下。纯C语言环境,譬如说Tuber C那个年代,没有NULL,需要自己通过#define的方式定义,一般定义为0而到了C/C++语言环境,这个问题就稍稍复杂了一点换句话说,到了C/C++编译器中,C中的NULL被定义为了地址为0的void类型指针,而不是0这个数值为什么呢,因为...

2019-10-20 19:01:26 166

原创 C++风格的类型转换总结

总结一下C++的类型转换:(1)static_cast:基本上等同于C的类型转换,简单粗暴;(2)const_cast:用于去除内建类型或对象的const或volatile属性,当然,以前者为多。个人认为,应当尽量避免使用,如果真的要使用const_cast,得认真思考一下是不是设计上有可以改进的地方;C++还有一种个人感觉较为奇特的去除变量const属性的方法,代码如下:con...

2019-10-20 17:38:28 243

原创 优先考虑引用!Think more of reference than pointor

作为一个C++的专属话题,相关的文章和资料已经很多了,这里把个人认为精要的部分提出来,供诸位品评(1)由于不存在空引用,因此函数参数列表中使用引用相比指针意味着更加高效——因为引用不用像指针参数那样判断是否为空;(2)从语义上来看,引用是某个内建类型或对象的别称,它是从一而终的,而指针作为存储内存地址的变量则要活泼得多。理解两者语义的差别,能帮助我们作为更为明智的判断;暂时就想到...

2019-10-20 17:20:18 115

原创 gcvt()、ecvt()和fcvt()函数

头文件:#include <stdlib.h>这三个函数都是将数字转化为字符串,简单区别如下:1.gcvt()所转换后的字符串包含小数点或正负符号2.ecvt()的转换结果中不包括十进制小数点3.fcvt()的转换结果中不包括十进制小数点...

2019-09-10 15:18:25 2355 1

原创 C/C++“潜规则”之——默认返回值

相比C/C++”潜规则“之默认数据类型,这条”潜规则“个人感觉要更为隐晦,也更容易引发错误。看代码:int Bar( void ){ if(FALSE) { return 1; }}int iResult = Bar(void);请问:1.上述代码能通过编译吗?2.如果能的话,那么iResult的值...

2019-09-08 14:42:04 2197 3

原创 C/C++“潜规则”之——默认数据类型

原则上来说,C/C++是一种严格数据类型的语言,简单说,语法对于函数声明、赋值、传参等涉及到数据类型的地方都会有严格的验证和匹配规则。但也有”例外“——C/C++的潜规则之默认数据类型。这里举两个例子:1.函数参数bool DoSomething(unsigned Data);上面的写法是合法的,可以通过编译,其中,Data的数据类型是unsigned int,即无符号整...

2019-09-08 14:29:50 977

原创 关于浮点数的EPSILON

如何获取EPSILON的值在C语言中,float和double的EPSILON值在float.h头文件中以宏的方式给出,分别是FLT_EPSILONDBL_EPSILON在C++中,则可以numeric_limits模板类的epsilon方法获取到,分别是std::numeric_limits<float>::epsilon()std::numeric_lim...

2018-06-09 10:54:59 20731

原创 再谈C++逐行读取文本文件

要说使用C++逐行读取文本文件(通常为.txt文件),最为常见的写法是这样的:std::string strLine; while(getline(file,strLine)) { ……}这里忽略了一个重要的因素——文本的编码方式。打开windows自带的记事本程序,留意观察“保存”对话框,其右下角提供了文字编码选择下拉列表,除了大家熟知的ANSI和UNICODE编码,...

2018-06-08 23:43:32 1825

Effective GUI Test Automation

GUI界面自动化自测方法与工具 使测试者无须手工编写测试脚本!

2013-11-10

一种改进的GUI测试框架DART

针对当前的图形用户界面自动化测试中存在的局限性,提出一种每日自动回归测试(DART)框架的改进方案。研究DART流程、事件流图,包含了事件关联图的方法,实现对事件流图的优化,并采用权重选择法对DART方法进行改进,使之成为一种高效、简洁的自动冒烟测试框架。

2013-11-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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