- 博客(169)
- 资源 (6)
- 收藏
- 关注
转载 makefile的常用方法
自: http://www.cppblog.com/Khan/archive/2007/03/28/20762.html # Project: m3server# Makefile created by Khan.Lau# 应用程序名BIN = m3server.exeLIB = m3server.a# 输出目录CONFIGURATION = debug
2012-03-14 11:57:19 1113
原创 使用u盘安装ubuntu
个人电脑上已经安装了win7。并特意留出来一些空间(在win7的“磁盘管理”那里设置磁盘分区的大小)用来安装ubuntu,但是我的电脑上没有光驱,只能使用u盘来安装。下面就来说说怎样使用u盘安装ubuntu。1. 假如已经下载好了ubuntu的ios镜像文件,并准备一个2g左右的u盘,这对现在的u盘是个小case。2. 在windows中安装UltraISO软碟通,然后按照http:/
2011-11-27 23:54:42 2687
转载 正则表达式30分钟入门教程
正则表达式30分钟入门教程版本:v2.32 (2011-8-17) 作者:deerchao 转载请注明来源目录30分钟内让你明白正则表达式是什么,并对它有一些基本的了解,让你可以在自己的程序或网页里使用它。本文目标如何使用本教程最重要的是——请给我30分钟,如果你没有使用正则表达式的经验,请不要试图在30秒内入门——除非你是超人 :)别被下面那些
2011-11-24 17:37:55 973
转载 Ubuntu 10.04 上安装 ibus Sunpinyin 和五笔
公司电脑上安装了Ubuntu10.04,没有安装最新的版本11.11。默认的ibus的拼音输入很不好用。按照下面的方法使用ibus-pinyin和ibus-sunpinyin,经试用,发现还是不错的。Ubuntu 10.04 上安装 ibus Sunpinyin 和五笔Ubuntu 默认安装的是 ibus 1.2.0 ,我闲来没事使用 ibus-dev ppa 更新到
2011-11-17 16:24:39 1320
原创 vim使用技巧——快速编辑篇
与vim设置相关的常用基本命令:显示行号 :set number 或者 :set nu 隐藏行号 :set nonumber 或者 :set nonu 自动缩进 :set autoindent 或者 :set ai 不自动缩进 :set noautoindent 或者 :set noai 显示Tab及行尾字符 :set list 隐藏Tab及行尾字符 :set
2011-11-04 13:10:25 8374 1
原创 vim使用技巧——快速移动篇
1、 按屏幕移动(1) 最常用的几个命令如下:Ctrl + f // 向前(往行号大的方向移动)移动一屏,想来F代表ForwardCtrl + b // 向后移动一屏,B的话应该是Before吧Ctrl + d // 向前移动半屏,D指DownCtrl + u
2011-11-04 13:08:20 23250
转载 位操作技巧实例大全
检测一个无符号数是不为2^n-1(^为幂): x&(x+1) 将最右侧0位改为1位: x | (x+1)二进制补码运算公式:-x = ~x + 1 = ~(x-1)~x = -x-1 -(~x) = x+1~(-x) = x-1x+y = x - ~y - 1 = (x|y)+(x&y) x-y = x + ~y + 1 = (x|~y)-(~x&y) x^y
2011-11-03 20:19:19 1049
转载 C语言编译全过程
编译的概念:编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序。 编译的完整过程:C源程序-->预编译处理(.c)-->编译、优化程序(.s、.asm)-->汇编程序(.obj、.o、.a、.ko)-->链接程序(.exe、.elf、.axf等)1.
2011-11-03 20:12:30 2047
转载 透析回调函数
“先泛后精,先浅后深”的道理可是知易行难,所以常常会给技术上的小细节纠缠着,搞得晕晕乎,其中“回调函数”就是其中之一了,虽然回用,但是老是不明白其中的含义,众多的书本也说得隐晦不清。直到不久前看到一篇文章才总算比较清晰了解, 。 概括起来,回调机制包括两部分:服务执行者和服务方式制定者。 1. 服务执行者先制定服务规范; 2.
2011-11-03 20:10:40 637
转载 find、grep、xargs等命令及正则相关
findhttp://www.linuxsir.org/main/?q=node/137http://linux.chinaunix.net/techdoc/system/2008/07/25/1020339.shtmlhttp://www.cnblogs.com/skynet/archive/2010/12/25/1916873.html
2011-11-02 19:07:56 919
转载 可变参数宏
转自:http://www.upsdn.net/html/2006-08/692.html =============================================================================================================================在 GNU C 中,宏可以接受可变数目的参数,
2011-11-01 15:28:16 675
转载 宏定义技巧
宏定义是C提供的三种预处理功能的其中一种,这三种预处理包括:宏定义、文件包含、条件编译。 预处理(预编译)工作也叫做宏展开:将宏名替换为字符串。掌握"宏"概念的关键是“换”。一切以换为前提、做任何事情之前先要换,准确理解之前就要“换”。 即在对相关命令或语句的含义和功能作具体分析之前就要换=======================================
2011-10-28 21:03:12 826
原创 设计模式学习中……
描述一个在我们周围一再出现的问题,然后描述解决这个问题的核心方法,这样就能够无数次地使用这个解决方法而不必重复劳动——Christopher Alexander 设计模式的目标是封装变化的部分。 可把模式的基本概念看做一般情况下程序设计的基本概念:增加一个抽象层。对某事物进行抽象的时候,隔离特定的细节,最直接的动机之一是为将变化的事物和不变的事物分离开来。 系统设计基本原
2011-10-17 16:23:42 820
原创 MySQL数据库(表)的导入导出(备份和还原)
一)在同一个数据库服务器上面进行数据表间的数据导入导出:1. 如果表tb1和tb2的结构是完全一样的,则使用以下的命令就可以将表tb1中的数据导入到表tb2中:insert into db2.tb2 select * from db1.tb12. 如果表tb1和tb2只有部分字段是相同的,要实现将tb1中的部分字段导入到tb2中相对应的相同字段中,则使用以下命令:inse
2011-10-12 16:16:31 40115 2
原创 MySQL更改数据库文件的目录
公司的ubuntu服务器对于各个系统的目录是放在不同的逻辑分区上的,比如存放mysql数据库文件的默认目录/var/lib/mysql所在的系统目录/var/单独在一个分区上,但是这个分区的大小是固定的,不足以存放整个数据库文件。但是另一个系统目录/data大小却达到T级,大大满
2011-10-12 14:35:39 7477
转载 常用文本过滤命令笔记(find grep wc awk sed sort uniq split)
自:http://hi.baidu.com/bomob987/blog/item/d80292afa4e4e1104a36d67a.html 都支持regular expression1. find-name 按名字查找-perm 根据权限查找-ctime
2011-09-23 16:59:01 2426
原创 非阻塞 多线程、网络编程等
关于selecthttp://nnssll.blog.51cto.com/902724/202005http://www.vimer.cn/2009/10/select%E5%87%BD%E6%95%B0%E6%80%BB%E7%BB%93.htmlhttp://ww
2011-09-01 19:42:30 990
翻译 使用gdb调试段错误(segment fault)
原文位置 http://www.unknownroad.com/rtfm/gdbtut/gdbsegfault.html 我们打算使用gdb去解决为什么下面的程序(文件为segfault.c)引起了段错误的问题。下面的这段程序是从用户那里读入一行文本字串然后显示在屏
2011-09-01 16:00:20 55401
原创 ubuntu下mysql安装(server、client、dev),开启、停止和重启,及常见错误
1. 在ubuntu下安装server和client很简单:(1)安装serverapt-get install mysql-server安装当中,会提示输入root账户的密码,按提示输入即可。安装后默认开启了server(2) 安装clientapt-g
2011-09-01 13:08:38 19317
转载 程序员装B指南v1.0
真tmd笑死哥了! 一.准备工作“工欲善其事必先利其器。”1.电脑不一定要配置高,但是双屏是必须的,越大越好,能一个横屏一个竖屏更好。一个用来查资料,一个用来写代码。总之要显得信息量很大,效率很高。2.椅子不一定要舒服,但是一定要可以半躺着。3.大量的便
2011-08-28 13:20:35 1122
转载 Linux系统打开core dump的配置,以及用最短程序抛出core
什么是core dumpcore dump又叫核心转储, 当程序运行过程中发生异常, 程序异常退出时, 由操作系统把程序当前的内存状况存储在一个core文件中, 叫core dump。core dump在应用crash掉之后对问题的诊断是很有帮助的。而在默认安装的时候core
2011-08-25 15:02:30 5232
转载 linux top命令使用
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法。 一、概况说明top - 01:06:48 up 1:22, 1 user, load average: 0.06, 0.
2011-08-05 10:53:48 787
原创 网络编程相关(更新中)
网络编程基础知识http://blog.chinaunix.net/space.php?uid=2623904&do=blog&cuid=2224003socket编程之connect非阻塞模型-初探http://blog.csdn.net/cnctloveyu/article/
2011-07-29 10:52:17 583
转载 zz程序员成长的10个阶段
自http://news.csdn.net/a/20110602/299186.html 我的程序员成长之路程序员的成长经历往往很相似,大部分的人走过了最前面相同的一段路,而有的人则走得更远。总结自己这些年来的历程,这也许能让年轻的程序员少走一些弯路,成长得更快;或许更好一些,能让大家从中得到一些启发,早日进入优秀程序员的阶段,实现梦想,释放激情。第一阶段,最初是在学校里学习计
2011-06-13 16:38:00 839
原创 Linux C++开发环境的搭建和完善
(一)在centos5.5下面:1. 使用yum安装(最简单): 1.1 使用yum安装时,首先确保一个最新的源,通过网络软件档案镜像将系统里的软件升级,如直接在终端执行以下: cd /etc/yum.repos.d mv CentOS-Base.repo CentOS-Base.repo.save wget
2011-04-13 18:09:00 4946
转载 Linux RPM 命令参数使用详解 查看 rpm包依赖性
rpm 执行安装包<br />二进制包(Binary)以及源代码包(Source)两种。二进制包可以直接安装在计算机中,而源代码包将会由RPM自动编译、安装。源代码包经常以src.rpm作为后缀名。常用命令组合:-ivh:安装显示安装进度--install--verbose--hash<br />-Uvh:升级软件包--Update;<br />-qpl:列出RPM软件包内的文件信息[Query Package list];<br />-qpi:列出RPM软件包的描述信息[Query
2011-04-08 14:21:00 66059
原创 有用的Linux命令总结(不断更新中)
<br />1.查找一个程序(例如程序名为:mysql)进程的PID号并强行停止该进程:<br />(1)首先使用 ps aux|grep mysql 找出mysql的进程号pid<br />(2)再使用 kill -9 pid (-9表示强行停止)停止进程号为pid的进程
2011-04-07 11:09:00 1114
原创 CentOS 5.5下的svn环境的配置详解 (另外附带:centOS 5.5最新的国内源地址)
安装方法见:http://www.phpweblog.net/richard-dong/archive/2008/12/31/6254.html相关的安装包的下载地址见:http://download.csdn.net/source/3164996 ,包括——apache的一些依赖软件 + apache + subversion软件包在编译连接(make)subversion的时候可能会出现这样的错误: /usr/bin/ld: cannot find -lexpat此时可以使用这样的命令来解决: yum
2011-04-06 15:46:00 1231
转载 【转】十道海量数据处理面试题与十个方法大总结
<br />http://blog.csdn.net/v_JULY_v/archive/2011/03/26/6279498.aspx<br /> <br />并关注该博主
2011-04-01 13:57:00 915
原创 Linux下SVN客户端的使用方法
<br />安装很简单,如在ubuntu下可以直接使用以下的命令进行安装:<br />sudo apt-get install subversion subversion-tools<br /> <br /><br />使用<br />1、检出工程:svn checkout<br /><br />svn co http://{svn repository url} /destination<br /> 如:svn co http://svn.shiwan.com/svn/shiwan/branche
2011-01-06 19:52:00 2718 1
原创 各种排序源程序(附带驱动程序,直接可以测试)
<br />#include <iostream>#include <ctime>using namespace std;void ArrayCopy(int a[],int b[],int n){ for(int i=0;i<n;i++) b[i] = a[i];}void InsertSort(int a[],int b[],int n){ ArrayCopy(a,b,n); //还原原始的数据 int temp; for(int i=1;
2010-12-01 21:47:00 1089
转载 求二叉树中节点的最大距离
<br />struct NODE{ NODE* pLeft; NODE* pRight; int nMaxLeft; //左子树中的最长距离 int nMaxRight; //右子树中的最长的距离 char chValue; //该节点的值};int nMaxlen = 0;void FindMaxlen(NODE* pRoot){ if(NULL == pRoot) return; //左子
2010-11-30 15:02:00 761
原创 堆排序
堆排序是一树形选择排序,它的特点是,在排序过程中,将R[1..n]看成是一棵完全二叉树的顺序存储结构,利用完全二叉树中双亲结点和孩子结点之间的内在关系,在当前无序区中选择关键字最大(或最小)的记录。 堆的定义是:n个关键字序列K1,K2,…,Kn称为堆,当且仅当该序列满足如下性质(简称为堆性质): (1)Ki≤K2i 且 Ki≤K2i+1 或 (2)Ki≥K2i 且 Ki≥K2i+1(1≤i≤ën/2û) 满足第(1)种情况的堆称为小根堆
2010-11-29 11:52:00 757
原创 归并排序(2路)
<br /><br /> <br /> <br />#include <iostream>#include <ctime>using namespace std;//将两个较小的子问题合并成一个较大的问题void Merge(int a[],int b[],int left,int m,int right);//将大问题分解为较小的问题:2路归并void MergeSort(int a[],int b[],int left,int right){ if(lef
2010-11-27 20:32:00 662
原创 数字之谜
(一)计算N!末尾0的个数,两种方法的代码如下:#include using namespace std;int NJieChengLastZero1(int N){ int j,ret = 0; for(int i=1;i>N; cout
2010-11-10 16:38:00 696
转载 Linux多线程编程(实践)
<br /> 下面先来一个实例。我们通过创建两个线程来实现对一个数的递加。<br />或许这个实例没有实际运用的价值,但是稍微改动一下,我们就可以用到其他地方去拉。<br /><br />#include <pthread.h>#include <stdio.h>#include <sys/time.h>#include <string.h>#define MAX 10pthread_t thread[2];pthread_mutex_t mut;int number
2010-11-10 10:17:00 763
转载 Linux多线程编程(简明)
前言 /* 是否熟悉POSIX多线程编程技术?如熟悉,编写程序完成如下功能: 1)有一int型全局变量g_Flag初始值为0; 2)在主线称中起动线程1,打印“this is thread1”,并将g_Flag设置为1 3)在主线称中启动线程2,打印“this is thread2”,并将g_Flag设置为2 4)线程序1需要在线程2退出后才能退出 5)主线程在检测到g_Flag从1变为2,或者从2变为1的时候退出 */#include#include#
2010-11-10 09:59:00 684
转载 Linux多线程编程入门(3)
3、条件变量 前一节中我们讲述了如何使用互斥锁来实现线程间数据的共享和通信,互斥锁一个明显的缺点是它只有两种状态:锁定和非锁定。而条件变量通过允许线程阻塞和等待另一个线程发送信号的方法弥补了互斥锁的不足,它常和互斥锁一起使用。使用时,条件变量被用来阻塞一个线程,当条件不满足时,线程往往解开相应的互斥锁并等待条件发生变化。一旦其它的某个线程改变了条件变量,它将通知相应的条件变量唤醒一个或多个正被此条件变量阻塞的线程。这些线程将重新锁定互斥锁并重新测试条件是否满足。一般说来,条件变量被用来进行线承间的同步。
2010-11-10 00:20:00 798
转载 Linux多线程编程入门(2)
线程的分离状态决定一个线程以什么样的方式来终止自己。在上面的例子中,我们采用了线程的默认属性,即为非分离状态,这种情况下,原有的线程等待创建的线程结束。只有当pthread_join()函数返回时,创建的线程才算终止,才能释放自己占用的系统资源。而分离线程不是这样子的,它没有被其他的线程所等待,自己运行结束了,线程也就终止了,马上释放系统资源。程序员应该根据自己的需要,选择适当的分离状态。设置线程分离状态的函数为 pthread_attr_setdetachstate(pthread_attr_
2010-11-10 00:18:00 640
CentOS 5.5下的svn环境的配置详解(包括安装包)
2011-04-06
求图中两点间的所有路径(包括最短路径)——vs2008下实现
2010-06-29
一个家庭收支管理程序(VS2005下MFC开发)
2010-06-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人