- 博客(66)
- 资源 (3)
- 收藏
- 关注
原创 【整理】windows图形编程
最近调查一个错误,无法加载属性页,代码显示在DrvPrinterEvent()有问题,但注释到依然有问题,感觉应该是在驱动加载不熟导致。觉得下个blog不错http://blog.csdn.net/yzz2086/article/details/3368282以这个知识体系,去查找下相关的DrvDocumentPropertySheets()是不是这个有问题?文库:http
2013-01-16 00:55:00
808
原创 java碰到的问题总结(FAQ)
Q: Java的环境问题[jdk,tomcat,eclipse,myeclipse]//这方面太杂,没准备呢Q: java.lang.UnsupportedClassVersionError 因为我们使用高版本的JDK编译的Java class文件试图在较低版本的JVM上运行,所报的错误。http://blog.csdn.net/shendl/article/detai
2012-08-31 10:09:19
511
转载 FD_SET,FD_ISSET,FD_ZERO,select
FD_SET 打开类型fd_set的某一位FD_ZERO初始化fd_setFD_ISSET测试结构fd_set中的描述字直接到vc98/include的文件中查找他们就可以找到代码。select函数: 系统提供select函数来实现多路复用输入/输出模型。原型: #include
2011-07-13 14:36:08
847
转载 fd_set 用法
select()函数主要是建立在fd_set类型的基础上的。fd_set(它比较重要所以先介绍一下)是一组文件描述字(fd)的集合,它用一位来表示一个fd(下面会仔细介绍),对于fd_set类型通过下面四个宏来操作: fd_set set;FD_ZERO(&set);
2011-07-13 14:19:46
590
转载 初步认识迭代服务器和并发服务器
迭代服务器比较原始,它的原型可以描述成: while(1){new_fd = 服务器accept客户端的连接(new_fd = accept(listenfd, XX, XX))逻辑处理在这个new_fd上给客户端发送消息关闭new_fd}也就是说,这个进程是一个一个处理各个客户
2011-07-13 09:35:48
686
转载 unix网络编程(第三版)中的unp.h
/* Our own header. Tabs are set for 4 spaces,not 8 */#ifndef __unp_h#define __unp_h#include "/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CO
2011-07-13 09:15:54
1236
转载 可重入函数与不可重入函数
<br /><br />转自:http://www.cppblog.com/franksunny/archive/2007/08/03/29269.html<br /><br />主要用于多任务环境中,一个可重入的函数简单来说就是可以被中断的函数,也就是说,可以在这个函数执行的任何时刻中断它,转入OS调度下去执行另外一段代码,而返回控制时不会出现什么错误;而不可重入的函数由于使用了一些系统资源,比如全局变量区,中断向量表等,所以它如果被中断的话,可能会出现问题,这类函数是不能运行在多任务环境下的。<br /
2011-03-31 14:56:00
456
转载 gcc和g++的区别
<br /><br />gcc和g++都是GNU(组织)的一个编译器。<br />误区一:gcc只能编译c代码,g++只能编译c++代码<br />两者都可以,但是请注意:<br />1.后缀为.c的,gcc把它当作是C程序,而g++当作是c++程序;后缀为.cpp的,两者都会认为是c++程序,注意,虽然c++是c的超集,但是两者对语法的要求是有区别的。C++的语法规则更加严谨一些。<br />2.编译阶段,g++会调用gcc,对于c++代码,两者是等价的,但是因为gcc命令不能自动和C++程序使用的库联接
2011-03-31 14:52:00
390
转载 Linux系统环境下的Socket编程详细解析
<br /><br />来自: http://blog.163.com/jiangh_1982/blog/static/121950520082881457775/<br /> 什么是Socket<br />Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。<br />Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的
2011-03-31 14:32:00
608
原创 configure svn server on win
<br />1.http://sourceforge.net/projects/win32svn/ download subversion<br /> <br />2.run后,从cmd模式下进入bin目录,如D:/Program Files/Subversion/bin><br /> <br />3.在这个目录下,执行svnadmin create D:/project_name/prj1<br /> <br />4.在project_name/conf/svnserve.conf把下面几行的注释去掉
2011-03-11 11:45:00
586
转载 intel中的cr寄存器
<br />//今天看UKL的时候看到CR寄存器<br /> <br />控制寄存器(CR0、CR 1、CR2和CR3)用於控制和确定处理器的操作模式以及当前执行任务的特性。 <br />CR0:中含有控制处理器操作模式和状态的系统控制标志; <br />CR1:保留不用; <br />CR2:含有导致页错误的線性位址。 <br />CR3:中含有页目錄表实体记忆体基底位址,因此该寄存器
2011-01-20 13:43:00
1761
原创 Linux C 函数参考(内存控制)
<br />//今天把这部分【Linux C函数库详解】chap3 内存分配函数 看了一下。<br />以下为内容<br />calloc(配置内存空间) <br />相关函数 malloc,free,realloc,brk<br />表头文件 #include <stdlib.h><br />定义函数 void *calloc(size_t nmemb,size_t size);<br />函数说明 calloc()用来配置nmemb个相邻的内存单位,每一单位的大小为size,并返回指向第一个元
2010-12-30 00:29:00
578
原创 查看内核版本和发行版本
首先,要分清内核版本号和发行版本号的区别。因为所有linux都是使用kernel.org上来的内核来作为发行版的基础的,所以内核版本号的高低大致能体现该linux版本的新旧。而发行版本的版本号完全是各发行商自己定义的,不能用来和其它发行版本的版本号进行比较,比如SuSE的10.0不能和Red Hat的9.0比,也不能和Ubuntu的7.04比,没有可比性。发行版本号只是各个厂商为了区别自己
2010-11-25 00:04:00
1808
原创 unix 环境高级编成 apue.h ,apueerror.h的代码
<br /><br /> ===================apueerror.h=========================================<br />$ cat apueerror.h<br />#include <errno.h> /* for definition of errno */<br />#include <stdarg.h> /* ISO C variable aruments */<br />static void err_doit(int,
2010-11-17 21:05:00
1099
原创 Ubuntu的新旅程
之前呢,手上有张关于 Mandriva的盘,可能是2.4的核,很多命令工具都没有,同事建议安装Ubuntu,自己试了下,果然安装很方便。 当然OpenSolaris自己没安装起来,这部分不太会安装-----以后用到再看吧。 昨天安装了Ubuntu,但不小心安装的是中文,本来可以更改一下系统里的语言设置,出于对ssh工具对中文字符集支持的担忧,今天决定重装english了。
2010-11-11 23:53:00
490
原创 宏
<br />这几个宏是为了进行条件编译。一般情况下,源程序中所有的行都参加编译。但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部分内容指定编译的条件,这就是"条件编译"。有时,希望当满足某条件时对一组语句进行编译,而当条件不满足时则编译另一组语句。<br />条件编译命令最常见的形式为:<br />#ifdef 标识符<br />程序段1<br />#else<br />程序段2<br />#endif<br /><br />它的作用是:当标识符已经被定义过(一般是用#define命令定
2010-11-11 23:19:00
479
转载 解析#pragma指令
转自CSDN在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。其格式一般为: #Pragma Para其中Para 为参数,下面来看一些常用的参数。(1)message 参数。 Message 参数是我最喜欢的一个参数,它能够在编译信息输出窗口中输出相应
2010-06-20 15:20:00
438
转载 Protocol Stack
简介<br /> 协议栈是指网络中各层协议的总和,其形象的反映了一个网络中文件传输的过程:由上层协议到底层协议,再由底层协议到上层协议。使用最广泛的是英特网协议栈,由上到下的协议分别是:应用层(HTTP,TELNET,DNS,EMAIL等),运输层(TCP,UDP),网络层(IP),链路层(WI-FI,以太网,令牌环,FDDI等),物理层。 协议栈 Protocol Stack ↑<br /> 如果不参考下面进行数据交换的协议或通信过程的讨论,那么就不可能讨论计算机的互联。对协议的任何讨论通常都会牵涉到
2010-06-11 16:30:00
648
原创 协议栈开发学习总结
<br /> <br />2008年5月30日 星期六晴<br /> 近来一直很少些关于技术方面的文章,一来是被工作和生活所累,没有很多闲暇多余的时间,二来呢是觉得一直没有好的case,或则有好的case,但觉得目前在这个case方面,自己还不算很professional。今天心情不错,感觉也很好,就把我近一年来在“协议栈”开发方面的一些经验写下来,算是对自己这一阶段的一个终结,也希望能对后来者能有所帮助。<br /> 首先,不要以为做协议栈开发很难(诚然,商用稳定的协议栈开发的确也不容易^_^
2010-06-11 15:09:00
1669
1
转载 标题:几种开放源码的TCPIP协议栈比较
2008-01-21 14:05:22<br />1、BSD TCP/IP协议栈<br /> BSD栈历史上是其他商业栈的起点,大多数专业TCP/IP栈(VxWorks内嵌的TCP/IP栈)是BSD栈派生的。这是因为BSD栈在BSD许可协议下提供了这些专业栈的雏形,BSD许用证允许BSD栈以修改或未修改的形式结合这些专业栈的代码而无须向创建者付版税。同时,BSD也是许多TCP/IP协议中的创新(如广域网中饿拥塞控制和避免)的开始点。<br />2、uC/IP<br /> uC/IP是由Guy
2010-06-11 15:02:00
1044
转载 关于读源代码【集各家所长,要好好回去实践下】
<br />以Linux内核源代码为例:<br />使用工具source insight<br />首先建立源代码工程,source insight会帮助你建立一个库<br />它能够帮助我们在看一段源码的时候,跟踪函数、变量的定义、声明、调用等情况<br />能够识别多种文件,基本上常见的都能识别<br />看源码的顺序,个人以为:<br />1)看源代码的目录结构,大致了解各个目录下都有些什么,可能是什么,有的源代码中<br />有readme或者其他文档可以告诉我们源代码的目录结构<br />这时候有
2010-06-09 17:06:00
1306
转载 java开源框架的源代码怎么读?
<br />说读开源框架的源代码对自己写程序很有帮助的,我不知道从那里下手<br /> <br />找一个你熟悉的项目,下回来源码,然后单步跟踪一遍,前题有一定基础,至少会单步跟踪调试对ide也得熟悉些,项目别选太大的,像apache里面的项目都还可以。一开始还是比较艰难的,时间长了就好了。<br /> <br />如同你看不懂高手过招一样。 还是一步一步的来吧。 先看一些基础知识,写一些东西,然后重点看自己用到的,或者即将用到的部分,这样提高效果会更好。<br /> <br />开始的时候是把源代码关联,
2010-06-09 17:01:00
9127
3
转载 C语言之详解#ifdef等宏
<br />这几个宏是为了进行条件编译。一般情况下,源程序中所有的行都参加编译。但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部分内容指定编译的条件,这就是"条件编译"。有时,希望当满足某条件时对一组语句进行编译,而当条件不满足时则编译另一组语句。<br />条件编译命令最常见的形式为:<br />#ifdef 标识符<br />程序段1<br />#else<br />程序段2<br />#endif<br /><br />它的作用是:当标识符已经被定义过(一般是用#define命令定
2010-06-08 14:30:00
595
原创 091213
//习题11.3,用accumulate统计vector容器对象中的元素之和# include # include # include using namespace std;int main(){ int ival; vector ivec; //读入int型数据并存储到vector对象中,直至遇到文件结束符 cout << "Enter some
2009-12-14 00:45:00
646
转载 如何用c语言实现CString的构造函数、析构函数和赋值函数?
编写类String的构造函数、析构函数和赋值函数 已知类String的原型为: class String { public: String(const char*str=NULL);//普通构造函数 String(const String&other); //拷贝构造函数
2009-12-09 16:59:00
1227
转载 详述IP数据包的转发流程
IP数据包的转发流程1)IP数据包到达网络层之后,首先根据目的IP地址得到目的网络号,然后决定是直接交付还是转发数据包。如果网络号不匹配,需要转发数据包,则跳到3);2)将数据包转发给目的主机;3)首先根据目的IP地址在路由表(转发表)中查找下一跳IP地址;4)然后在路由器的ARP高速缓存表中查找下一跳IP地址对应的MAC地址,如果找到下一跳路由器的MAC地址,则将查到的MAC地
2009-11-19 17:52:00
8285
原创 天翼live
电信运营商进入IM领域始于2006年7月,中国移动飞信公测。同年10月,中国联通推出了超信,而原中国网通的IM产品则为灵信。 中国电信马上也要推出功能类似的“天翼Live[1]”。中国电信和微软公司合作开发的移动即时通讯(IM)应用即将正式上线。 2006年微软推出“Live”在线业务品牌,以逐步取代原有的MSN品牌。此次与中国电信合作,微软将“Live”品牌植入,与中国电信共推联合品牌—
2009-11-02 10:22:00
1572
原创 opensource project FOSS
Free and open source software(FOSS) reference: http://en.wikipedia.org/wiki/Free_and_open_source_software
2009-10-27 16:10:00
408
原创 excel中的EMBED域介绍
有时候,打我们打开别人发给的Excel电子表格,会惊奇的发现,某些单元格里面的对象,在其对应的FX函数代码输入框中,会看到诸如:“=EMBED("文档","")”,“=EMBED("包","")”,“=EMBED("MSMap.e","")”,=EMBED("MSGraph.Chart.8","")……等等这样的信息。 那么,在excel中,EMBED到底是什么呢? 从本质上来
2009-10-22 14:28:00
6409
4
原创 值得你记住并受用一生的Word XP/2003快捷键
【来源:中关村在线】 在键盘的上方有一排功能键,依次为F1—F12,这些功能键在不同的应用程序中,其功能各不相同。现将这些功能键及它们与控制键Ctrl、Shift、Alt组合使用的功能,绍给感兴趣的朋友参考。 1、F1:打开“Microsoft Word帮助”窗口。 2、Shift+F1:打开帮助工具(小问号)。 3、Alt+Ctrl+F1:显示系统信息。
2009-10-22 14:25:00
497
转载 C++各大有名库的介绍——综合
在C++中,库的地位是非常高的。C++之父 BjarneStroustrup先生多次表示了设计库来扩充功能要好过设计更多的语法的言论。现实中,C++的库门类繁多,解决的问题也是极其广泛,库从轻量级到重量级的都有。不少都是让人眼界大开,亦或是望而生叹的思维杰作。由于库的数量非常庞大,而且限于笔者水平,其中很多并不了解。所以文中所提的一些库都是比较著名的大型库。 C++各大有名库的
2009-10-21 11:00:00
848
转载 野外生活完全攻略
序言人类自远古洪荒中走来,我们的祖先,从茹毛饮血的年代起,就用自制的粗陋工具,在与自然界的各种灾害和猛兽的搏斗中,描绘着人类进化的轨迹,当他们在这一艰苦卓绝的过程中,不断地积累着生存的经验,并用智慧逐步改善着自己的生存环境的同时,终于完成了划时代的进化,成为当之无愧的万物之灵,人类在自然的怀抱中创造了文明,而钢筋水泥的高楼大厦却让文明使人类远离自然,与自然对话,还原一下人类做为大自然中的一员的本色
2009-10-13 11:55:00
1652
原创 浮点数和嵌入式汇编
//使用VS2005的VC++ Win32开发平台来编译//求两个浮点数平方和的平方根,要求输入和输出数据//squre root of squares of two values# include using namespace std;int main(){float value1;float value2;float sum;cout cin >> value1;cout cin >
2009-10-09 16:04:00
766
原创 有关汇编的文章与代码
;浮点型指令编程--计算平方和的平方根程序;find the square root of the sum of the squares of two floating point numbers;Author:lionel.shen;Date:revised 10/2009.386.MODEL FLATExitProcess PROTO NEAR32 stdcall,dwExitCode:D
2009-10-09 15:48:00
406
转载 户外与学习方法
1、 抗生素类: 氟哌酸(呼吸道感染)、头孢(消炎)、黄连素(肠道感染)、黄连上清片(清热解毒、咽炎、牙痛、通便)2、抗病毒:板兰根(冲剂或片剂)3、呼吸系统:速效伤风胶囊、VC银翘片、六神丸(清肿解毒)、草珊瑚含片4、消化系统:雷尼替丁或西咪替丁(胃溃疡)、胃复安(呕吐、胃胀)5、防晕车:乘晕宁6、抗过敏:扑尔敏、息斯敏。7、退热止痛:扑热息痛,散列痛(可消除高原反应引发的头痛)8、其它:创可
2009-10-09 14:53:00
773
转载 WinPcap编程4——捕获数据包
winpcap程序中,捕获数据包主要分为如下几步:获取网络适配器列表打开网络适配器捕获数据获取网络适配器列表在前文中已经讲述,这里就不再累述了。打开设备的函数是pcap_open()。下面是参数 snaplen, flags 和 to_ms 的解释说明 snaplen 制定要捕获数据包中的哪些部分。 在一些操作系统中 (比如 xBSD 和
2009-04-18 18:58:00
2150
转载 WinPcap编程1——简介
什么是WinPcapWinPcap是一个基于Win32平台的,用于捕获网络数据包并进行分析的开源库. 大多数网络应用程序通过被广泛使用的操作系统元件来访问网络,比如sockets。 这是一种简单的实现方式,因为操作系统已经妥善处理了底层具体实现细节(比如协议处理,封装数据包等等),并且提供了一个与读写文件类似的,令人熟悉的接口。 然而,有些时候,这种“简单的方式”并不能满足任务的
2009-04-18 18:57:00
1651
转载 WinPcap编程3——获取网络适配器列表
WinPcap应用程序的第一件事情就是获得已连接的网络适配器列表。WinPcap提供了pcap_findalldevs_ex() 函数来实现该功能: 它返回一个pcap_if结构的链表,每个这样的结构都包含了一个适配器的详细信息。下列代码能获取适配器列表,并在屏幕上打印出其名称和描述信息,如果没有找到适配器,将打印错误信息。#include "pcap.h"
2009-04-18 18:57:00
1302
转载 WinPcap编程2——环境搭建
搭建WinPcap编程环境可以分为如下几步:1.下载winpcap及开发包。winpcap下载地址:http://www.winpcap.org/install/default.htmwinpcap开发包: http://www.winpcap.org/devel.htm2. 安装winpcap3. 解压winpcap开发包,将得到一个WpdPack目录,该目录中包含了
2009-04-18 18:54:00
869
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人