自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

vLinker的专栏

Write the Code.Change the World.

  • 博客(38)
  • 收藏
  • 关注

原创 java 编译时出现'\ufeff' 编码错误

使用QtCreator 编写Android 上的java程序时,编译总是出现'\ufeff' 错误。解决办法:取消该java文件的UTF-8 BOM,使用无BOM编码。在QtCreator 工具-> 选项 -> 文本编辑器 -> 行为  中,将UTF-8 BOM 选项选择为 总是删除。或者用文本编辑器打开该java文件,选择无BOM的UTF-8保存。 ...

2018-05-11 11:32:01 1134

原创 QML中与Loader source 中的signal与property交互问题

主要内容:1.  Loader中的signal信号交互;2.  Loader中的property属性交互;看如下代码://LoadedModule.qmlimport QtQuick 2.0Rectangle { id:root; width: 200; height: 100; color: "blue"; property

2016-07-29 11:00:42 3118

转载 串口通信编程--多线程异步方式

目录一串口通信基础       1.1串口通信原理与特点     1.2串口通信的传输方式     1.3串口通信的同步技术     1.4串行接口标准     二 API函数实现串口通信   2.1打开串口 2.1.1串口是否有驱动    2.1.2连接串口    2.1.3串口逻辑端口号大于10无法打开问题 2.2串口配置 2.2.1设置缓冲区大

2015-08-29 22:20:51 851

转载 如何使用vs2008 C#程序联合调试C++dll

调试方法:【dll工程和调用dll的exe工程在同一个解决方案中】dll工程,属性-配置属性-调试-把命令 改为调用该dll的C# exe工程的bin\Debug\*.exedll工程,属性-配置属性-调试-把调试器类型 设置为混合dll工程,属性-配置属性-常规-把输出目录设置为调用该dll的exe工程的bin\Debug目录下在dll工程中打好断点,然后重新生成dll工程,为了

2015-05-24 22:32:23 566

转载 关于THREADINFO结构

线程为窗口维护一个threadinfo结构, threadinfo数据结构: ------------------ |登记消息队列指针| ------------------ |虚拟输入队列指针| ------------------ |发送消息队列指针| ------------------ |应答消息队列指针| ------------------ 

2015-04-03 13:22:19 1617

转载 x86—EFLAGS寄存器详解

鉴于EFLAGS寄存器的重要性,所以将这一部分内容从处理器体系结构及寻址模式一文中单独抽出另成一文,这部分内容主要来自Intel Developer Mannual,在后续的内核系列中遇到的许多和EFLAGS寄存器有关的内容将直接从本文引用。众所周知,IA-32体系结构为通用系统(general system)提供了16个基本的程序执行寄存器:包含一些通用目的寄存器(General-purpo

2015-04-02 17:30:32 863

转载 Qt+CodeBlocks+MinGw环境配置

1、下载Code::Blocks,安装到d:\CodeBlocks2、下载MinGw4.4.0,安装到d:\CodeBlocks\MinGw3、配置环境变量右键“我的电脑”“属性”, 选择“高级”,“环境变量”,在“用户变量”中添加Mingw;点击“新建”,新建三个变量Path,Include,LibPath=D:\CodeBlocks\

2015-03-31 18:48:40 1146

转载 CLR内存管理之释放非托管资源

上篇文章中我提到,CLR通过栈指针给变量分配内存空间,通过GC来释放不再引用的内存空间。GC虽然减少了程序员处理内存的困难,但它也有局限性,它不能处理像文件句柄、网络连接、数据库连接这样的非托管资源。在定义一个类时,我们使用两种机制来自动释放非托管资源:1,声明一个析构函数(或终结器finalizer),作为类的一个成员2,在类中实现System.IDisposable接口

2015-03-10 10:29:28 829

转载 C#条件编译选项:Conditional(代替#if...#endif)

#if (Debug && Trace)    #define DebugAndTrace#endifusing System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Diagnostics;namespace ConsoleApplicati

2015-02-02 10:18:41 515

转载 C#实现多国语言的界面切换

在PictureStudio中,我需要实现多国语言的界面切换,而且切换各种语言版本的时候希望程序是动态的加载语言,不希望切换语言后重新启动程序。实现这样的功能可以有很愚蠢的方法,比如说你可以在程序中为界面上的所有国家的文字信息,在代码中进行赋值,你可以想像这样的做法是可以的,但绝对是愚蠢的,代码不应该写得这么丑陋。如果需要实现10个不同语言的版本,那你的代码中每一个涉及到界面文字的控件都要

2015-01-19 09:30:19 2787

转载 Windows启动过程详解

我们每天都在和Windows打交道,很多人可能每天都要面对多次Windows的启动过程,可是您知道在Windows的启动过程背后,隐藏着什么秘密吗?在这一系列过程中都用到了哪些重要的系统文件?系统的启动分为几个步骤?在这些步骤中计算机中发生了什么事情?这些就是本文试图告诉您的。本文的适用范围随着技术的发展,我们能够见到的计算机硬件种类越来越多。以计算机上最重要的组件CPU来说,目前

2015-01-18 21:57:22 1547 1

转载 多线程的那点儿事(之C++锁)

编写程序不容易,编写多线程的程序更不容易。相信编写过多线程的程序都应该有这样的一个痛苦过程,什么样的情况呢?朋友们应该看一下代码就明白了,[cpp] view plaincopyvoid data_process()  {      EnterCriticalSection();          if(/* error 

2015-01-14 11:02:04 499

转载 Android中的TabHost

介绍 有时,我们想在一个window中显示多个视图,这时就需要用到Tab容器。在Android里它叫TabHost。使用TabHost有两种方式:在相同的activity中使用TabHost导航多个视图使用TabHost导航多个Activity(通过intents)Tab应用的结构TabHost的Activity的结构如下:先看个示例:layou

2015-01-05 09:43:18 573

转载 Windows 64编程中寄存器的使用

下面是摘自 MSDN 的文章,在 Win64 下的 registers 用途RegisterStatusUseRAXVolatileReturn value registerRCXVolatileFirst integer argumentRDXVolatileSecond integer

2014-12-20 09:56:28 1650

转载 谈谈对APC的一点理解

谈谈对APC的一点理解异步过程调用(APCs) 是NT异步处理体系结构中的一个基础部分,理解了它,对于了解NT怎样操作和执行几个核心的系统操作很有帮助。1) APCs允许用户程序和系统元件在一个进程的地址空间内某个线程的上下文中执行代码。2) I/O管理器使用APCs来完成一个线程发起的异步的I/O操作。例如:当一个设备驱动调用IoCompleteRequest来通

2014-12-06 10:31:16 850

转载 结构体中的冒号

题目: struct A { char t:4; char k:4; unsigned short i:8; unsigned long m; } sizeof(A)=?(不考虑边界对齐)7,如果考虑边界对其,则为8 以下段落引用来源:http://daixinghe.blog.163.com/blog/static/1843615920

2014-11-21 14:31:39 690

转载 Lua 与C交互

Lua和C之间的交互(一)            Lua 调C函数 1.        什么样类型的函数可以被Lua调用 typedef int (*lua_CFunction) (lua_State *L); 2.        符合类型的函数怎样处理后才可以被Lua调用使用lua_register或者 lua_pushfunction和lua_setglobal

2014-11-13 20:48:54 558

转载 C语言宏定义技巧(常用宏定义)

1,防止一个头文件被重复包含 #ifndef COMDEF_H #define COMDEF_H   //头文件内容 #endif 2,重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。 typedef  unsigned char      boolean;     /* Boolean value type. *

2014-11-05 14:08:29 611

转载 SEH异常处理学习总结

前一段时间,在看异常处理一章内容的时候,发现这一部分还真的挺有尿水:)所以上网搜了一下有关内容,呦嗬,还挺丰富的。当然有些自己还是看不懂,现在就将这些宝贝拿出来跟大家共享一下。首先我们看一下使用异常处理的几种情况:A. 用来处理非致命的错误B. 对API函数的参数合法性的检验(假设参数都是合法的,只有遇到异常的时候进行合法性检验)C. 处理致命错误(退出时最好的选择,但是有的时候可

2014-11-02 16:19:41 736

转载 Java:String、StringBuffer和StringBuilder的区别

1 StringString:字符串常量,字符串长度不可变。Java中String是immutable(不可变)的。String类的包含如下定义:[java] view plaincopy/** The value is used for character storage. */  private final char 

2014-10-09 14:55:51 501

原创 C#的运行机制

.net框架下的所有语言,实际上都是把代码翻译成中间语言(MSIL)

2014-09-15 15:43:14 1863

转载 从C#程序中调用非受管DLLs

从所周知,.NET已经渐渐成为一种技术时尚,那么C#很自然也成为一种编程时尚。如何利用浩如烟海的Win32 API以及以前所编写的 Win32 代码已经成为越来越多的C#程序员所关注的问题。本文将介绍如何从C#代码中调用非受管DLLs。如果某个函数是一个带有串类型(char*)输出参数的Win32 API 或者是DLL输出函数,那么从C#中如何调用它呢?对于输入参数的情形问题到不大,但如何获取从参

2014-09-09 14:41:47 481

转载 用C#绘制实时曲线图

在实际项目中我们经常需要绘制一些实时的数据图片,比如当前各公司的用水量、用电量还有播放声音视频时实时显示当前的声频等等,在我们最熟悉的任务管理器也有这么一个功能,用来表示当前CPU的使用频率,最近笔者刚刚给朋友完成了一个类似的功能图,用曲线图来实时表示一些实际数据,由于形象直观,很受客户欢迎。不过由于某些原因,本人不能将实际项目中的代码拿出来给大家分享,只能模拟了一个简单的实现,代码没有过多优

2014-09-09 10:00:15 1660

转载 【图】用ESP定律脱壳

用堆栈平衡定律脱壳【附图】用PEiD查壳,看【图1】 用OD载入,【图2】,注意ESP的值变化 F8单步,来到这,看见ESP值变化,在命令窗口中输入【图3】 继续F8,单步,走到我们想到的地方【图4】现在到了OEP了,接下来脱壳【图5】 看清【图6】,记下修正值,如果程序需要修复要用到这

2014-08-31 20:34:22 1541

转载 IDT系列:(二)中断处理过程,使用bochs调试IDT中的中断服务程序

一、中断处理的过程 根据Intel 64 and IA-32 Architectures Software Developer’s Manual 的介绍,在中断或异常产生是,CPU会将当前执行的指令(或下一条指令)在内存中的地址,也就是EIP的值,放入栈中,同时还会放入CS段寄存器和eflags标志寄存器的值等。根据当前的优先级不同(ring0或ring3,也就是执行与用户

2014-08-25 16:57:48 774

转载 IDT系列:(一)初探IDT,Interrupt Descriptor Table,中断描述符表

IDT,Interrupt Descriptor Table,中断描述符表是CPU用来处理中断和程序异常的。 一、有关IDT的基本知识1、中断时一种机制,用来处理硬件需要向CPU输入信息的情况。 比如鼠标,键盘等。2、中断和异常的产生是随机的,在CPU正常运行过程中随时可能产生。CPU的中断处理机制3、中断可以由硬件产生(称为外部中断),也可以由软件

2014-08-25 16:55:17 703

转载 驱动调试中怎么样让windbg停在DriverEntry

一般说来,调速驱动程序分为两种:1.存在PDB文件的调试:这里的PDB文件其实就是调试符号文件,假如我们调试的这样的文件,我们可以再windbg中使用 :bp  驱动名!DriverEntry,这个时候当加载驱动的时候,程序就会断在入口了。2.没有PDB文件的调试:在调试别人的驱动程序时,也就是自己只有bin,并且在这个bin没有PDB文件,以及你没

2014-08-06 10:41:33 659

转载 如何使用windbg在驱动加载时下断

首先说说应用层的调试吧.当我们在调试windows可执行程序的时候,通过将PE文件头中的ImageBase和AddressOfEntryPoint相加,从而得出第一条指令的地址.针对这个地址下断之后目标程序就中断在了了入口处.但是这个方法在驱动调试的时候却有心无力.这是因为可执行程序都是首先被加载到各自的私有地址空间,他们不会有地址冲突.然而驱动程序运行在内核里面,所有的驱动程序共享一个地址空间.

2014-08-06 10:31:22 735

转载 hashtable详细介绍

Hashtable存储结构如下

2014-07-12 21:26:22 680

转载 c++ 中__declspec 的用法

c++ 中__declspec 的用法语法说明:__declspec ( extended-decl-modifier-seq )扩展修饰符:1:align(#)    用__declspec(align(#))精确控制用户自定数据的对齐方式 ,#是对齐值。e.g__declspec(align(32)) struct Str1{int

2014-07-03 10:09:08 436

转载 VS2012 + WDK8.0 + Win8调试内核驱动程序(一)

Windows操作系统内核驱动程序的调试一直都显得比较复杂,官方没有集成调试环境,只能使用WinDbg这些调试工具,且需要进行繁琐的设置。也有大牛开发VisualDDK这样的工具,很大程度上方便了大家的驱动开发。驱动新手一般都得在网上搜索+动手实验(实际上中文网站的驱动程序资料屈指可数),花个十天半个月先学会搭建开发调试环境,无形中造成了入门的高门槛。Visual Studio 2012的

2014-06-30 16:54:36 875

转载 Windows消息大全

Windows是一消息(Message)驱动式系统,Windows消息提供了应用程序与应用程序之间、应用程序与Windows系统之间进行通讯的手段。应用程序要实现的功能由消息来触发,并*对消息的响应和处理来完成。Windows系统中有两种消息队列,一种是系统消息队列,另一种是应用程序消息队列。计算机的所有输入设备由 Windows监控,当一个事件发生时,Windows先将输入的消息放入系统消息队列

2014-06-24 10:09:36 454

转载 TortoiseGit 使用教程

git的使用越来越广泛使用命令比较麻烦,下面讲解一下tortoisegit的使用先下载安装git(msysgit)和tortoisegit,安装后提示重启电脑,不解释1.找一个文件夹做仓库这里用repository\shared.gif,空白处点击右键出现以下菜单,创建共享仓库在弹出的对话框勾选make it bare 第一次

2014-06-05 22:01:02 642

转载 插入排序,二分插入排序,希尔排序思想与比较

直接插入排序的基本方法:每步将一个待排序的元素,按其排序码的大小,插入到前面已经排好序的一组元素的适当位置上去,直到元素全部插入为止。插入排序(insert sorting)思想:当插入第i个元素时,前面的v[0],v[1],v[2]......v[i-1],已经排好序了.这时用v[i]的插入码与v[i-1],v[i-2],......排序码进行比较,找到插入的位置即插入v[i],原来位置上的

2014-06-05 10:37:19 482

原创 VS2012调试符号设置(调试时自动加载符号表PDB)

用VS调试的时候,在输出框会输出xxx.dll查找不到PDB。。。导致我们调试的时候

2014-05-29 20:00:41 5940 1

转载 通过修改程序解决win7下应用程序兼容性助手弹出

在win7和vista下,有一个系统兼容性助手功能,利用VS2008开发的程序在运行时,总是弹出应用程序兼容性助手提示框,非常烦人,事实上我们的程序兼容性是没有问题的,只不过是在程序中没有指定应用程序兼容的操作系统,所以导致了这一问题。           .menifest文件是一个随工程编译产生的xml文件,作用是为操作系统提供了对应用程序部分信息的描述,每个exe程序或者dll都必须有一

2014-05-25 20:09:13 837

原创 \r与\n的实验测试test

尽管\r与\n已经连起来用了很久了,但是还没仔细的做过任何shi'ya

2014-05-24 23:19:43 651

转载 #pragma warning(n)支持

以下是D3D从VS2003移植到VS2005时遇到的安全警告:warning C4996: 'wcscpy' was declared deprecatedsee declaration of 'wcscpy'Message: 'This function or variable may be unsafe. Consider using wcscpy_s instead. T

2014-05-24 14:38:25 484

空空如也

空空如也

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

TA关注的人

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