在C内调试程序所用的指令:
gcc file(文件名) -g 表示编译需要调试的文件。
JDB 表示调试工具。
jdb a.out 表示进入需要调试的文件内部。
L 表示显示代码的内容。
b(break point) 表示调试断点。
r 表示运行函数。
n 表示进入函数。
s 表示跟踪到函数里面。
C语言内的接口:
ifdef(代码)endif 表示注释段落里面的内容:
头文件的定义:
#ifndef MY_MATH_H_
#define MY_MATH_H_
int (int,int)
.
.
#ewndif
上面那段程序表示定义一个头文件,头文件的结尾必须以(.h)表示。它的主要作用是提供接口。
gcc -c *.c 表示编译所有的.c文件。
nm的功能表示:列出.o .a .so中的符号信息,包括诸如符号的值,符号类型及符号名称等。所谓符号,通常指定义出的函数,全局变量等等。
nm add.o 表示在add.o文件内实现了add等的代码。
nm a.out 表示静态链接
ldd a.out 表示动态链接
entry file(文件名) 表示进入函数。
leave file(文件名) 表示退出函数。
结构体:
结构体的定义:struct stu_info(stu_info只是表示文件名,可以随意定义)。
结构体类型不占空间,结构体变量占空间。
另:typedef struct stu_info st_t
其中typedef 表示为数据类型struct 起别名。
Struct 表示结构体(数据类型)
st_t 表示为struct stu_info起的别名。
其程序可以表示为:
一、程序的头文件为:
二、程序的执行部分:
其运行的结果为:
注:其中的p-> 表示指针指向的位置方向,它还可以用st.表示,这只是同一地址的不同的访问方式。