gcc will not complain the missing of return statement.
foo.c
int add(int l, int r) {
}
int main(int argc, const char *argv[]) {
int result = add(1, 2);
result++;
return 0;
}
$ gcc foo.c
By add -Wall, gcc gives a warning
$ gcc -Wall foo.c
foo.c: In function ‘add’:
foo.c:2: warning: control reaches end of non-void function
In 6.8.6.4 of C99 standaard, there is the following text:
A return statement with an expression shall not appear in a function whose
return type is void. A return statement without an expression shall only appear
in a function whose return type is void.
So gcc treats this constraint as a warning.
g++ is similar to gcc regarding return statement missing. In 7.3 of The C++
Programming Languge (3rd edition), there is the following text:
A value must be returned from a function that is not declared void (however,
main() is special; see void main §3.2). Conversely, a value cannot be returned
from a void function.
In 6.6.3 of ISO/IEC 14882:2003, there is the following text:
Flowing off the end of a function is equivalent to a return with no value; this
results in undefined behavior in a value-returning function.
http://old.nabble.com/missing-return-statement-td22487507.html is a discussion
about why g++ treats missing return statement in the current way.
分享到:
相关推荐
但是,在windows环境下使用gcc/g++编译器总会存在这样那样的问题,比如使用cin或者scanf输入中文,输出就变成了乱码等问题,本资源版本是由由WinLibs维护的开源版本winlibs-x86_64-posix-seh-gcc-12.2.0-llvm-15.0.7...
centos7 gcc/g++离线rpm包
ubuntu20.04 gcc/g++离线安装deb包及依赖包(全) 由于生产环境不联网,安装显卡驱动时需要预先安装gcc/g++, 故这里提供了gcc/g++离线安装包及依赖,安装命令简单:sudo dpkg -i ./*.deb
名称:自动万能makefile(linux ubuntu gcc/g++) 作者:码客(卢益贵) qq:48092788 时间:2018-5-20 功能: 1、自动以makefile的父目录名为Target文件名称 2、自动搜索源码文件(含子目录) 3、自动搜索...
Linux gcc/g++ Makefile基础教程.zip
注意安装完成要按要求设置环境变量 PATH=C:\ProgramData\msys\mingw\bin;%PATH% 然后就可以在命令行调用gcc/g++命令了
gcc/g++在执行编译工作的时候,总共需要4步 1.预处理,生成.i 的文件[预处理器cpp] 2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs] 3.有汇编变为目标代码(机器代码)生成.o 的文件[汇编器as] 4.连接目标...
基与Linux-ARM版的GCC,现在移植到了安卓。压缩包中有必要的软件和用法,这样就可以在安卓上体验GCC和G++了
gcc-4.8.5版本的rpm安装包,解压进入目录后运行sudo rpm -Uvh *.rpm --force进行安装(如果安装提示依赖错误,可在命令后再加上--nodeps),安装完成后可通过gcc --version和g++ --version查看版本信息
介绍常用GCC常用编译选项,让你轻松在linux环境下开发程序.
解压,把bin目录添加到path环境变量即可。这样就能找到gcc.exe, g++.exe
linxu gcc g++ rpm安装包 gcc安装说明 分两个压缩包,这是第一个
CentOS配置C/C++竞赛环境gcc/g++4.9.2 文章目录CentOS配置C/C++竞赛环境gcc/g++4.9.2配置环境测试添加编译选项偷懒的方法 要参加蓝桥杯 C/C++编译环境4.9.2 阿里镜像站搜索到4.9.2版本在devtooset-3中 配置环境 ...
Unix下著名编译器gcc的Windows版,并附带一个小巧的开发环境。是C/C++都可进行编译的一款软件,不过就是英文版的……
Unix下著名编译器gcc的Windows版,并附带一个小巧的开发环境。是C/C++都可进行编译的一款软件,不过就是英文版的……
linux gcc写的telnet
X64下mingw,g++版本4.9,支持c++11、c++14
使用基本运行时,你可以使用GCC写控制台模式的符合美国标准化组织(ANSI)程序,可以使用微软提供的C运行时(C Runtime)扩展,与基本运行时相结合,就可以有充分的权利既使用CRT(C Runtime)又使用Windows API功能...
适合无网环境安装GCC与G++,版本为:4.8.5. 压缩包内置安装脚本:install.sh。运行即可完成安装。 方便快捷有效,可以避免各类依赖的困扰。 ---- 适合无网环境安装GCC与G++,版本为:4.8.5. 压缩包内置安装脚本:...
GCC/G++ 常用命令大全 linux GCC/G++ 命令大全 GCC/G++ 常用命令大全 linux GCC/G++ 命令大全