摘要:
linux下的C语言开发(gdb调试) 编写代码过程中少不了调试。在windows下面,我们有visual studio工具。在linux下面呢,实际上除了gdb工具之外,你没有别的选择。那么,怎么用gdb进行调试呢?我们可以一步一步来试试看。#include <stdio.h>int iterate(int value){ if(1 == value) return 1; return iterate(value - 1) + value;}int main(){ printf("%d\n", iterate(10)); return 1;} 既然... 阅读全文
2012年11月27日 #
摘要:
gcc的编译流程:源代码(*.c)——>预处理(Pre-Processing)——>编译(Compiling)——>汇编(Assembing)——>链接(Linking)——>可执行文件一个例子:一个经典的helloworld的程序1).先用vim编辑源程序,保存为hello.c .vim hello.c2)然后用gcc的“-E”参数预处理,生成经过预处理的源程序文件hello.igcc hello.c -o hello.i -E3)接着用gcc的“-S”参数编译,生成汇编语言程序文件hello.sgcc hello.i -o hello.s -S4)然后用gcc 阅读全文
摘要:
当使用带有const的指针时其实有两种意思。一种指的是你不能修改指针本身的内容,另一种指的是你不能修改指针指向的内容。听起来有点混淆一会放个例子上来就明白了。 先说指向const的指针,它的意思是指针指向的内容是不能被修改的。它有两种写法。 const int* p; (推荐) int const* p; 第一种可以理解为,p是一个指针,它指向的内容是const int 类型。p本身不用初始化它可以指向任何标示符,但它指向的内容是不能被改变的。 第二种很容易被理解成是p是一个指向int的const指针(指针本身不能被修改),但这样理解是错误的,它也是表示的是指向const的指针(指针指向的内容 阅读全文