C/C++
文章平均质量分 67
changfengxiongfei
Debian坚定追随者,Mandriva的使用者,Gentoo的仰慕者,
FreeBSD&NetBSD的痴迷者。
小愤青一枚,特别喜爱asm/c/c /python/shell(bash,csh)/haskell
对GUI框架Qt比较感冒!
展开
-
ubuntu karmic wxwidget 配置
参考:1.http://wiki.wxwidgets.org/Installing_and_configuring_under_Ubuntu2.http://wiki.wxwidgets.org/Hello_World 首先应该安装一些必要的包。apt-get install build-essential #一般这一步不用,大家都事先安装好了这个了apt-get ins原创 2010-03-27 09:42:00 · 819 阅读 · 0 评论 -
宏和预处理器详述
Macro(宏)来源于希腊语,意思就是大,远.在计算机科学中指的是规则,这个规则指定了 输入和输出之间的关系(是不是优点类似于函数?).所有的宏都是一个概念,那就是输入 与输出之间的映射关系,这个和函数本质上是相同的.但是宏和函数处理方式基本上是不同 的,比如在C语言中,宏原创 2011-09-03 15:33:00 · 1403 阅读 · 3 评论 -
字符串操作函数实现
一直觉得自己眼高手低, 平时也懒得写代码, 下定决心要克服这个毛病,于是开始了重新拿起 the c programming languages 这本C语言圣经做做上面的练习题.就当是练手吧. 这次从字符串操作部分入手,实现自己的库,争取多写,多思考.而后看看一下co原创 2011-09-01 15:27:44 · 526 阅读 · 0 评论 -
git 删除导致本地和远程仓库不同步解决
<br />使用git版本控制时,开始时对git不熟悉,导致了一些问题。<br /><br /> https://github.com/wolfpython/nids<br /> 比如在nids仓库中,开始新建了很多文档,但是后来发现很凌乱,删掉了不少:<br />$rm devdoc member_list<br /><br /> 本来在删除时,应尽量使用git rm命令来操作,但是如果不小心使用了rm命令,<br /> 导致本地仓库(master)和远程仓库(origin)不同步,怎么办?在这种原创 2011-04-14 16:02:00 · 7525 阅读 · 0 评论 -
c,c++和python变量讨论
<br />c,c++为编译型语言,又称静态语言。变量的类型在编译时就确定了,并且分配了相应的内存空间,一定程度<br /> 上,变量就代表了这块内存空间,就像人名一样。Python为动态类型语言,变量只是一个名称而已,<br /> 不代表某个内存空间。<br /><br /> C语言中,变量就相当于一个盒子,盒子的名字就是变量,无论盒子里的内容怎么变,盒子及其名称一旦<br /> 确定(编译时),就不可再更改。C++亦是如此,但是c++同时也引入了引用的概念,引用不是普通的变量,<br /> 它原创 2011-02-23 13:18:00 · 1181 阅读 · 0 评论 -
c语言处理变参数变类型
C语言中,确切说,是标准库里,对于变类型变参量是通过头文件中的一组宏实现的,定义了如何遍历参数。其中,定义了一个类型va_list,用于声明(不是定义)一个变量,该变量将依次引用各个参数。在Linux中,可以通过$man 3 va_arg 来查看相关的手册。在中定义了几个宏,分别是va_start, va_arg, va_end,va_copy,其中va_copy是在C99时引入的,早期的C89并没有定义这个宏,所以在经典的《the c programming language》中看不到va_copy的身影原创 2011-03-09 15:24:00 · 607 阅读 · 0 评论 -
gdb命令print和x小议
最近用gdb的时候,忽然有写方面不明白,思索一番,不知对否。源代码:#include int main() { int a[] = {1,2,3,4,5,6}; return 0; } 编译,调试:[wolf@localhost tmp]$ gdb -q a.out Reading symbols from /home/wolf/tmp/a.out...done. (gdb) list 1 #include 2 3 int main() 4 { 5 int a[] = {1原创 2010-12-22 11:21:00 · 9150 阅读 · 0 评论 -
professional assembly langage 读书笔记
简单的汇编程序:# cpuid.s : extract the vender ID of cpu .section .data output: .ascii "the processor vender ID is 'xxxxxxxxxxxx'/n" .section .text .globl _start _start: nop movl $0, %eax cpuid movl $output, %edi movl %ebx, 28 (%edi) movl %edx,原创 2010-12-16 12:57:00 · 543 阅读 · 0 评论 -
实现一个简单的shell
#include #include #include #include #include #define MAXARGS 20 #define ARGLEN 100 main() { char *arglist[MAXARGS+1]; int numargs; char argbuf[ARGLEN]; char *makestring(); numargs=0; while(numargs0) { arglist[numarg原创 2010-10-12 20:47:00 · 2134 阅读 · 2 评论 -
鸽巢排序(pigeon sort)
鸽巢排序(Pigeonhole sort) , 也被称作基数分类 , 是一种时间复杂度 为O (N+n )且在不可避免遍历每一个元素并且排序的情况下效率最好的一种排序算法. 但它只有在差值(或者可被映射在差值)很小的范围内的数值排序的情况下实用,同时也要求元素个数(n)和成为索引的值(N)大小相当。作用在数组上,索引时间为常量值O(1),则有最坏时间复杂度: O(N+n)最好时间复杂度:O(N+n)平均时间复杂度: O(N+n)最坏空间复杂度:O(N*n)算法:1. 给定一个待原创 2010-11-28 17:49:00 · 1604 阅读 · 3 评论