- 博客(19)
- 资源 (11)
- 收藏
- 关注

原创 自己实现的一个中缀表达式计算
#include #include #include #define N 20static double size;static double *operator;static char *operand;static int top1;static int top2;void init_operator(int sz){ size = sz;
2010-03-26 17:50:00
558

原创 数组指针和多维数组 挑战你的c功底
1 #include 2 3 int main(int argc, char *argv[]) 4 { 5 char a[4][3][2] ={{{ a, b}, {c, d}, {e, f}}, 6 {{g, h}, {i, j}, {k, l}}, 7
2010-03-20 20:01:00
447
转载 select pselect poll
linux系统对于多路i/o转接提供了几个强大的函数,但是这些函数各有优缺点,参照网上的资料以及自己的测试,总结如下:首先看一个程序的例子:#include #include #include #include #include #include #define BUFFSIZE 80void err_sys(const char *p_error);void sig_alrm(int signo){ char s[]
2011-01-13 16:27:00
629
转载 GNU/Linux应用程序编程:用管道进行编程
简介 本文中,我们将学习GNU/Linux管道。管道模型虽然很老但是就算是现在它仍然是一个十分有用的进程间通信机制。我们将会学习什么是半双向管道以及有名管道。它们都提供了一个FIFO(先进先出)排队模型来允许进程间通信。 管道模型 一个形象化管道的描述为——一个在两个实体之间的单向连接器。例如,让我们来看一看下面的这个GNU/Linux命令: ls -1
2010-04-21 20:40:00
469
原创 exec函数
近期热点文章推荐近期热点文章推荐近期热点文章推荐 <!-- #im2009 { position:relative; width:280px; height:215px; background-color:#F1F3FF; overflow:hidden;}
2010-04-20 17:25:00
358
转载 栈桢与溢出
栈帧&溢出栈帧也叫过程活动记录,是编译器用来实现过程/函数调用的一种数据结构 从逻辑上讲,栈帧就是一个函数执行的环境:函数参数、函数的局部变量、函数执行完后返回到哪里 … 。 实现上有硬件方式和软件方式(有些体系不支持硬件栈)缓冲区溢出攻击主要是利用栈帧的构成机制,利用疏忽的程序破坏栈帧从而使程序转移到攻击者期望或设定的代码
2010-04-13 20:15:00
1135
5
原创 gdb基本命令
为了记忆,就打上来与大家分析,常用的gdb调试命令:bt 查看各级函数调用及参数finish 连续运行到当前函数返回为止,然后停下来等待命令f 选择栈帧i 查看当前栈帧局部变量的值l 列出源代码list 行号 列出从第几行开始的源代码list 函数名 列出某个函数的源代码n 执行下一条语句p 打印表达式的值set va
2010-03-27 20:24:00
482
原创 关于static指针的一个严重问题
1 #include 2 #include 3 4 static const char *msg[] ={"Sunday", "Monday", "Tuesday","Wednesday ", "Thur sday", "Friday", "Saturday"}; 5 char *get_a_day(int index) 6 { 7 sta
2010-03-26 20:27:00
1783
原创 关于二维指针的一个用处
#include #include #include typedef struct{ int number; char *msg;}unit_t;void alloc_unit(unit_t **);void free_unit(unit_t *);int main(int argc, char *argv[]){ un
2010-03-26 19:57:00
578
原创 输入流和输出流以及编程思想
一个简单的scanf输入流的细节问题和printf的本质对于任何一个接触过c的人,都会知道这个函数怎么用。可是不一定知道它本质是一个输入流。举个例子:scanf("%d%c%d",&x, &ch, &y);在运行输入时候,必须和scanf格式一样,就是a+b,万万不可写成a + b,因为这里出现了字符‘+’,若全不是整形,则没有这种情况发生,因为编译器会自动寻找整形,比如123可以写成1
2010-03-25 20:03:00
431
原创 关于对递归的理解
关于对递归的深刻理解 先给一个我在编程时的例子吧,这个程序需求是abcde 若移动一位生成eabcd,俩位deabc,其实它是比较简单的 俩从循环就可以搞定,不过可以用循环就可以用递归,当然也可以用栈,这里没必要用栈,为了深刻理解下递归,我做了些改进。char *mov_str(char s[], int n){ char temp; int len, i;
2010-03-25 20:01:00
358
转载 令人又爱又恨的const
关于C的关键字——const的理解和用法 const在C中的用法很灵活(相信C++中也一样),个人感觉对之既爱又恨,有时候感觉const很好用,同时又经常会因为它的优点而犯错,犯错的原因除了粗心之外,另一个更重要的,就是以前对const理解不到位。于是今天自己写成一篇小总结。如果是初学者,建议好好看一下,相信帮助比较大;如果是高手,请不吝赐教! 上面写了一段废话,就算是
2010-03-20 08:51:00
339
转载 高人精讲 Makefile(企业级的)
http://www.chinaunix.net 作者:gunguymadman 发表于:2009-06-30 15:55:17【发表评论】【查看原文】【C/C++讨论区】【关闭】 陈皓概述——什么是makefile?或许很多Winodws的程序员都不知
2010-03-19 20:20:00
715
原创 指针数组和数组指针的技巧
指针数组,顾名思义,就是指针的数组,其数组元素都是指针;数组指针,顾名思义,是数组的指针。如 :int *p[2]; 首先声明了一个数组,数组的元素是int型的指针。int (*p)[2]; 首先声明了一个指针, 指向了一个有俩个int型元素的数组 那么这里有个技巧,就是用typedef来处理,然后你就会很清楚的看到;对于指针数组:
2010-03-18 17:14:00
436
转载 [ASM/C/C++]c语言中static 用法总结
假设在test.h中定义了一个static bool g_test=false;若test1.c和test2.c都包含test.h,则test1.c和test2.c分别生成两份g_test,在test1.c 中置g_test=true,而test2.c中仍然为false并未改变!shit!!一、c程序存储空间布局C程序一直由下列部分组成: 1)正文段——CPU
2010-03-16 16:58:00
512
原创 网络游戏开发
网络游戏设计专业设置2006-11-15 17:07专业前景:以动画卡通、网络游戏、多媒体产品等为代表的动漫产业素有“21世纪知识经济核心产业”之称,这场轰轰烈烈的“后现代产业浪潮”为中国经济创造了一次千载难逢的历史发展机遇。我国目前的游戏开发、设计与制作起步较晚,始终跟不上人们的需求。国家信息产业部已将游戏产品的技术开发列为“863计划”重点项目之一。因此,今后
2008-12-16 11:27:00
681
原创 我个人对二维数组的深刻理解
#include/*void main(){void *p;float x=5;p=&x;cout}*///p[i*n+j]=a[i][j],用一维指针表示二维数组/*void main(){int a[4][3]={{1,2,3},{4,5,6},{7,8,9},{10,11,12}};int *p;p=&a[0][0];//或者p=a
2008-12-16 11:21:00
530
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人