c语言调试的基本手段(C语言程序的编译和调试)
c语言调试的基本手段(C语言程序的编译和调试)程序的调试 C语言的基础介绍思考
1、gcc编译器-熟练使用gcc(GNU Compiler)是GNU推出的多平台编译器,可以将C、C 源程序编译连接成可执行文件,支持后缀如下:
后缀备注.cc语言源代码文件.h程序所包含的头文件.i已经处理过的C源码文件.s汇编语言源代码文件.o编译后的目标文件
#include <stdio.h>
int main(){
printf("hello world");
return 0;
}
基本命令
gcc -o hello hello.c
-o 输出可执行文件
-c 只要求编译器输出目标代码(.o文件),而不必输出可执行文件
-g 用于调试
-Wall 输出文件不规范处
./hello 执行
练习 1.....10的求和
#include <stdio.h>
int main(){
int n;
n =1 2 3 4 5 6 7 8 9 10;
printf("n=%d\n" n);
return 0;
}
root@ubuntu:~/Desktop/AOSP/C# vim test1.c
root@ubuntu:~/Desktop/AOSP/C# gcc test1.c -o test1 -Wall
root@ubuntu:~/Desktop/AOSP/C# ./test1
n=55
root@ubuntu:~/Desktop/AOSP/C# vim test1.c
root@ubuntu:~/Desktop/AOSP/C#
2、程序调试-掌握
利用 __FILE__ __LINE__ __FUNCTION__实现代码跟踪调试
#include <stdio.h>
int main(){
printf("%s %s %s\n" __FILE__ __FUNCTION__ "hello world");
return 0;
}
__FILE__ 哪个文件 test.c
__LINE__ 哪一行
__FUNCTION__ 哪个函数 main()
3、C语言基础-了解
一个程序应当包含两部分内容:
对数据的描述,在程序中要指定数据的类型和数据的组职形式,即数据结构。
对操作的描述,即操作歩骤,也就是算法。
**线性结构、树形结构、图形结构、集合结构**
算法的基本概念:做任何事情都有一定的步骤,步骤要按照一定的序进行。广义来说,为了解决一个问题而采取的方法和步骤就称为算法。
比如:计算1*2*3.....*10 结果
方式
1*2 = 2
2*3 = 6
6*4 = 24
......
以上也叫算法
#include <stdio.h>
int main(){
int a=1 i=2;
while(i<=10){
a =a*i;
i ;
}
printf("%s %s %d a=%d\n" __FILE__ __FUNCTION__ __LINE__ a);
return 0;
}
4、总结与思考
总结 gcc编译器的使用
程序的调试
C语言的基础介绍
思考
gcc作为一个交叉编译器,如何生成ARM平台可运行的程序。