自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

沙漠黑鸟的专栏

QT/C++,Windows客户端,浏览器二次开发,杂谈

原创 NSIS-利用BgWorker获取多线程能力,安装包可能偶发崩溃

网上有很多资料,对于自定义界面的NSIS安装包,可以采用BgWorker插件来获得多线程功能; BgWorker插件下载地址: http://nsis.sourceforge.net/BgWorker_plug-in在制作安装包过程中发现,若将File命令,ExecWait等函数放入BgWorker中时,有小概率导致NSIS安装包崩溃。细查,发现BgWorker下载页面有如下说明: Th

2018-01-28 22:04:47 1045

转载 检测到ContextSwitchDeadlock解决方法

参照百度经验:http://jingyan.baidu.com/article/020278116b788d1bcd9ce55e.html简单说:在Visual Studio菜单中【调试】-【异常】弹出对话框,其中的“Managed Debugging Assistants"内去掉ContextSwitchDeadlock异常后的选中,确定后即可。

2016-04-09 09:00:33 2894

转载 一位软件工程师的7年总结

原文出处:http://www.oschina.net/discuss/thread/5001、分享第一条经验:“学历代表过去、能力代表现在、学习力代表未来。”其实这是一个来自国外教育领域的一个研究结果。相信工作过几年、十几年的朋友对这 个道理有些体会吧。但我相信这一点也很重要:“重要的道理明白太晚将抱憾终生!”所以放在每一条,让刚刚毕业的朋友们早点看到哈!2、一定要确定自己的发展

2016-04-06 14:36:40 798

转载 Moq测试基础说谈(四)——Mock类,创建对象,实用工厂

Mock Class定义为: public class Mock : Mockwhere T : class 这的构造方法:Mock()Mock(MockBehavior)Mock(arrayObject>[])Mock(MockBehavior, arrayObject>[]) Mock的泛型实现类,它有很多方法和属性。这里一一列举。(一)方法

2016-02-15 11:11:14 4030

转载 Moq测试基础说谈(三)——属性,常用方法

(一)属性(1)测试准备:public class Customer{public virtual int Unid { get; set; }public virtual string Name { get; set; }}测试var customer = new MockCustomer>();customer.Setup(p => p.Name).Re

2016-02-15 11:09:35 1957

转载 Moq测试基础说谈(二)——Mock方法,方法参数

准备工作:public interface ICustomer{ }(一)方法(1)普通的方法在接口中添加3个方法:void AddCall();string GetCall();string GetCall(string strUser); Mock测试:var customer = new MockICustomer>(); customer

2016-02-15 11:07:14 8937

转载 Moq测试基础说谈(一)——简介,下载

Moq,就是Mock you。读音可以读成Mock~you。是Mock框架的一种。用于测试中的Mock测试。Mock是模拟的意思。Mock是模拟对象的一种技术。它可以用于以下情况(引用):----- 真实对象具有不可确定的行为(产生不可预测的结果,如股票的行情)----- 真实对象很难被创建(比如具体的web容器)----- 真实对象的某些行为很难触发(比如网络错误)-----

2016-02-15 11:04:57 2065

转载 Mock方法介绍

1 现有的单元测试框架单元测试是保证程序正确性的一种有效的测试手段,对于不同的开发语言,通常都能找到相应的单元框架。借助于这些单测框架的帮助,能够使得我们编写单元测试用例的过程变得便捷而优雅。框架帮我们提供了case的管理,执行,断言集,运行参数,全局事件工作,所有的这些使得我们只需关注:于对于特定的输入,被测对象的返回是否正常。那么,这些xUnit系列的单元测试框架是

2016-02-15 10:41:09 5878

转载 单元测试NUnit教程

测试代码必须做以下几件事情:  准备测试所需的条件  调用要测试的方法  验证被测方法的行为和期望的行为是否一致  完成后清理各种资源为了使用NUnit框架,需要做这些工作:  1.使用using声明引用必要的NUnit类(并添加一个指向NUnitDll的引用)  2.定义一个测试类,必须是Public的、包换一个public的没有参数的构造函数,并且在类定义上

2016-02-15 09:13:07 2025

转载 Nunit 2.6 无法调试.Net Framework 4.0

好久没有写单元测试了,拿出来一个原来的单元测试在跑,突然发现断点加载不上了,查了一下,说是要修改nunit.exe.config[html] view plaincopyprint?configuration>       The GUI only runs under .NET 2.0 or higher. The     us

2016-02-15 09:01:47 909

转载 初识Ildasm.exe——IL反编译的实用工具

Ildasm.exe 概要:一.前言:     微软的IL反编译实用程序——Ildasm.exe,可以对可执行文件(ex,经典的控制台Hello World 的 exe 可执行文件)抽取出 IL 代码,并且给出命名空间以及类的视图。在讲述如何反编译之前,有必要从虚拟CPU的角度来看CLR,这样有助于先从正面了解代码执行过程。虚拟CPU:     .N

2016-01-03 12:54:06 2961

转载 提高你开发效率的十五个Visual Studio 2010使用技巧

相信做开发的没有不重视效率的。开发C#,VB的都知道,我们很依赖VS,或者说,我们很感谢VS。能够对一个IDE产生依赖,说明这个IDE确实有它的独特之处。无容置疑,VS是一个非常强大的IDE,它支持多语言编辑。支持C#,VB,C/C++,HTML......它拥有强大的调试编译功能。它让我们不用去记住那些安装,环境变量设置,服务器设置,编译的繁琐过程。高度集成化。凡事有利有弊,在敏捷开发盛行的时代

2016-01-02 18:36:36 1288

转载 译文:C#中的弱事件(Weak Events in C#)

(原创翻译文章·转载请注明来源:http://blog.csdn.net/hulihui)原文:Weak Events In C#: Different approaches to weak events. by Daniel Grunwald. Download source code - 15.5 KB翻译前序翻译后记目录引言究竟什么是事件?第1部分:监听方

2016-01-01 23:30:21 2979 1

转载 C++, Java和C#的编译过程解析

1.1.1 摘要我们知道计算机不能直接理解高级语言,它只能理解机器语言,所以我们必须要把高级语言翻译成机器语言,这样计算机才能执行高级语言编写的程序,在接下来的博文中,我们将介绍非托管和托管语音的编译过程。1.1.2正文非托管环境的编译过程(C/C++)纯C/C++的程序通常运行在一个非托管环境中,类是由头文件(.h)和实现文件(.cpp)组成,每个类形成了一个单独

2015-12-30 23:06:54 636

转载 Android studio运行时乱码 编码问题 閿欒: 缂栫爜UTF-8鐨勪笉鍙槧灏勫瓧绗?

编译的时候老是出现如下错误:MainActivity.java:24: 閿欒: 缂栫爜UTF-8鐨勪笉鍙槧灏勫瓧绗?看也看不懂,就知道是编码出现了问题。一般的思路是,找到setting找到File Encodings节点,右边有三项,都设为UTF-8,在编译一下,还是出错.... 我就纠结了 网上搜了一下,有一个答案:这主要是gradle

2015-12-23 21:02:17 12329 2

转载 eclipse下的android开发环境突然崩溃

原来一直正常使用,突然出现了如下错误,不能打开android工程,现有工程也不能使用,请问这是怎么回事?An error occurred while automatically activating bundle com.android.ide.eclipse.adt (1).解决办法:进入dos后,再进到eclipse安装目录目录下, eclipse.exe -clean试

2015-12-19 23:17:52 942

转载 Adb connection Error:远程主机强迫关闭了一个现有的连接 解决方法

用真机调试程序的时候,eclipse 的 Console 总是出现如下的错误"Adb connection Error:远程主机强迫关闭了一个现有的连接"。[2013-07-12 10:37:36 - DeviceMonitor] Adb connection Error:远程主机强迫关闭了一个现有的连接。[2013-07-12 10:37:38 - DeviceMonitor] Con

2015-12-19 17:56:47 715

转载 Eclipse快捷键大全

Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行交互位置(同上)Alt+← 前一个编辑的页面Alt+→ 下一个编辑的页面(当然是针对

2015-10-22 21:33:03 397

转载 Eclipse开发环境搭建

一、jdk安装与配置目前jdk的最新版本为jdk8!下载地址:https://jdk8.java.net/download.html选择适合平台的安装文件,windows32下目前最新版本为:jdk-6u25-ea-bin-b03-windows-i586-27_feb_2011.exe默认安装即可,安装完成后要配置环境变量。比如,我的安装目录为:C:\Pr

2015-10-20 22:58:08 1323

转载 Cocos2d-x坐标系

Cocos2d-x坐标系,参照:http://www.tairan.com/archives/3367

2015-04-20 22:51:16 377

原创 Cocos2d-x 3.0版本Win7-VS2012开发环境搭建

开始学习Cocos2d-x,第一步当然是要搭建一个开发环境,下面让我们一步一步来搭建开发环境。cocos2d-x很多tools都是需要使用Python的,因此我们需要先安装Python环境!

2015-03-26 12:50:51 855

转载 Windows下搭建Android开发环境

Java目前推出了最新版本Java1.8,相比较之前的Java7多了一些特性,环境变量的配置也有了一些变化,小编今天为大家详细解答下Java8的具体下载安装以及配置变量的方法。工具/原料Java8安装包电脑一台方法/步骤Java1.8的下载,推荐到Java官网下载jdk进行安装

2015-03-16 21:58:46 518

转载 UNIX与LINUX的区别

转至:http://www.goceanedu.com.cnUNIX是历史最悠久的通用操作系统。1969年,美国贝尔实验室的K.Thompson和D.M.Ritchie在规模较小及较简单的分时操作系统MULTICS的基础上开发出UNIX, 当时是在DEC的PDP—7小型计算机上实现的,1970年正式投入运行。此后数年,UNIX一直是一个限于在AT&T内部使用的操作系统。1971年,发展出以

2015-03-09 20:52:56 563

转载 .NET连接oracle数据库方式

一 OracleClient方式,是微软专门针对Oracle数据库开发的(通常情况使用)  引用类库:System.Data.OracleClient.dll   命名空间:System.Data.OracleClient  常用类:OracleConnection、OracleCommand、OracleDataAdapter、OracleTransaction、OracleData

2014-07-08 11:54:14 609

转载 ADO.Net对Oracle数据库的操作【转载】

一 ADO.Net简介访问数据库的技术有许多,常见的有一下几种:开放数据库互联(ODBC)、数据访问对象(DAO)、远程数据对象(RDO)、 ActiveX数据对象(ADO)。我们今天主要要学习ADO.NET中OracleClient命名空间中的几个常用对象,用这作为对ADO.NET认识学习的开始。ADO与ADO.NET既有相似也有区别,他们都能够编写对数据库服务器中的数据进行访问和操作的

2014-07-07 15:31:44 834

转载 DevExpress.Net框架库解析(1):DevExpress框架库简介

DevExpress框架库是一套基于.Net的UI控件库,也是目前.Net下最为强大的完整的一套UI控件库。它主要集成了WinForm和WebForm下的一些常用控件和UI元素。可以在它的官方网站下载试用版。官方网站:http://www.devexpress.com/ 1.             版本说明与安装:a)       DevExpress有好几个可用的版本,而且不同

2014-06-02 15:04:02 3011

原创 MVC模式总结

在较大的系统中,一个类的功能应该尽可能的相对简单,便于之后的维护和扩展。MVC模式可以很好的拆分类功能。M-->Model,模型对应数据,程序中命名为DO,Data Object,只负责数据的存储,序列化等;V-->View,显示,程序中命名为VO,View object,负责数据的显示;C-->Control,控制,程序中命名为BO,Business Object,负责业务逻辑的处理

2013-12-10 16:07:01 1229

原创 C#中导出PDF格式文档

最近研究将利用GDI+绘制的图形导出到PDF文档之中,网上有不少资料。其中利用iTextSharp资料较多。同时也可以利用ComponentOne提供的库导出PDF文档。两者调用的代码都相对简单,在此不做叙述。主要对比两者的优缺点:1、iTextSharp库是免费的第三方库,而ComponentOne是收费的;2、iTextSharp提供的类接口相比ComponentOne稍显复杂。iTe

2013-12-10 14:48:37 1865

转载 C#中HashTable的用法

一,哈希表(Hashtable)简述  在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似keyvalue的键值对,其中key通常可用来快速查找,同时key是区分大小写;value用于存储对应于key的值。Hashtable中keyvalue键值对均为object类型,所以Hashtable可以支持任何类型的

2013-11-29 15:52:02 667

原创 C#利用GDI+绘制旋转文字,矩形内可以根据布局方式排列文本

C#中利用GDI+绘制旋转文本的文字,网上有很多资料,基本都使用矩阵旋转的方式实现。但基本都只提及按点旋转,若要实现在矩形范围内旋转文本,资料较少。经过琢磨,可以将矩形内旋转转化为按点旋转,不过需要经过不少的计算过程。利用下面的类可以实现该功能。using System;using System.Collections.Generic;using System.Drawing;using

2013-11-28 17:31:15 14210 1

原创 C#中根据注册表查找字体与字体文件路径对应关系

private SortedDictionary ReadFontInformation() { var dictionary = new SortedDictionary(); RegistryKey mykey = Registry.LocalMachine; // 打开注册表

2013-11-27 17:01:28 2787

转载 C# 类的序列化[Serializable]

简介 序列化是指将对象实例的状态存储到存储媒体的过程。在此过程中,先将对象的公共字段和私有字段以及类的名称(包括类所在的程序集)转换为字节流,然后再把字节流写入数据流。在随后对对象进行反序列化时,将创建出与原对象完全相同的副本。在 面向对象的环境中实现序列化机制时,必须在易用性和灵活性之间进行一些权衡。只要您对此过程有足够的控制能力,就可以使该过程在很大程度上自动进行。例 如,简单的二

2013-11-22 15:56:29 3334

转载 C#对象序列化

要让一个对象支持.Net序列化服务,用户必须为每一个关联的类加上[Serializable]特性。如果类中有些成员不适合参与序列化(比如:密码字段),可以在这些域前加上[NonSerialized]特性。  C#支持三种序列化格式:二进制格式(使用BinaryFormatter序列化器)、SOAP格式(使用SoapFormatter序列化器)、XML格式(使用XmlSerializer序列

2013-11-14 16:22:16 1373

转载 C#中List<T>对象的深度拷贝问题

一、List对象中的T是值类型的情况(int 类型等)对于值类型的List直接用以下方法就可以复制:[csharp] view plaincopyprint?List oldList = new List();   oldList.Add(..);   List newList = new List(oldList);

2013-11-14 16:04:05 2431

转载 C#反射

[转]C#反射反射(Reflection)是.NET中的重要机制,通过放射,可以在运行时获得.NET中每一个类型(包括类、结构、委托、接口和枚举等)的成员,包括方法、属性、事件,以及构造函数等。还可以获得每个成员的名称、限定符和参数等。有了反射,即可对每一个类型了如指掌。如果获得了构造函数的信息,即可直接创建对象,即使这个对象的类型在编译时还不知道。 程序代码在编译

2013-11-07 15:27:33 1055

转载 C#中Dispose,finalize,GC,析构函数区别

释放类所使用的未托管资源的两种方式:        1.利用运行库强制执行的析构函数,但析构函数的执行是不确定的,而且,由于垃圾收集器的工作方式,它会给运行库增加不可接受的系统开销。        2.IDisposable接口提供了一种机制,允许类的用户控制释放资源的时间,但需要确保执行Dispose()。       一般情况下,最好的方法是执行这两种机制,获得这两种机

2013-10-22 15:18:27 5091

原创 C#中的const与readonly的异同

我们知道,const和static readonly的确很像:通过类名而不是对象名进行访问,在程序中只读等等。在多数情况下可以混用。二者本质的区别在于,const的值是在编译期间确定的,因此只能在声明时通过常量表达式指定其值。而static readonly是在运行时计算出其值的,所以还可以通过静态构造函数来赋值。明白了这个本质区别,我们就不难看出下面的语句中static readonly和c

2013-10-21 16:34:29 999

转载 C#之相等比较

C#中的对象都继承自System.Object对象,分为引用类型和值类型两种,所以对象的相等比较而言就分两种,一种是比较引用,一种是比较值。System.Object默认提供了三个方法来进行对象的相等比较:静态的ReferenceEquals()和Equals()的两个版本,加上“==”运算符共有四种来进行对象相等比较的方法。  相等比较的方法:静态的ReferenceEquals()、E

2013-10-21 14:51:34 895

转载 数组,ArrayList,List的区别

在C#中数组,ArrayList,List都能够存储一组对象,那么这三者到底有什么样的区别呢。数组    数组在C#中最早出现的。在内存中是连续存储的,所以它的索引速度非常快,而且赋值与修改元素也很简单。[csharp] view plaincopy"font-family:SimSun;font-size:18px;">//数组

2013-10-21 13:04:43 1415

转载 cocos2d-x初探学习笔记(3)--动作(CCAction)

小满(bill man)个人原创,欢迎转载,转载请注明地址,小满(bill man)的专栏地址http://blog.csdn.net/bill_man1.内存自动回收Cocos2d—x提供了一种类似java的内存回收机制,,在java中定义的对象实例,不用担心他什么时候被释放,因为java虚拟机会在变量不再使用时自动释放内存,而在C++中,不再使用这个变量时,我们需要手动释放

2013-10-14 22:02:52 987 1

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