深入了解C语言——函数的使用(实例)
C语言生成的代码在执行效率上比其它高级语言都高。现在让我们来看看C语言生成的代码具体是什么样子的。当你看完本文对于C语言的了解一定会更深一步了。
本文通过一个个实际案例程序来讲解C语言。
研究案例一
工具: Turboc C v2.0,Debug,MASM v5.0,NASM
实例C程序:
/* example1.c */
char ch;
int e_main()
{
e_putchar(ch);
}
目标内容:C语言调用函数的方法与细节
我们使用的C编译器是16位的Turboc C v2.0,它生成的是16位的代码,比较简单,方便我们来研究。同时我们也需要用到DOS下的DEBUG来进行反汇编。由于我们很多案例中的程序并不是完整的C程序,所以Turboc下的Tlink并不能为我们生成目标程序,所以我将使用MASM中的link.exe,同时里面的exe2bin.com也可以为我们把exe文件转换成bin文件。
这个程序没有main函数,我们用e_main来代替main函数.这样我们能避开C语言对main函数进行一系列处理的代码.同样,我们也用e_putchar()来代替我们平常使用的putchar().这里"e"的意思就是"example"。
没有了main函数,我们的C程序就没有了入口,所以在开始编译这段C代码之前,我还得写几行简单的汇编代码,通过它来作为我们程序的入口。
; C程序的入口 start.asm
[BITS 16]
[global start]
[extern _e_main]
start:
call _e_main
0条评论