很多开源软件都可以分析C语言的函数调用关系图,并导出为GraphViz的Dot格式,例如doxygen,egypt,kprof,pvtrace,codeviz,cflow等,不胜枚举。需要用GUI编辑的话,再用GraphViz转成你想要的其他矢量图格式即可。
程序是由多个文件链接而成,在linux下是 o a so 文件链接而成。在windows下是由 o dll 等链接而成。 函数包含在文件里,当一个文件要用到另一个文件中的函数时,就需要在该文件中通过#include 来包含另一个文件对应的头文件(h文件)如:#include "ah",或者通过extern 的方式如:extern void a(); 但是,无论采用哪种方式,都必须在链接过程中链接对应的其他文件。编译器会通过对每个文件中的符号(非static的函数和全局变量)的检查来判断哪个符号在哪个文件里,然后按照相应的编译参数来链接文件。
1、下载 cscope_mapsvim 文件,并在您的 Vim 启动配置文件中加入此文件。 如果您使用的是 Vim 6x 版本,您可以将这个文件安排在 $HOME/vim/plugin 目录下(如果是其他的目录,请您了解您的 'runtimepath' 环境变量)。 如果您正在使用的是 Vim5x 的版本,您可以将此文件的所有内容加入您的 $HOME/vimrc 文件中,或者在 vimrc 中加入 "source cscope_mapsvim" 命令(注,此文件无比在可识别的路径中)。
2、在源代码目录下,执行cscope -Rb方法生成cscopeout文件,这是一个索引文件,类似于ctags生成的tags索引文件一样的作用;
3、打开 Vim,如果您使用 C 代码中已有的标记(symbol)(例如:'vim -t main'),那么 Vim 将跳转到您所希望的地方。将光标移动到程序中的各个源码中的某个函数处,连续的快读的键入 "CTRL - \ S"(就是按下 CRTL - 反斜线,然后再按 'S'),然后你会看见在 Vim 底部d出一个窗口(Window),它显示了程序中所对应的标记。选择相应的一个并键入回车,就会跳到对应的位置。和 ctags 一样,你可以键入 "CTRL-t" 就可以回到搜索前的位置。
1、值传递,创建变量x和y,x的值等于a的值,y的值等于b的值
void Exchg1(int x, int y)
{
int tmp;
tmp=x;
x=y;
y=tmp;
printf(“x=%d,y=%d/n”,x,y)
}
void main()
{
int a=4,b=6;
Exchg1 (a,b) ;
printf(“a=%d,b=%d/n”,a,b)
}
2、地址传递,相当于建立了px和py两个指向整型的指针,其值分别为a和b的地址
Exchg2(int px, int py)
{
int tmp=px;
px=py;
py=tmp;
print(“px=%d,py=%d/n”,px,py);
}
main()
{
int a=4;
int b=6;
Exchg2(&a,&b);
Print(“a=%d,b=%d/n”, a, b);
}
3、引用传递,x和y直接引用a和b,对a和b *** 作,相当于给a、b起了别名x、y
Exchg2(int &x, int &y)
{
int tmp=x;
x=y;
y=tmp;
print(“x=%d,y=%d/n”,x,y);
}
main()
{
int a=4;
int b=6;
Exchg2(a,b);
Print(“a=%d,b=%d/n”, a, b);
}
扩展资料:
printf用法:
printf()函数的调用格式为:printf("<格式化字符串>",<参量表>)。
其中格式化字符串包括两部分内容:一部分是正常字符,这些字符将按原样输出;另一部分是格式化规定字符,以"%"开始,后跟一个或几个规定字符,用来确定输出内容格式。
参量表是需要输出的一系列参数,其个数必须与格式化字符串所说明的输出参数个数一样多,各参数之间用","分开,且顺序一一对应,否则将会出现意想不到的错误。
比如:
int a=1234;
printf("a=%d\n",a);
输出结果为a=1234。
以上就是关于画关系图整理程序里面的函数调用关系,用什么软件比较方便全部的内容,包括:画关系图整理程序里面的函数调用关系,用什么软件比较方便、1、 说明C语言的程序、文件、函数之间的关系。、vim函数调用关系等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)