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
相关文档:
转自:http://dev.csdn.net/article/29/29329.shtm
关于逻辑移位、算术移位可参见 迅雷深大笔试题部分。的一道题。
以前看到C++标准上说,移位运算符(<<、>>)出界时的行为并不确定:
The behavior is undefined if the right operand is negative, or greater than or equal to the length in bit ......
VS2005中检测和更正 C/C++ 代码缺陷
2006-11-26 15:55
VS2005中提供的检测方法:
1 IDE(集成开发环境)集成
2 #pragma 支持
3 批注支持
4 作为签入策略的一部分运行分析工具
5 Team System 与 Team Build 的集成
6 命令行支持
一 代码分析工具用于检测常见的编码错误,例如缓冲区溢出、内存未初始化、空指针 ......
BS与CS的联系与区别[转]
5
推荐
java适合开发bs结构,cs不是它的强项.
C/S是Client/Server的缩写。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或 SQL Server。客户端需要安装专用的客户端软件。
B/S是Brower/Server的缩写,客户机上只要安装一个浏览器(Browser) ......
1、 经常看见return EXIT_SUCCESS或return EXIT_FAILURE,但都不知这两个来自何处,现在才知原来stdlib.h定义了EXIT_SUCCESS和EXIT_FAILURE符号。
在stdlib.h头文件里:
#define EXIT_SUCCESS 0
#define EXIT_FAILURE 1
& ......