当前位置: 技术问答>linux和unix
为什么我在低版本的程序不能在高版本的LINUX上运行?
来源: 互联网 发布时间:2015-07-26
本文导语: red hat7.1上可以运行,但我重装了RED HAT8.0以后就不行了,为什么? 如: void main(void) { ... ... } 提示main()函数只能返回int型 我只好把所有main()前的void都去掉 main(void) { ... ... } 大家遇到过着问题马?高版本不可能不...
red hat7.1上可以运行,但我重装了RED HAT8.0以后就不行了,为什么?
如:
void main(void)
{
...
...
}
提示main()函数只能返回int型
我只好把所有main()前的void都去掉
main(void)
{
...
...
}
大家遇到过着问题马?高版本不可能不能兼容低版本呀。
如:
void main(void)
{
...
...
}
提示main()函数只能返回int型
我只好把所有main()前的void都去掉
main(void)
{
...
...
}
大家遇到过着问题马?高版本不可能不能兼容低版本呀。
|
看起来这比较像是安全或性能上的完善。高版本的确实应该向下兼容,但这并不表示高版本就不能修补以前的漏洞啊。
|
无语。。。
新的 C++98/C99 都规定了 main 的返回类型必须是 int 而不是 void。这两份标志分别是在 98年12月和99年推出的,因此旧版本的 gcc 肯定不会支持这些标志,而新版本 gcc 加入了这些支持,所以旧的、不符合规范的程序会得到一个 warning。
新的 C++98/C99 都规定了 main 的返回类型必须是 int 而不是 void。这两份标志分别是在 98年12月和99年推出的,因此旧版本的 gcc 肯定不会支持这些标志,而新版本 gcc 加入了这些支持,所以旧的、不符合规范的程序会得到一个 warning。