Linux下C开发之gcc,gdb的使用
gcc,gdb的使用
作者:zccst
上周五在图书馆借了一本《Linux软件工程师(C语言)实用教程》,让我收获良多。不仅仅是书中的知识,还有对知识体系和架构认识的深入。
Linux下C开发:
1,gcc,gdb的使用。
2,Makefile文件的编写。
3,系统函数的使用
4,文件操作
5,串行通信
6,进程控制
7,进程间通信
8,网络编程
9,图形编程
10,数据库编程
11,qt编程
Linux下C开发之——gcc,gdb的使用
gcc编译器
前提编辑工具的使用:vi vim Emacs。
vi hello.c
一、常见步骤:
对于只有一个源文件的简单程序,常常只有编译,运行两步。
1,gcc hello.c -o hello
2,./hello
二、gcc编译流程
gcc and g++分别是gnu的c & c++编译器 gcc/g++在执行编译工作的时候,总共需要4步
hello.c (源码)
hello.i 生成预处理文件,
参数是“-E”,把hello.c -> hello.i。完整命令为gcc hello.c -o hello.i -E
hello.s 编译生成汇编文件,
参数是“-S”,把hello.i -> hello.s。完整命令为gcc hello.i -o hello.s -S
hello.o 将汇编文件变为目标代码,
参数是“-c”,把hello.s -> hello.o。完整命令为gcc hello.s -o hello.o -c
hello 链接目标代码,生成可执行程序,
参数无, 把hello.o -> hello。 完整命令为gcc hello.o -o hello
./hello (运行)
三、gcc的主要参数
1,总体参数
-E 只进行预编译,不做其他处理
-S 只是编译不汇编,生成汇编代码
-c 只是编译不链接,生成目标文件“.o”
-o file 把输出文件输出到file里
-g &nbs
相关文档:
强制类型转换是通过类型转换运算来实现的。其一般形式为: (类型说明符) (表达式) 其功能是把表达式的运算结果强制转换成类型说明符所表示的类型。例如: (float) a 把a转换为实型(int)(x+y) 把x+y的结果转换为整型在使用强制转换时应注意以下问题:
1.类型说明符和表达式都必须加括号(单个变量可以不加括号),如把(int) ......
VS2005中检测和更正 C/C++ 代码缺陷
2006-11-26 15:55
VS2005中提供的检测方法:
1 IDE(集成开发环境)集成
2 #pragma 支持
3 批注支持
4 作为签入策略的一部分运行分析工具
5 Team System 与 Team Build 的集成
6 命令行支持
一 代码分析工具用于检测常见的编码错误,例如缓冲区溢出、内存未初始化、空指针 ......
一、基本知识
指针和引用的声明方式:
声明指针:char* pc;
声明引用:char& rc = 0;
它们的区别:
①从现象上看,指针在运行时可以改变其所指向的值,而引用一旦和某个对象绑定后就不再改变。这句话可以理解为:指针可以被重新赋值以指向另一个不同的对象。但是引用则总是指向在初始化时被指定的对 ......
转至http://www.pconline.com.cn/pcedu/empolder/gj/c/0503/566020.html
函数存放在内存的代码区域内,它们同样有地址,我们如何能获得函数的地址呢?
如果我们有一个int test(int a)的函数,那么,它的地址就是函数的名字,这一点如同数组一样,数组的名字就是数组的起始地址。
定义一个指向函数的指针用如下 ......
作者:
曾宏安,华清远见嵌入式学院
高级讲师。
运算符sizeof可以计算出给定类型的大小,对于32位系统来说,sizeof(char) = 1; sizeof(int) = 4。基本数据类型的大小很好计算,我们来看一下如何计算构造数据类型的大小。
C语言中的构造数据类型有三种:数组、结构体和共用体。
数组是相同类型的元素的集合,只要会计算 ......