- 博客(226)
- 资源 (52)
- 收藏
- 关注
http://www.seefan.cn/space.php? do=proddetail&lp_id=1092198&uid=34820 http://www.seefan.cn/space.php? do=proddetail&lp_id=1092211&uid=34820 http://www.seefan.cn/space.php? do=proddetail&lp_id=109
2014-05-01 07:57:19
312
原创 C\C++中的预处理
一、预处理功能: 预处理器的主要作用就是把通过预处理的内建功能对一个资源进行等价替换,最常见的预处理有:文件包含,条件编译、布局控制和宏替换4种。 文件包含:#include 是一种最为常见的预处理,主要是做为文件的引用组合源程序正文。 条件编译:#if,#ifndef,#ifdef,#endif,#undef等也是比较常见的预处理,主要是进行编译时进行有选择的挑选,注释掉一些指定的
2014-01-01 20:07:03
338
原创 利用GCC预处理展开宏
C/C++在编译的过程中,依次进行:预处理,编译,汇编,链接。宏是在预处理时展开的而 gcc 的预处理选项为-E。 所以将调用宏的那部分代码单独提取出来,然后利用gcc对其进行预处理即可看到宏展开后的代码,方便理解。 方法: gcc -Efile_name.c 例: //macro_test.c #include #definePRINT_MSG(MSG) prin
2014-01-01 20:01:41
393
转载 itoa with GCC
itoa with GCC IntroductionCreditsDevelopmentLatest VersionsPerformance Comparison How do I use itoa() with GCC? Arrgghh C/C++! It would appear that itoa() isn't ANSI C standard and doesn't
2014-01-01 19:56:46
270
转载 C++ 函数指针
(一)简单的函数指针的应用。 //形式1:返回类型(*函数名)(参数表) char(*pFun)(int); char glFun(inta){ return;} void main() { pFun = glFun; (*pFun)(2); } 第一行定义了一个指针变量pFun。首先我们根据前面提到的
2014-01-01 19:45:08
175
原创 C/C++ 的 Gets 、 fgets、 scanf
一、fgets char *fgets ( char * str, int num, FILE * stream ); 说明:从stream所指文件中读入n-1个字符放入str为起始地址的空间内;如果在未读满num-1个字符时,已读到换行符或EOF(文件结束标志)则结束本次读操作且读入的字符串尾包含读到的换行符。读入结束后,系统将自动在最后加'\0'。 返回值: 若成功则返回s指针,失败
2014-01-01 19:33:26
262
转载 C++字符串格式化 sprintf
在将各种类型的数据构造成字符串时,sprintf的强大功能很少会让你失望。由于sprintf 跟printf在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。这也导致sprintf 比printf 有用得多。 sprintf是个变参函数,定义如下: intsprintf( char *buffer, const char *format [,
2014-01-01 19:26:57
188
原创 DirectFB概览
1 简介 DirectFB是一个提供了硬件图形加速、输入设备处理和抽象的轻量级的图形库,它集成了支持半透明窗体的视窗系统(window system)以及在LinuxFramebuffer Device之上的多显示层。它是一个具有软件回退(software fallbacks)的无需依靠底层硬件的可用于任意图形运算的完整的硬件抽象层。DirectFB是为嵌入式系统(embeddedsystems
2014-01-01 19:13:46
459
原创 星期几计算公式
一:常用公式 W =[Y-1] + [(Y-1)/4] - [(Y-1)/100] + [(Y-1)/400] + D Y是年份数,D是这一天在这一年中的累积天数,也就是这一天在这一年中是第几天 二:蔡勒(Zeller)公式 w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1 公式中的符号含义如下,w:星期;c:世纪;y:年(两位数); m:月(m大于等于3,小于等于
2014-01-01 18:56:46
321
转载 Multi-threading Library for Standard C++
Contents Introduction Thread Mutex Mutex Rationale and Examples Mutex concepts Time Issues Lock Rationale and Examples Generic Locking Algorithm Rational
2014-01-01 18:52:26
367
转载 C++0x/C++11 Support in GCC
C++0x/C++11 Support in GCC C++0xwas the working name of the ISO C++ 2011 standard, which introduced a host ofnew features into the standard C++ language and library. This project sought toimplement n
2014-01-01 18:48:21
266
原创 Linux文件的压缩和解压
一、ZIP 优点:在不同的操作系统平台,比如Linux, Windows以及Mac OS,上使用。 缺点:支持的压缩率不是很高,而tar.gz和tar.gz2在压缩率方面做得非常好。 A:压缩: zip -r archive_name.zip directory_to_compress B:解
2014-01-01 16:38:31
176
原创 Linux中Samba安装
为了实现Windows主机与Linux服务器之间的资源共享,Linux操作系统提供了Samba服务,Samba服务为两种不同的操作系统架起了一座桥梁,使Linux系统和Windows系统之间能够实现互相通信,为广泛的Linux爱好者提供了极大方便。本文简要介绍如何在Linux操作系统上搭建Samba服务器和简单配置。 1、服务查询 默认情况下,Linux系统在默认安装中已经安装了Sa
2014-01-01 16:10:56
197
转载
为了实现Windows主机与Linux服务器之间的资源共享,Linux操作系统提供了Samba服务,Samba服务为两种不同的操作系统架起了一座桥梁,使Linux系统和Windows系统之间能够实现互相通信,为广泛的Linux爱好者提供了极大方便。本文简要介绍如何在Linux操作系统上搭建Samba服务器和简单配置。 1、服务查询 默认情况下,Linux系统在默认安装中已经安装了Sa
2014-01-01 16:07:24
110
原创 c++/C 的 const
const在C与C++的异同 (1)C中,const是只读的变量,不是常量;C++中它是常量。区别用例子描述如下: const int MAX = 10; char buffer[MAX]; //C中它是不合法的,可以用enum或 define替代;C++中它是合法的。 (2)C中const变量分配在全局静态区;C++中则在常量区,编译过程中值就定了。 (3)C++编译器并不为con
2012-09-19 23:30:19
131
原创 I386的体系结构
I386的体系结构 1. 内存寻址 冯.诺依曼体系计算机系统由运算器、存储器、控制器、输入设备、输出设备五大部件组成。运算器就是我们熟知的CPU中的ALU(算术逻辑单元),存储器是内存,控制器是CPU中的控制单元;输入设备就是我们的鼠标键盘等;输出设备就是显示器,打印机等。 1.1历史回顾 1.1.1石器时代 20年前intel推出了一款8位处理器——8080,它有1个主累加器(
2012-09-19 23:15:14
545
原创 Linux 中的汇编语言
一、AT&T 与 Intel 汇编语言的比较 1.前缀 在 Intel 的语法中,寄存器和和立即数都没有前缀。但是在AT&T 中,寄存器前冠以 “%”,立即数前冠以”$”。在 Intel 的语法中,十六进制和二进制立即数后缀分别 冠以”h”和”b”,而在 AT&T 中,十六进制立即数前冠以”ox”。 表 1Intel与 AT&T 前缀的区别 Intel
2012-09-19 23:12:06
576
原创 GCC与G++
一、gcc与g++ gcc是GNU项目中符合ANSI C标准的编译系统。 g++是将 gcc 默认语言设为 C++ 的一个特殊的版本,链接时它自动使用 C++ 标准库而不用 C 标准库。 注意事项 GCC和G++两者都可以编译C和C++代码,但应该请注意: (1)后缀为.c的,gcc把它当作是C程序,而g++当作是c++程序;后缀为.cpp的,两者都会认为是c++程序。
2012-09-19 23:06:54
586
原创 C与C++混合编程
1、C++调用C函数 C++程序不能直接调用C 函数(c_program 函数被C 编译器编译后在库中的名字为_c_program,而C++编译器则会产生像_c_program_int_int之类的名字用来支持函数重载和类型安全连接。由于编译后的名字不同所以不能直接调用)。C++提供了一个C 连接交换指定符号extern“C”来告诉编译译器,函数c_program 是个C 连
2012-09-19 22:57:44
510
原创 正则表达式元字符参考
一. 匹配字符 字符类 匹配的字符 举 例 \d 从0-9的任一数字 \d\d匹配72,但不匹配aa或7a \D 任一非数字字符 \D\D\D匹配abc,但不匹配123 \w 任一单词字符,包括A-Z,a-z,0-9和下划线
2012-09-19 22:26:49
697
原创 正则表达式元字符参考
一. 匹配字符 字符类 匹配的字符 举 例 \d 从0-9的任一数字 \d\d匹配72,但不匹配aa或7a \D 任一非数字字符 \D\D\D匹配abc,但不匹配123 \w 任一单词字符,包括A-Z,a-z,0-9和下划线
2012-09-19 21:37:37
198
原创 GroupCollection 类
GroupCollection 类 表示捕获组的集合。GroupCollection 返回单个匹配中的捕获组的集合。 该集合是不可变(只读)的,并且没有公共构造函数。实例在由 Groups 返回的集合中返回 属性 名称 说明 Count 返回集合中的组数。 IsReadOnly 获取一
2012-09-19 21:34:24
238
原创 Group 类
Group 类 Group 表示单个捕获组的结果。由于存在数量词,一个捕获组可以在单个匹配中捕获零个、一个或更多的字符串,因此 Group 提供 Capture 对象的集合。 Group 从Capture 继承,因此可以直接访问捕获到的最后一个子字符串。(即 Group 实例本身等效于由 Captures 属性返回的集合中的最后一项)。 属性 名称
2012-09-19 21:33:35
213
原创 CaptureCollection类
CaptureCollection 类 表示一个捕获子字符串序列。CaptureCollection 返回由单个捕获组执行的捕获的集合。 该集合是不可变(只读)的,并且没有公共构造函数。实例在 Captures 集合中返回。 属性 名称 说明 Count 获取由该组捕获的子字符串数。 Is
2012-09-19 21:32:58
195
原创 Match 类
Match 类 表示单个正则表达式匹配的结果。 由于单个匹配可能涉及多个捕获组,因此 Match 具有返回 GroupCollection 的 Groups 属性。GroupCollection 具有返回每个组的访问器。Match 从 Group继承,因此可以直接访问匹配的整个子字符串。也就是说,Match 实例自身等效于 Match.Groups[0](Visual Basic 中则为
2012-09-19 21:31:34
233
原创 RegexCompilationInfo 类
RegexCompilationInfo 类 提供编译器用于将正则表达式编译为独立程序集的信息。 属性 名称 说明 IsPublic 获取或设置一个值,该值指示所编译的正则表达式是否具有公共可见性。 Name 获取或设置用于所编译的正则表达式的类型名称。 Namespace
2012-09-19 21:30:33
212
原创 判断SELECT 所影响的行数
1、判断SQL 中SELECT 语句 所影响的行数 首先看看ExecuteNonQuery()与ExecuteNonQuery()的返回值。 SqlCommand.ExecuteNonQuery()方法仅对于 UPDATE、INSERT 和 DELETE 语句,返回值为该命令所影响的行数。对于所有其他类型的语句,返回值为 -1。如果发生回滚,返回值也为 -1 Sql
2012-09-19 21:21:09
354
原创 SQL 联接查询 总结
一、联接分类 内部联接(典型的联接运算,使用类似于 = 或 <> 的比较运算符)。内部联接包括同等联接和自然联接。 内部联接通过比较相等的值的字段(被连接的表所共同拥有的),将匹配的行作为结果集(即将两个表都满足条件的记录作为结果集)。 A:内连接是SQLServer默认的连接方式,可以把INNERJOIN简写成JOIN B:连接的条件中不要指定空值,因为空值和
2012-09-19 21:06:52
495
原创 SQL 子查询 总结
子查询是一个嵌套在SELECT、INSERT、UPDATE 或 DELETE 语句或其他子查询中的查询。任何允许使用表达式的地方都可以使用子查询。 三种基本的子查询 (1)在通过 IN 或由 ANY 或 ALL 修改的比较运算符引入的列表上操作。 (2)通过未修改的比较运算符引入且必须返回单个值。 (3)通过 EXISTS 引入的存在测试。 WHERE e
2012-09-19 21:03:34
5989
原创 SQL 中ROLLUP 用法 (ROLLUP 与CUBE区别)
ROLLUP 运算符生成的结果集类似于 CUBE 运算符生成的结果集。 下面是CUBE 和 ROLLUP 之间的具体区别: CUBE 生成的结果集显示了所选列中值的所有组合的聚合。 ROLLUP 生成的结果集显示了所选列中值的某一层次结构的聚合。 ROLLUP 优点: (1)ROLLUP返回单个结果集,而 COMPUTE BY 返回多个结果集,而多个结果集会增加应用
2012-09-19 21:01:44
537
原创 CUBE用法
CUBE 运算符生成的结果集是多维数据集。多维数据集是事实数据(即记录个别事件的数据)的扩展。扩展是基于用户要分析的列建立的。这些列称为维度。多维数据集是结果集,其中包含各维度的所有可能组合的交叉表格。 CUBE 运算符在 SELECT 语句的 GROUP BY 子句中指定。该语句的选择列表包含维度列和聚合函数表达式。GROUP BY 指定了维度列和关键字 WITH CUBE。结果
2012-09-19 20:58:13
374
原创 INTERSECT 和 EXCEPT用法
EXCEPT 返回两个结果集的差(即从左查询中返回右查询没有找到的所有非重复值)。 INTERSECT 返回 两个结果集的交集(即两个查询都返回的所有非重复值)。 UNION返回两个结果集的并集。 语法: { (SQL-查询语句1>) } {EXCEPT | INTERSECT } { (SQL-查询语句2> )} 限制条件 (1)所有查询
2012-09-19 20:57:07
296
原创 COMPUTE 和COMPUTE BY
GROUP BY子句返回的结果集中只有合计数据,而没有原始的详细记录。COMPTE生成合计作为附加的汇总列出现在结果集的最后。当与BY一起使用时,COMPUTE 子句在结果集内生成控制中断和分类汇总。 compute by 的规则: (1)不能将distinct与行统计函数一起使用 (2)compute by中列出的列必须出现在选择列表中 (3)不能在含有comput
2012-09-19 20:55:29
812
原创 Ubuntu-10.10下搭建DirectFB-1.6.1模拟环境
Ubuntu-10.10下搭建DirectFB-1.6.1模拟环境 下载DirectFB与样例的源码包: http://directfb.org/index.php?path=Main%2FDownloads http://directfb.org/index.php?path=Main%2FDownloads&page=1 一、安装DirectFB (1)解压安装
2012-09-19 19:55:40
92
原创 GDB
使用 GDB 一般来说 GDB 主要调试的是C/C++ 的程序。要调试 C/C++ 的程序,首先在编译时,我们必须要把调试信息加到可执行文件中。使用编译器(cc/gcc/g++ )的 -g 参数可以做到这一点。如: > cc-g hello.c -o hello >g++ -g hello.cpp -o hello 如果没有 -g ,你将看不见程序的函数名、变量名,所代替的全是运行时
2012-09-19 19:52:46
541
原创 core dump设置
一、启用core dump 在一般Linux系统中,默认是不会产生core dump文件的。 $ulimit-c 查看coredump文件的大小,一般开始是0表示内核转储无效。 $ulimit -c unlimited //不限制内核转储文件的大小 $ulimit -c 1024 //将转储文件设置未指定大小(单位kbytes) 二、在专用目录中生成core
2012-09-19 19:50:58
1611
原创 Hp mini 本在 ununtu 下安装 无线网卡
1、下载驱动程序。 在http://www.broadcom.com/support/802.11/linux_sta.php下载网卡的“802.11 Linux STA driver”驱动程序,这个本本是32位的,所以选择32位的版本。网页上的READEME.TXT文件中有详细的安装说明。 2、安装驱动程序,首先解开压缩包。 新建一个文件夹,名称为hp_wl
2012-08-08 23:53:35
381
原创 VC 控制台程序中使用Messagebox
任何地方: AfxMessageBox("hello world! "); 任何地方: ::MessageBox(NULL, "abc!",_T("attention"), MB_OKCANCEL ) == IDOK ) 窗口类下: MessageBox("Unableto ..."); 例: #include #include using
2012-08-08 18:06:18
696
windows_vista_enterprise_with_service_pack_1_x86_dvd_
2008-10-31
vista启动文件 (vista_boot备份)
2008-09-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人