⑴ 未被调用的函数是否也会被编译进程序里
这个要看是编译性语言还是解读性语言,比如html之类的是读到哪里编译到哪里
⑵ C语言中一个函数如果在主函数中没有调用,会被编译么
会的,当你运行时,编译器还要检查你的函数是否有格式或其它错误!
⑶ C/C++语言中编译阶段,编译到 函数调用的语句时,是怎么编译的
函数体被编译成对应的一段汇编代码,在符号表中会生成一个函数名指向这段代码的入口地址。所有调用此函数的地方都会被编译成CALL 函数名指令,然后连接时将函数名替换为函数的入口地址。
⑷ C程序中主函数调用了同工程不同文件中的函数,编译在链接时是链接的主函数地址还是直接拷贝过来
肯定是地址 反汇编里一目了然 调用函数都是跳地址
⑸ 使用什么函数编译器在编译时并不生成真正的函数而将程序中每一个函数调用表达式直接用该函数的函数体替换
内联函数是这样。内联函数在定义时函数头前要用inline修饰,这样的函数在编译时一般将函数体直接插入到该函数的调用处。但这不是绝对的,智能编译器会根据情况选择。内联函数的函数体不得写行太复杂,好像不得有输入输出以及循环等语句,当写入不允许的语句时编译器就会编成一个独立的函数。
⑹ c语言中的函数可不可以单独进行编译
是可以的。
库函数是把函数放到库里,供别人使用的一种方式。函数库是由系统建立的具有一定功能的函数的集合。库中存放函数的名称和对应的目标代码,以及连接过程中所需的重定位信息。用户也可以根据自己的需要建立自己的用户函数库。
使用C语言的语句直接计算sin或cos函数,就需要编写颇为复杂的程序。因为C语言的语句中没有提供直接计算sin或cos函数的语句。又如为了显示一段文字,我们在C语言中也找不到显示语句,只能使用库函数printf。
(6)函数调用是把函数一块编译进去吗扩展阅读
函数库的分类
1、字符串、内存和字符函数
需要的包含文件:string.h、mem.h、ctype.h或string.h;
2、数学函数
需要的包含文件:math.h;
3、动态存储分配
需要的包含文件:alloc.h或stdlib.h ;
可以使用每件编译,也有些编译器会自动优化,没有调用的函数在链接的时候不会链接进去
⑻ 程序编译的时候是没有函数调用的是吗
VC中编译是检查错误,把源程序翻译成.obj文件。
函数文件间的互相嵌套调用是连接的功能。
⑼ 嵌入式中函数不会被调用会编译到固件吗
嵌入式系统
函数如果仅是定义了,而没有被其它函数调用,这种情况下,优化系统不会将此函数编译进最终可执行结果。所以更不会占用内存。
2.PC系统
通常情况下函数如果仅是定义了,但未被调用,系统会进行编译,能够检查并发现函数中的问题,但是否编译进最终的可执行文件受编译系统的控制,如果未被编译到系统中则不会占用内存。即便编译到了系统中,由于PC系统在运行时,并不会将所有的程序都加载至内存,因此,还会受到操作系统本身的限制。
3.BS系统
服务器端的程序通常情况下会占用内存,因为系统不清楚是否会被调用,尤其是在WebService这样的系统上。
客户端的程序,无论是否被调用,在传输、加载等情况下,肯定会被代码管理系统预编译,因此,也是需要占用内存的。
⑽ 在C语言中函数是怎样调用的
理论上的东西你就多看看书,我给你举个简单的例子来说明一下吧
如果是刚刚学习C语言推荐你看《C程序设计(第二版)》清华大学出版社
作者:谭浩强 这本书讲的很好,适合初学C语言,几乎所有的高校C语言课都是用这本教材的
函数调用举例:
int fun1( int a, int b)
{
if( a > b )
return a;
else
return b;
}
void main()
{
int x, y, z;
x = 1;
y = 2;
z = fun1( x, y );
printf( "z=%d\n", z );
}
函数执行结果显示为:
z=2
函数调用就是在编译是把你调用的那段代码编译到一起,参数进行值传递方式。
至于指针那块暂时就不跟你讲了,先集中精力学点儿简单的,呵呵~