自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

smstong的成长轨迹

关注Internet,专注OS。

  • 博客(465)
  • 资源 (30)
  • 收藏
  • 关注

原创 通过SPY++实测WinForm和WPF控件的差异

作为Windows桌面UI开发的两大.net开发库,WinForm和WPF同时存在着。之所以功能如此重合的两个库同时存在,是因为两者的底层差异非常大,WinForm底层依赖于传统的Win32API,特别是User32.dll;而WPF则底层依赖于Direct3D。 而我们知道User32和Direct3D两者是平行存在,彼此独立的。WPF之前几乎所有的WindowsUI开发都依赖于User32,当

2014-04-01 20:45:17 5140

原创 VimScript脚本语言学习------常用的内置函数---(变量相关)

方法

2014-03-21 13:13:34 3574

原创 VS2013 C#WinForm程序构造界面拖动控件NumericUpDown时"未响应“是有道词典惹的祸

很久之前遇到过因为金山词霸和其他软件冲突导致的程序无响应的情况。没想到今天情况重现,VS2013在可视化编辑NumbericUpDown控件的时候,又出现了”未响应“,发现又是有道词典惹的祸。可见屏幕取词功能还是应该好好研究的,希望微软和有道之间能协调解决一下!!!

2014-03-11 15:37:44 6361 7

原创 VimScript脚本语言学习------常用的内置函数---(操纵Float)

Float是VimScript中的最后一种数据类型,可能是后来加入的,所以排在最后。在非科学计算的编程领域,其实浮点数用的确实很少。虽然如此,它也是一个不可或缺的数据类型,这一节我们来看看vim提供了那些操纵Float类型的内建函数。(1)float2nr({expr})把浮点数转换为整数,返回给定浮点数的整数部分。注意:这里不是四舍五入,而是所有小数都舍去。(2)abs({e

2014-03-09 12:13:17 2884

原创 VimScript脚本语言学习------常用的内置函数---(操纵Dictionary)

Dictionary是VimScript中最复杂的数据类型,等同于PHP中的关联数组,其本质是以字符串为键的哈希表。在PHP中,索引数组和关联数组统一为Array数据类型,而在VimScript里则分成了List和Dictionary两个类型。个人觉得还是PHP的做法更好。下面就来看看Vim为我们提供了那些内置的与Dictionary有关的函数。(1)get( {dict}, {key}

2014-03-09 11:42:04 3664

原创 VimScript脚本语言学习------常用的内置函数---(操纵List)

List和Dictionary是VimScript中的重要数据类型。本节来介绍操纵List数据类型的内置函数。(1)get( {list}, {idx} [, {default}] )返回list的第idx个元素。需要注意的是,即使索引值idx超出了有效范围,该函数仍然会返回一个值,这个值或者是0,或者是给定的default参数。(2)len ( {expr} )返回数组的长度。

2014-03-09 11:11:06 5593

原创 VimScript脚本语言学习------常用的内置函数---(操纵String)

1 平台API的重要性要使用任何一门语言写出点真正有用的程序来,都离不开平台API的调用。使用C/C++开发Windows程序需要大量调用Win32API,开发Linux程序需要大量调用Linux API,开发Java程序,需要调用使用Java封装好的平台API。API大体上分为两种,一种是以函数的形式体现,如Win32API, Linux API, Socket API等,另一种则是以类的形

2014-03-08 20:21:12 14178

原创 VimScript脚本语言学习------变量作用域、函数

前面学习VimScript数据类型的时候,介绍了Number, Float, String, List, Dictionary五种的基本用法,本节将学习最后一种数据类型:Funcref。当然之前必须要对函数进行介绍。1 函数VimScript支持编程语言中通用函数的概念,而且内建了大量的函数供用户使用,如用于查询的serach(),获取行的getline()等等,今后的例子中将会逐渐使用这

2014-03-08 17:58:13 10809 1

原创 VimScript脚本语言学习------条件、循环

条件和循环结构是几乎所有的编程语言都提供的基本功能,VimScript也不例外。1 条件语句1.1 if else1.2 ?:1.3 switch case2 循环语句2.1 while2.2 for2.3 for in

2014-03-08 13:37:24 7520

原创 VimScript脚本语言学习------helloworld及数据类型

vim配置文件、语法文件、插件文件中使用的都是vim专用的脚本语言VimScript。这门语言与PHP以及Javacript有些类似,但不相同。它只能运行于vim平台之上。从本文开始,将记录作者本人学习这门语言的一些心得体会。大概的学习思路是:语言定位---数据类型与转换---基本语法---函数---平台API---实用插件编写。1 VimScript简介VimScript是用于配置、扩展

2014-03-07 19:28:32 14960

原创 实践中学习vim之vim配置文件、插件文件加载路径

0 引言理解vim的启动过程对于增强使用vim的信心非常重要,本文所有的信息均来自vim自身提供的参考手册和作者实际操作实践。VIM REFERENCE MANUAL的Starting Vim这节详细描述了vim的启动过程。vim完整的启动过程非常复杂,因为要兼容不同的平台,不同的运行模式。本文只考虑Linux平台上非GUI模式中最常见的启动流程。1 配置文件路径如何确定?vim启动过

2014-03-06 18:32:55 15550 4

原创 实践中学习vim之按键序列映射

【术语说明】本文对于vim中所有能引起动作的字符序列统称为“命令”,这不仅仅包含以:开头的命令行模式下的命令,也包括其他模式下的按键序列。【注意】由于vim各个部分相互关联紧密,简单起见,本文中描述时不会完全考虑与之相联系的其他主题,由此会造成不准确的描述。1 vim每时每刻都工作于某一模式下Vim采用了“不同模式”设计思想,它拥有很多模式,常见的是 normal(一般模式),

2014-03-04 19:52:26 8610 1

原创 使用VC++进行项目开发的API抉择

1 根本目的视图与逻辑隔离、易于不同平台的移植,易于逻辑开发人员和视图开发人员的协作。2 基本原则同样功能的前提下,优先选择标准C++库的API程序逻辑部分拒绝使用MFC只在界面和必须使用MFC的情况下,使用MFC    3 选择结果数据结构,如链表、哈希表、队列等,使用标准C++库,如std::vector;线程、进程、同步等与UI无直接关联的部分,使用W

2014-02-27 19:24:14 1547

原创 从GDI到GDI+使用的坐标系看微软二维绘图思路的进步

1 微软Windows绘图系统使用的三种坐标系为了便于绘制,微软在其绘图系统中引入了三种不同的坐标系,这三种坐标系都是平面直角坐标系,下面从坐标系的三要素即度量单位、坐标原点、坐标轴方向分别对其进行说明。1.1 设备坐标系顾名思义,设备坐标系是依据绘图使用的硬件设备而定义的。其度量单位为像素,x轴向右为正,y轴向下为正。至于坐标原点则可以通过SetViewPortOrg()进行设定。

2014-02-27 18:52:14 4672

原创 VC++自动生成的对话框类头文件中的enum {IDD= xxxx}解释

1 MFC中对话框类和对话框资源之间的联系使用VC++ MFC做开发的时候,经常需要插入对话框资源,然后根据这个资源生成相应的对话框类文件。类文件和对话框资源之间的联系纽带就是对话框控件ID,与其他资源ID一样,也是一个整数而已,只不过VC++开发环境在resource.h文件中增加了一个宏定义来描述这个整数而已。下面是一个对话框类的头文件。#pragma once// CT

2014-02-15 10:41:03 15304

原创 VC++中独立捕获按钮按下和抬起两个动作

1 由来现实世界中的按钮的动作为:按下后只要不松手就一直处于被按下状态,此时会执行开关闭合等类似的行为;松开手后,按钮抬起,执行开关断开等类似行为。VC++中默认的按钮的外观行为与物理按钮类似,也是鼠标按下后保持被按下状态,松开鼠标则自动弹起。然而问题是,按钮只会在按下-抬起 这个过程完成后才会向父窗口发送WM_COMMAND消息,单独的按下以及单独的抬起都不会通知父窗口。在工

2014-02-12 00:53:49 18603 15

翻译 最简洁的Windows Service 程序C源码

#include #include #define SLEEP_TIME 5000#define LOGFILE "C:\\MyServices\\memstatus.txt"SERVICE_STATUS ServiceStatus; SERVICE_STATUS_HANDLE hStatus; void ServiceMain(int argc, char** argv);

2014-01-22 00:57:31 2549

转载 浅谈C中的wprintf和宽字符显示【其实很深】

今天在CSDN的Blog首页看到一篇文章“也谈计算机字符编码 ”,由于前一阵业余翻译了“UTF-8 and Unicode FAQ for Unix/Linux”一文,自己对字符集、编码和Unicode等内容一直保着者很强的兴趣,自然不会放过这样的文章。作者的文章写得很明白易懂,虽然有一些概念上的细节问题我觉得有商榷之处;作者还给出一个简单的在windows下使用wprintf正确输出

2014-01-21 23:48:29 19892 2

原创 因以下文件的损坏或丢失,Windows无法启动【解决方法】

【现象描述】【原因分析】(1)由于某种原因(如正常关机)导致这个文件损坏或丢失;(2)文件本身没有问题,但是机器读取出错。【解决方法】对于原因(1),解决方法可以按照故障时系统给出的提示,用Windows安装盘进行修复,但是这种方式非常慢,而且现在大多数都是Ghost版,系统安装盘不容易找到。其实,我们完全没有必要非得使用系统安装盘来修复。在PE盛行的今天,完全可以借助独立

2014-01-20 12:12:52 131047

原创 bash执行命令各种情况分析

Linux系统中的可执行文件有多少种类?bash环境下是如何执行程序的?下面逐一分析。1 Linux系统中可执行文件种类1.1 二进制可执行文件这种文件是最常见的,如/bin/ls,/sbin/ifconfig, /bin/cat等等。[root@notebook135 ~]# file /bin/ls /bin/cat /sbin/ifconfig/bin/ls:

2014-01-16 12:43:16 12880

原创 bash中IO重定向功能和管道功能的模拟

“程序默认使用标准输入输出”,这是Unix哲学中的其中一条。1 bash中的重定向模拟用户登陆系统后,系统已经打开了终端,并在描述符表中使用三个描述符0,1,2来进行索引。由于Unix系统中描述符表是被子进程继承的,所以以后生成的任何进程都自动拥有了这三个描述符。其中的0用于索引标准输入设备,1用于索引标准输出设备,2则用于索引标准错误输出设备。像C库中的printf()函数就是向描述

2014-01-10 18:36:07 2785

原创 苹果新手Mac OS X 使用笔记--------应用程序静态布局

注意:MacOS X系统支持多种形式的应用程序,请参考:苹果新手Mac OS X 使用笔记--------四种应用程序类型本文特指具有GUI的基于Cocoa开发的程序,此种程序也是MacOS X中的最普遍最“苹果”的程序。学习一种新的操作系统,就必须要学习一个应用程序是如何组织和运行的。也就是一个可执行程序的静态和动态布局。静态布局指的是程序作为文件或者文件夹是如何存放到文件系统中的,

2013-12-16 18:20:15 4463

原创 苹果新手Mac OS X 使用笔记--------四种应用程序类型

Mac OS X之所以得到很多程序员的喜爱,其支持多种开发语言和程序运行环境的特性是一个重要原因。由于其根植于Unix系统,所以原生就支持传统的unix C/C++程序;当然GUI程序则更是OS X的强项;Java虚拟机在Mac OS X上也有良好的实现;新版本的Mac OS X也紧跟潮流,支持Web前端小程序的开发。1 C/C++编写的传统的无图形界面程序开发语言:C/C++AP

2013-12-05 12:24:51 3866

原创 PostgreSql新手入门命令

1 命令行登录数据库有两种方式,一是直接在系统shell下执行psql命令;而是先进入psql环境,然后再连接数据库。下面分别给出实例:(1)直接登录执行命令:psql -h 172.16.35.179 -U username -d dbname ,其中username为数据库用户名,dbname为要连接的数据库名,执行后提示输入密码如下:Password for user use

2013-12-05 12:14:54 80940 1

原创 使用DOM操纵HTML文档几点粗浅认识

DOM脚本程序设计的相关几个问题。

2013-12-02 16:24:55 2466

原创 基于网络远程开关机的原理与实践

计算机网络运维中,远程关闭和启动计算机是常见的任务。这可以通过开发专门的软件来实现,但实际上大多数系统都自身就原生地拥有这些功能,本文在分析原理的基础上,基于系统本身的功能详细说明了基于网络的远程开关机的步骤。1 远程开机1.1 原理网络远程开机,也被称作Wake On Lan,其原理很简单,就是计算机处于关闭状态时,网卡仍然处于激活状态,可以接收来自网络的数据包,如果收到的数据包符合

2013-11-22 10:24:42 12303 2

原创 苹果新手Mac OS X 使用笔记--------系统目录结构

苹果风愈刮愈烈,不仅iOS随着iPhone、iPad的流行而广泛获得认可,Mac OS X凭借其华丽简洁的用户界面和iOS开发环境,其占有率也突飞猛进,特别是深受程序员们的喜爱。本文从系统目录层面,分析其传统的Unix方面和OS X特有的方面,帮助Mac新人更快的了解使用OS X。

2013-11-12 14:10:47 94171 2

原创 苹果新手Mac OS X 使用笔记--------显示桌面,切换程序

1 显示桌面 F11  非全屏显示程序情况下,按下F11,所有窗口隐藏到边上,露出桌面。再按下F11恢复。2 切换程序 Command +Tab 任何情况下,按下Command + Tab 切换正在运行的程序,与Windows下的Alt + Tab类似。3 切换全屏程序 Ctrl+箭头 如果一个程序窗口最大化了,布满了整个屏幕,那么它就自己成了一个工作区了。多个

2013-11-12 10:56:46 9160 1

原创 苹果新手Mac OS X 使用笔记--------图形界面与常用软件

对于从Windows转向Mac的用户来说,使用Mac时总会忘不掉原来的习惯与概念,很有必要把OS X中与Windows的对应关系整理一下。1 Windows的资源管理器对应OS X的Finder  很多Windows用户开机后的第一件事就是双击桌面上“我的电脑”(WindowsXP)或“计算机”(Windows7,8),这样打开的就是Explorer,著名的资源管理器。在Mac中,

2013-11-12 10:44:04 5641

原创 苹果新手Mac OS X 使用笔记--------系统自带截屏功能快捷键巧记图

Mac OS 系统

2013-11-12 09:46:01 6096

原创 苹果新手Mac OS X 使用笔记-------- Mac OS X中字体发虚的原因与解决

Mac OS X使用了3天了,常用软件安装和使用基本掌握,发现了一个从Windows转过来的人都会发现的问题,那就是Mac OS下字体模糊、发虚的问题。在网上着了不少文章,发下如下简短的文字基本上说明了问题。得到的结论是,要想解决字体发虚问题的,根本方式就是更换高PPI(300以上)的显示器。在淘宝上找了一下,目前还没有如此高的显示器出售。下文转自: http://bbs.weipho

2013-10-28 20:45:31 11552

转载 php之json_encode和json_decode

1.当array是一个从0开始的连续数组时,json_encode出来的结果是一个由[]括起来的字符串而当array是不从0开始或者不连续的数组时,json_encode出来的结果是一个由{}括起来的key-value模式的字符串$test = array();$test[] = 1;$test[] = 1;$test[] = 1;DEBUG(json_encode($

2013-09-24 00:57:26 2351

原创 Visual C++使用ADO操作SQL最精简例子代码

已经不使用Visual C++多年了,最近应邀为朋友修改一个现存的VC++操作SQL Server2000的老程序,所以重新回顾了一下基本的代码格式。发布到这里,以便于以后再用到时迅速复习。1 头文件stdafx.h// stdafx.h : 标准系统包含文件的包含文件,// 或是经常使用但不常更改的// 特定于项目的包含文件//#pragma once#inc

2013-09-19 12:29:37 7327 2

原创 PHP单文件入口URL路由原理

直接上代码: <?php/******************************************************* * * URL 路由原理展示代码 * * 浏览器访问地址: http://server/index.php?C=Controler1&M=Method1 * 根据C找到控制器类,再根据M找到方法,然后执行这个方法 * *

2013-09-12 14:45:50 11521 1

原创 FCL应用技巧之------使用List<T>的Distinct()去除重复元素

1 基本分析先来看看泛型链表 List 的定义:public class List : IList, ICollection, IList, ICollection, IReadOnlyList, IReadOnlyCollection, IEnumerable, IEnumerable可见它实现了 IEnumerable,而IEnumerable规定了Distinct方法。 

2013-09-11 20:53:59 4970

翻译 IBM的LPI复习资料之LPI101-Topic103 :GNU和Unix命令(7)使用正则表达式搜索文本文件

2013-09-03 18:33:46 2038

转载 让grep高亮显示匹配部分字符串

方法1:编辑  vim  ~/.bashrc 添加  alias grep = 'grep --color=auto'source ~/.bashrc 方法2vim  ~/.bashrc export GREP_OPTIONS='--color=auto' GREP_COLOR='10;32' 这里用到gr

2013-09-03 16:59:50 5850

原创 C#程序在Windows8下能运行而在XP下双击无反应的一次遭遇

现象:使用C#开发了一个小的WinForm程序,在Windows8系统上运行正常,在XP上却无法运行,双击程序图标,没有任何反应。调试限制条件:由于XP上不能安装开发环境,所以不能在XP上进行源码级别调试分析步骤:(1)项目属性设置CPU为x86(默认是Any),这样结论:

2013-09-02 14:59:02 5705

原创 C#中的数组

在数据结构算法,以及科学计算中,数组是必不可少的工具。习惯了C中简单直接的数组表达方式的程序员,初次使用C#中的数组时,可能会有一些茫然。本文采用对比的方式来学习C#数组的使用方式。本文不介绍那些语法糖的东西,尽管语法糖有时候能大大地简化代码。1 一维数组C 语言中一维数组实例代码如下:#include int main(int argc, char** argv){

2013-09-02 14:45:37 1569

转载 ORA-19809: limit exceeded for recovery files问题解决

今天查看数据库管理器出错日志oradim.log 发现如下报警信息:ORA-16038: log 3 sequence# 472 cannot be archivedORA-19809: limit exceeded for recovery filesORA-00312: online log 3 thread 1: 'C:\ORACLE\PRODUCT\10.2.0\ORADA

2013-08-26 14:03:13 9173

探测IP小工具

通过捕获ARP来分析得出本子网的IP。基于Win32API和WinPcap开发。

2015-01-08

可启动CD/DVD的标准

无论是操作系统发行版还是LiveCD都是从光盘启动,光盘启动的原理是什么,可以自己制作启动光盘吗?你知道光盘启动的两种方式吗?

2013-02-26

Introduction To Algorithms 3rd edition (算法导论第三版)

算法导论2009年版本,第三版英文版。 截止2012年9月,中文版还停留在英文版第二版。

2012-09-24

字节序与位序

详细的字节序与位序描述,以及需要注意的问题。

2012-02-15

C#写的基于TCP的聊天室程序源码

学习.Net平台下TCP编程入门程序。涉及到TCP连接的数据边界确定方法,多线程,异步编程APM。

2010-12-03

NAT以及MAP详解

NAT以及MAP详解,自己总结的文章。对于理解防火墙配置有良好的作用。

2010-03-20

Windows二进制字符串资源的处理方法

exe,dll里的资源很多,字符串处理比较特殊,希望大家有所收益。

2010-02-01

EXCEL VBA基本教程与常用函数

VBA几乎伴随与微软的每一个产品,WORD, EXCEL, PPT。要充分发挥EXCEL的功能,不用VBA是不可能的。这是两本基本的教程,适合初学者。

2010-01-03

glut+glew-- Windows平台开发OpenGL必备

由于微软对OpenGL的不再支持,使得在Windows平台开发OpenGL程序必须使用扩展库。glut和glew是不可缺少的两个基本扩展库。现在我把这两个库打包在一起,方便大家下载。

2009-12-26

反修饰VC++符号名称

C++中的函数和变量名,经过VC++编译后可以说是变得面目全非,这对于我们分析软件尤其是逆向工程带来不便,本软件让面目全非的符号名恢复到编译器源代码中的名字。既可以手工输入,也可以直接读取.def文件恢复。还附带了MFC4.2版本的def文件供测试使用。

2009-10-12

全球IPv4地址分配库

全球IPv4地址分配情况,chm格式。网络安全人士必备。

2009-04-17

SMDK2443_WINCE6.0_BSP Manual

安装SMDK2443_WINCE6.0_BSP的详细步骤。

2008-12-19

MySQL在Vista上的安装步骤

安装MySQL的详细步骤(VISTA平台)。

2008-12-19

Build Your Own .NET Language and Compiler

如果想深入学习.net,此书必备。 好不容易才在网上找到的。

2008-12-19

Eclipse中文教程

Eclipse越来越火了,无论做Java还是C/C++开发,Eclipse都是一个完美的跨平台IDE。

2008-11-11

构建嵌入式Linux系统(2008版)

2008版的,学习嵌入式Linux开发的必备读物。

2008-10-22

一个关于当前软件开发库与技术的详细分析

详细的分析了一个大型项目需要的各种技术与标准。对于企业软件开发高层技术决策有参考价值。

2008-10-22

DBUS在Linux内核及用户空间的使用

DBUS在Linux内核及用户空间的使用,与HAL及UDEV的关系。

2008-09-18

XWindow常识文章3篇

XWindow与Linux GUI基础知识。

2008-09-18

嵌入式MPEG-4解码系统的设计与实现.doc

嵌入式MPEG-4解码系统的设计与实现.doc,不错的文章。

2008-07-21

I2C总线驱动伪代码

I2C总线驱动伪代码,可方便地转化为你自己的语言,如C语言。

2008-07-21

I2C总线标准

I2C总线标准,学习 IIC总线必备。

2008-07-21

Windows核心编程(最新)

windows核心编程,最经典的Windows程序员必备案头书。

2008-07-21

对象标准COM和CORBA论长道短

关于对象标准COM和CORBA进行比较的好文章。

2008-04-25

Windows CE 编程(英文2版).CHM

Windows CE 编程(英文2版).CHM

2008-04-25

Windows CE 编程(英文2版).CHM

Windows CE 编程(英文2版).CHM

2008-04-25

BS_Contact_VRML-X3D_62.exe

浏览器察看VRML文件的插件

2007-12-11

空空如也

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

TA关注的人

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