博客园 - ITtecman
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=95932
2014-12-22T04:33:54Z
ITtecman
https://www.cnblogs.com/nufangrensheng/
feed.cnblogs.com
https://www.cnblogs.com/nufangrensheng/p/4177915.html
VC6.0 error LNK2001: unresolved external symbol _main解决办法 - ITtecman
学习VC++时经常会遇到链接错误LNK2001,该错误非常讨厌,因为对于编程者来说,最好改的错误莫过于编译错误,而一般说来发生连接错误时,编译都已通过。产生连接错误的原因非常多,尤其LNK2001错误,常常使人不明其所以然。如果不深入地学习和理解VC++,要想改正连接错误LNK2001非常困难。 初学者在学习VC++的过程中,遇到的LNK2001错误的错误消息主要为: unresolved...
2014-12-22T04:34:00Z
2014-12-22T04:34:00Z
ITtecman
https://www.cnblogs.com/nufangrensheng/
【摘要】学习VC++时经常会遇到链接错误LNK2001,该错误非常讨厌,因为对于编程者来说,最好改的错误莫过于编译错误,而一般说来发生连接错误时,编译都已通过。产生连接错误的原因非常多,尤其LNK2001错误,常常使人不明其所以然。如果不深入地学习和理解VC++,要想改正连接错误LNK2001非常困难。 初学者在学习VC++的过程中,遇到的LNK2001错误的错误消息主要为: unresolved... <a href="https://www.cnblogs.com/nufangrensheng/p/4177915.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/nufangrensheng/p/4096037.html
JDBC数据库编程基本流程 - ITtecman
1、加载驱动类 Class.forName(“”); 2、创建数据库连接 Connection con = DriverManager.getConnection(url, user, password); 3、创建Statement对象 Statement stat = con.createStatement(); 4、数据库操作 stat.executeUpda...
2014-11-13T14:15:00Z
2014-11-13T14:15:00Z
ITtecman
https://www.cnblogs.com/nufangrensheng/
【摘要】1、加载驱动类 Class.forName(“”); 2、创建数据库连接 Connection con = DriverManager.getConnection(url, user, password); 3、创建Statement对象 Statement stat = con.createStatement(); 4、数据库操作 stat.executeUpda... <a href="https://www.cnblogs.com/nufangrensheng/p/4096037.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/nufangrensheng/p/4095995.html
JDBC连接SQL Server2008 - ITtecman
在使用JDBC连接数据库之前首先要加载相应数据库的JDBC驱动类,可以通过通用方法Class.forName来加载驱动类。 方式一:使用JDBC-ODBC连接桥 一般安装JDK后会自带JDBC-ODBC桥驱动程序,一般在…\lib\rt.jar中,但也有例外,我就碰到没有自带的情况,这时自行下载了一个带有JDBC-ODBC桥驱动的rt.jar。 创建ODBC数据源student Co...
2014-11-13T13:57:00Z
2014-11-13T13:57:00Z
ITtecman
https://www.cnblogs.com/nufangrensheng/
【摘要】在使用JDBC连接数据库之前首先要加载相应数据库的JDBC驱动类,可以通过通用方法Class.forName来加载驱动类。 方式一:使用JDBC-ODBC连接桥 一般安装JDK后会自带JDBC-ODBC桥驱动程序,一般在…\lib\rt.jar中,但也有例外,我就碰到没有自带的情况,这时自行下载了一个带有JDBC-ODBC桥驱动的rt.jar。 创建ODBC数据源student Co... <a href="https://www.cnblogs.com/nufangrensheng/p/4095995.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/nufangrensheng/p/4095938.html
JDK的下载、安装及环境变量的配置 - ITtecman
官网下载JDK: www.oracle.com 或者 www.java.sun.com 安装JDK: 双击运行下载的 jdk-8u25-windows-i586.exe即可。 假设安装目录为:D:\Program Files (x86)\Java\jdk1.8.0_25 配置环境变量:针对win7系统 新建系统变量JAVA_H...
2014-11-13T13:33:00Z
2014-11-13T13:33:00Z
ITtecman
https://www.cnblogs.com/nufangrensheng/
【摘要】官网下载JDK: www.oracle.com 或者 www.java.sun.com 安装JDK: 双击运行下载的 jdk-8u25-windows-i586.exe即可。 假设安装目录为:D:\Program Files (x86)\Java\jdk1.8.0_25 配置环境变量:针对win7系统 新建系统变量JAVA_H... <a href="https://www.cnblogs.com/nufangrensheng/p/4095938.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/nufangrensheng/p/4062683.html
奇数阶幻方口诀 - ITtecman
口诀版本一: 先填上行正中央, 依次斜填莫相忘。 上格没有顶格填, 顶格没有底格放。 口诀版本二: 1居上行正中央, 依次斜填莫相忘。 上出框时往下填, 右出框时左边放。 排重便在下格填, 右上排重一个样。 口诀解析: 把1(或最小的数)放在第一行正中; 按以下规律排列剩下的n*n-1个数: (1)、每一个数...
2014-10-30T06:56:00Z
2014-10-30T06:56:00Z
ITtecman
https://www.cnblogs.com/nufangrensheng/
【摘要】口诀版本一: 先填上行正中央, 依次斜填莫相忘。 上格没有顶格填, 顶格没有底格放。 口诀版本二: 1居上行正中央, 依次斜填莫相忘。 上出框时往下填, 右出框时左边放。 排重便在下格填, 右上排重一个样。 口诀解析: 把1(或最小的数)放在第一行正中; 按以下规律排列剩下的n*n-1个数: (1)、每一个数... <a href="https://www.cnblogs.com/nufangrensheng/p/4062683.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/nufangrensheng/p/4034936.html
ping: sendto: Network is unreachable - ITtecman
在我的板子上ping路由上的IP的时候可以ping通,但是ping外网的IP的时候提示“ping: sendto: Network is unreachable” 后来使用route命令看了一下 # route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref...
2014-10-19T07:00:00Z
2014-10-19T07:00:00Z
ITtecman
https://www.cnblogs.com/nufangrensheng/
【摘要】在我的板子上ping路由上的IP的时候可以ping通,但是ping外网的IP的时候提示“ping: sendto: Network is unreachable” 后来使用route命令看了一下 # route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref... <a href="https://www.cnblogs.com/nufangrensheng/p/4034936.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/nufangrensheng/p/4020656.html
new/delete和malloc/free的区别 - ITtecman
通俗易懂版本:http://zhidao.baidu.com/question/86185100 1 new/delete和malloc/free最大区别是对对象的理解。 如果你使用 Foo* foo = malloc(sizeof(Foo));//Foo是一个类初始化,那么你将不会调用Foo的构造方法,而只是单纯的分配空间。而且我们只认为你是分配一个空间,而不是想创建一个对象。 Foo*...
2014-10-12T08:05:00Z
2014-10-12T08:05:00Z
ITtecman
https://www.cnblogs.com/nufangrensheng/
【摘要】通俗易懂版本:http://zhidao.baidu.com/question/86185100 1 new/delete和malloc/free最大区别是对对象的理解。 如果你使用 Foo* foo = malloc(sizeof(Foo));//Foo是一个类初始化,那么你将不会调用Foo的构造方法,而只是单纯的分配空间。而且我们只认为你是分配一个空间,而不是想创建一个对象。 Foo*... <a href="https://www.cnblogs.com/nufangrensheng/p/4020656.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/nufangrensheng/p/4004716.html
MFC的消息管理 - ITtecman
一般而言,与视图状态和用户输入有关的命令由视图类来处理,与文件操作有关的命令由文档类来处理,与窗口布局有关的命令由主框架类来处理,与程序的运行状态有关的命令由APP类来处理。
2014-10-03T00:36:00Z
2014-10-03T00:36:00Z
ITtecman
https://www.cnblogs.com/nufangrensheng/
【摘要】一般而言,与视图状态和用户输入有关的命令由视图类来处理,与文件操作有关的命令由文档类来处理,与窗口布局有关的命令由主框架类来处理,与程序的运行状态有关的命令由APP类来处理。 <a href="https://www.cnblogs.com/nufangrensheng/p/4004716.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/nufangrensheng/p/4003879.html
VC++之自定义消息 - ITtecman
用户可以自定义消息,在应用程序中主动发出,这种消息一般用于应用程序的某一部分内部处理。实例说明:当用户按键盘上的光标上移键时,程序发送用户自定义消息,在对应的消息响应函数中弹出消息对话框,显示消息发送成功。操作步骤:(1)创建一个单文档应用程序,名为:自定义消息处理。(2)定义用户消息ID(标识符)...
2014-10-02T02:13:00Z
2014-10-02T02:13:00Z
ITtecman
https://www.cnblogs.com/nufangrensheng/
【摘要】用户可以自定义消息,在应用程序中主动发出,这种消息一般用于应用程序的某一部分内部处理。实例说明:当用户按键盘上的光标上移键时,程序发送用户自定义消息,在对应的消息响应函数中弹出消息对话框,显示消息发送成功。操作步骤:(1)创建一个单文档应用程序,名为:自定义消息处理。(2)定义用户消息ID(标识符)... <a href="https://www.cnblogs.com/nufangrensheng/p/4003879.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/nufangrensheng/p/3972948.html
char str[]和char *str的区别 - ITtecman
1、http://blog.csdn.net/szchtx/article/details/10396149 char ss[]="C++"; ss[0]='c'; // 合法 char *p="C++"; p[0]='c'; // 合法但不正确 该段代码在VS2010下编译可以通过,但是运...
2014-09-15T07:39:00Z
2014-09-15T07:39:00Z
ITtecman
https://www.cnblogs.com/nufangrensheng/
【摘要】1、http://blog.csdn.net/szchtx/article/details/10396149 char ss[]="C++"; ss[0]='c'; // 合法 char *p="C++"; p[0]='c'; // 合法但不正确 该段代码在VS2010下编译可以通过,但是运... <a href="https://www.cnblogs.com/nufangrensheng/p/3972948.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/nufangrensheng/p/3961533.html
error C2039: 'SetWindowTextA' : is not a member of 'CString' - ITtecman
m_OpenPath.SetWindowText(strPath); 错误原因:在给控件关联变量m_OpenPath时,变量类型选择错误 解决办法:
2014-09-08T09:02:00Z
2014-09-08T09:02:00Z
ITtecman
https://www.cnblogs.com/nufangrensheng/
【摘要】m_OpenPath.SetWindowText(strPath); 错误原因:在给控件关联变量m_OpenPath时,变量类型选择错误 解决办法: <a href="https://www.cnblogs.com/nufangrensheng/p/3961533.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/nufangrensheng/p/3956945.html
循环队列(循环数组)中元素个数的计算 - ITtecman
队列头指针为front,队列尾指针为rear(指向队尾元素),after_rear为队尾元素的后一位置(按顺时针方向),队列容量为maxsize 如果用 front == rear 来表示队列为空,也就是说front和rear指向同一个位置,那么: 队列满时:(rear+1) mod maxsize == front 队列中元素个数为:(rear-front+maxsize) mod ...
2014-09-04T13:52:00Z
2014-09-04T13:52:00Z
ITtecman
https://www.cnblogs.com/nufangrensheng/
【摘要】队列头指针为front,队列尾指针为rear(指向队尾元素),after_rear为队尾元素的后一位置(按顺时针方向),队列容量为maxsize 如果用 front == rear 来表示队列为空,也就是说front和rear指向同一个位置,那么: 队列满时:(rear+1) mod maxsize == front 队列中元素个数为:(rear-front+maxsize) mod ... <a href="https://www.cnblogs.com/nufangrensheng/p/3956945.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/nufangrensheng/p/3956917.html
数据结构之堆 - ITtecman
堆可用于实现优先队列。 堆有两个性质:结构性和堆序性。 堆的结构性: 堆是一棵被完全填满的二叉树,有可能的例外是在底层,底层上的元素从左到右填入。这样的树称为完全二叉树。 一棵高为h的完全二叉树有2^h~2^(h+1)-1个节点。这意味着,完全二叉树的高是logN下取整。 完全二叉树很有规律,可用一个数组表示而不需要指针。对于数组中任一位置i上的元素,其左儿子在2i上,右儿子...
2014-09-04T13:36:00Z
2014-09-04T13:36:00Z
ITtecman
https://www.cnblogs.com/nufangrensheng/
【摘要】堆可用于实现优先队列。 堆有两个性质:结构性和堆序性。 堆的结构性: 堆是一棵被完全填满的二叉树,有可能的例外是在底层,底层上的元素从左到右填入。这样的树称为完全二叉树。 一棵高为h的完全二叉树有2^h~2^(h+1)-1个节点。这意味着,完全二叉树的高是logN下取整。 完全二叉树很有规律,可用一个数组表示而不需要指针。对于数组中任一位置i上的元素,其左儿子在2i上,右儿子... <a href="https://www.cnblogs.com/nufangrensheng/p/3956917.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/nufangrensheng/p/3923015.html
理解C语言声明的优先级规则 - ITtecman
A 声明从它的名字开始读取,然后按照优先级顺序依次读取。 B 优先级从高到低依次是: B.1 声明中被括号括起来的那部分 B.2 后缀操作符: 括号()表示这是一个函数,而 方括号[]表示这是一个数组。 B.3 前缀操作符:星号*表示 “指向…的指针”。 C 如果const和(或)volatile关键字的后面紧跟类型说明符(如int,...
2014-08-19T12:37:00Z
2014-08-19T12:37:00Z
ITtecman
https://www.cnblogs.com/nufangrensheng/
【摘要】A 声明从它的名字开始读取,然后按照优先级顺序依次读取。 B 优先级从高到低依次是: B.1 声明中被括号括起来的那部分 B.2 后缀操作符: 括号()表示这是一个函数,而 方括号[]表示这是一个数组。 B.3 前缀操作符:星号*表示 “指向…的指针”。 C 如果const和(或)volatile关键字的后面紧跟类型说明符(如int,... <a href="https://www.cnblogs.com/nufangrensheng/p/3923015.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/nufangrensheng/p/3915586.html
内联汇编中的asm和__asm__ - ITtecman
基本的内联汇编代码: asm格式: asm(“assembly code”); 使用替换的关键字: 如果必须的话,可以改变用于标识内联汇编代码段的关键字asm。ANSI C规范把关键字asm用于其他用途,不能将它用于内联汇编语句。如果使用ANSI C约定编写代码,你必须使用关键字__asm__替换一般的关键字asm。 __asm__(“assembly code”);
2014-08-15T11:49:00Z
2014-08-15T11:49:00Z
ITtecman
https://www.cnblogs.com/nufangrensheng/
【摘要】基本的内联汇编代码: asm格式: asm(“assembly code”); 使用替换的关键字: 如果必须的话,可以改变用于标识内联汇编代码段的关键字asm。ANSI C规范把关键字asm用于其他用途,不能将它用于内联汇编语句。如果使用ANSI C约定编写代码,你必须使用关键字__asm__替换一般的关键字asm。 __asm__(“assembly code”); <a href="https://www.cnblogs.com/nufangrensheng/p/3915586.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/nufangrensheng/p/3911117.html
程序启动时的堆栈 - ITtecman
程序启动时,Linux把4种类型的信息存放到程序堆栈中: (1)命令行参数(包括程序名称)的数目 (2)从shell提示符执行的程序的名称 (3)命令行中包含的任何命令行参数 (4)在程序启动时的所有当前Linux环境变量 程序名称、命令行参数和环境变量是以空结尾的长度可变的字符串。为了使工作更加简单,Linux不仅把字符串加载到堆栈中,它还把指向每个这些元素的指针加载到堆栈中,所...
2014-08-13T12:34:00Z
2014-08-13T12:34:00Z
ITtecman
https://www.cnblogs.com/nufangrensheng/
【摘要】程序启动时,Linux把4种类型的信息存放到程序堆栈中: (1)命令行参数(包括程序名称)的数目 (2)从shell提示符执行的程序的名称 (3)命令行中包含的任何命令行参数 (4)在程序启动时的所有当前Linux环境变量 程序名称、命令行参数和环境变量是以空结尾的长度可变的字符串。为了使工作更加简单,Linux不仅把字符串加载到堆栈中,它还把指向每个这些元素的指针加载到堆栈中,所... <a href="https://www.cnblogs.com/nufangrensheng/p/3911117.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/nufangrensheng/p/3910919.html
局部变量与堆栈 - ITtecman
我们知道函数中的局部变量存储在堆栈之中,如下图所示,当局部变量1、2、3存到堆栈中后,堆栈指针ESP并没有下移,依然指向原来的位置。出现这种情况的原因是:局部变量进入堆栈并不是使用push而是使用mov操作,所以ESP无变化。正是因为这样,如果函数把任何数据压入堆栈,那么局部变量将会被覆盖。 为了保护局部变量,解决方法是在函数代码的开始添加一行(针对汇编语言),通过从ES...
2014-08-13T11:40:00Z
2014-08-13T11:40:00Z
ITtecman
https://www.cnblogs.com/nufangrensheng/
【摘要】我们知道函数中的局部变量存储在堆栈之中,如下图所示,当局部变量1、2、3存到堆栈中后,堆栈指针ESP并没有下移,依然指向原来的位置。出现这种情况的原因是:局部变量进入堆栈并不是使用push而是使用mov操作,所以ESP无变化。正是因为这样,如果函数把任何数据压入堆栈,那么局部变量将会被覆盖。 为了保护局部变量,解决方法是在函数代码的开始添加一行(针对汇编语言),通过从ES... <a href="https://www.cnblogs.com/nufangrensheng/p/3910919.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/nufangrensheng/p/3897770.html
BCD码干什么用的? - ITtecman
二进制编码的十进制(Binary Coded Decimal,BCD)数据类型在计算机系统中已经存在很久了。BCD格式经常用于简化对使用十进制数字的设备(比如必须向人显示数字的设备,如时钟和计时器)的处理。处理器不是把十进制数字转换为二进制数字以便进行数学操作,然后再转换回十进制;而是可以按照BCD格式保存数字并且执行数学操作。 BCD的名称就说明了它的作用,它按照二进制格式对十进制数字进...
2014-08-07T09:55:00Z
2014-08-07T09:55:00Z
ITtecman
https://www.cnblogs.com/nufangrensheng/
【摘要】二进制编码的十进制(Binary Coded Decimal,BCD)数据类型在计算机系统中已经存在很久了。BCD格式经常用于简化对使用十进制数字的设备(比如必须向人显示数字的设备,如时钟和计时器)的处理。处理器不是把十进制数字转换为二进制数字以便进行数学操作,然后再转换回十进制;而是可以按照BCD格式保存数字并且执行数学操作。 BCD的名称就说明了它的作用,它按照二进制格式对十进制数字进... <a href="https://www.cnblogs.com/nufangrensheng/p/3897770.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/nufangrensheng/p/3897632.html
恍然大悟之原、反、补 - ITtecman
曾在很多书籍中看到过关于原码、反码和补码的介绍,都未能够深入理解。今在Richard Blum编写的《汇编语言程序设计》一书中读到关于带符号整数一节的讲解时(确切的说是其中的一句话),的确有茅塞顿开、恍然大悟之感。原文如下: 7.2.3 带符号整数 虽然使用无符号整数很容易,但是其缺陷是没有办法表示负数。为了解决这个问题,在处理器上需要采用能够表示负数的方法。有3种方法用于在计算机...
2014-08-07T09:07:00Z
2014-08-07T09:07:00Z
ITtecman
https://www.cnblogs.com/nufangrensheng/
【摘要】曾在很多书籍中看到过关于原码、反码和补码的介绍,都未能够深入理解。今在Richard Blum编写的《汇编语言程序设计》一书中读到关于带符号整数一节的讲解时(确切的说是其中的一句话),的确有茅塞顿开、恍然大悟之感。原文如下: 7.2.3 带符号整数 虽然使用无符号整数很容易,但是其缺陷是没有办法表示负数。为了解决这个问题,在处理器上需要采用能够表示负数的方法。有3种方法用于在计算机... <a href="https://www.cnblogs.com/nufangrensheng/p/3897632.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/nufangrensheng/p/3895591.html
硬件中断和软件中断以及中断与函数调用的区别 - ITtecman
《汇编语言程序设计》Richard Blum著:6.2.3中断 中断有两种形式: (1)硬件中断; (2)软件中断。 硬件设备生成硬件中断。 使用硬件中断发出信号,表示硬件层发生的事件(比如I/O端口接收到输入信号时)。 程序生成软件中断。 它们是把控制交给另一个程序的信号。 当一个程序被中断调用时,发出调用的程序暂停,被调用的程序接替它运行。指令指针被转移...
2014-08-06T11:30:00Z
2014-08-06T11:30:00Z
ITtecman
https://www.cnblogs.com/nufangrensheng/
【摘要】《汇编语言程序设计》Richard Blum著:6.2.3中断 中断有两种形式: (1)硬件中断; (2)软件中断。 硬件设备生成硬件中断。 使用硬件中断发出信号,表示硬件层发生的事件(比如I/O端口接收到输入信号时)。 程序生成软件中断。 它们是把控制交给另一个程序的信号。 当一个程序被中断调用时,发出调用的程序暂停,被调用的程序接替它运行。指令指针被转移... <a href="https://www.cnblogs.com/nufangrensheng/p/3895591.html" target="_blank">阅读全文</a>