导航:首页 > 源码编译 > 空函数编译器会编译结果吗

空函数编译器会编译结果吗

发布时间:2022-05-30 17:11:25

A. C语言中的void main ( )即空函数是什么意思呢真让人搞不懂。请各位帮个忙,给我解释一下。

在 C 和 C++ 中,不接收任何参数也不返回任何信息的主函数原型为“void main(void)”。

可能正是因为这个,所以很多人都误认为如果不需要程序返回任何信息时可以把 main 函数定义成 void main(void) 。然而这是错误的!main 函数的返回值应该定义为 int 类型,C 和 C++ 标准中都是这样规定的。虽然在一些编译器中,void main 可以通过编译(如 vc6),但并非所有编译器都支持 void main ,因为标准中从来没有定义过 void main 。g++3.2 中如果 main 函数的返回值不是 int 类型,就根本通不过编译。而 gcc3.2 则会发出警告。所以,如果你想你的程序拥有很好的可移植性,请一定要用 int main 。
来源:http://..com/question/39961266.html

B. C++中,只是声明一个函数而不定义,编译时会不会产生与之相对应的命令代码

不会产生代码,也不会出错。就算语言规定默认定义的构造函数如果不使用不会产生代码的。

C. c语言中的空函数返回一个不确定的值的意思是返回的数据的数据类型不确定还是返回的数据没有确定的值

返回的数据是个不确定的值,原因是:
1、你定义函数fun()前面加void或者不加时,默认是无返回值,或者也说返回了一个垃圾数据
2、而这个垃圾数据通常都是固定的一串整形的数据,因为这是编译器编译时释放函数没有返回值,所以系统随机返回的一个垃圾值,而往往你输出验证时就是差不多大小一个整形数据。
3、也有人理解无返回值,这只是一种理解和解释编译器规则的想法。
如果满意,请采纳!

D. C语言中空函数是怎么回事

凡不加返回值类型限定的函数,就会被编译器作为返回整型值处理。而不是当做void

譬如你的void fun() 本身就没有返回值 如果定义为fun() 虽然不给函数体内加return语句 但照样会返回一个整型数 因为什么都不加 就默认为了int
举个例子
f(){
}
main()
{
int a = 1;
a =f();
printf("%d ",a);
getch();
}
我这儿得到的结果是1842 是个整型数 你可以试试运行下 可能结果不一样 但是结果肯定是个整型数据

作为对比 我们看看下一个实例
void f(){
}
main()
{
int a = 1;
f();
printf("%d ",a);
getch();
}
输出结果是1 其中f()什么都没做 什么都不返回

E. c编译器编译了头文件中的主函数,但未编译头文件中的了函数

应该是没有关系的,你把编译步骤写清楚,编译结果和参数说清楚。
根据我对编译器的理解,这种情况不会发生,最大可能性有几种:
1、你的代码本身就很小,你没有注意到,(一个20K行的程序,编译出来只有不到15K是十分正常的)因为程序里往往包括注释、空行等。
2、程序的体积往往取决于变量初始化,例如static int i[1000]={0};这会产生大量的无效代码。
3、其他编译器代码体积问题。
4、编译参数导致优化方式不一致
其他:如果程序可以运行,说明一定全部都编译了。
具体的问题,你可以把全部代码都给我,我帮你看看。这么简单说有时很难,毕竟写程序考虑到编译器和硬件缺陷的人现在很少。

F. C++中的空类,编译器默认可以产生哪些成员函数

一个空的class在C++编译器处理过后就不再为空,编译器会自动地为我们声明一些member function,如果你写

class Empty{};

就相当于:

class Empty
{
public:
Empty();
Empty(const Empty&);
~Empty();
Empty& operator=(const Empty& rhs);
Empty* operator&();
const Empty* operator&() const;
};

需要注意的是只有当你需要用到这些函数的时候,编译器才会去定义它们。

G. 请问编译器是通过函数的入口地址来找到函数,那又是如何知道函数的结束呢

函数入口是一段指令的首地址,进入函数实际是从这段指令开始执行,执行到return语句,函数就结束了

H. 不同编译器会不会产生不同的结果

会有不同的结果。因为编译器不同自带的库函数也不一样。

I. C语言中一个函数如果在主函数中没有调用,会被编译么

会的,当你运行时,编译器还要检查你的函数是否有格式或其它错误!

J. C++常函数能在编译时就确定结果吗,还是函数都是运行时才有有结果

凡是函数都是在运行时才有结果的,在编译时就能确定结果的是常量。

阅读全文

与空函数编译器会编译结果吗相关的资料

热点内容
php前补零 浏览:731
算法推荐广告伦理问题 浏览:921
亚马逊云服务器的选择 浏览:810
单片机频率发生器 浏览:732
备份与加密 浏览:623
用什么app可以看论坛 浏览:52
javajdbcmysql连接 浏览:473
制作linux交叉编译工具链 浏览:751
编程负数除以正数 浏览:512
app和aso有什么区别 浏览:326
手机vmap是什么文件夹 浏览:36
塔科夫锁服如何选择服务器 浏览:290
消费者生产者问题java 浏览:61
程序员筱柒顾默结婚的时候 浏览:578
安卓截长屏怎么弄 浏览:475
优信办理解压手续怎么那么慢 浏览:605
私有云服务器一体机安全吗 浏览:430
python的tk界面禁用鼠标 浏览:186
怎么看服务器mac地址 浏览:291
安卓如何将图镜像翻转 浏览:325