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.
分享到:
相关推荐
gcc-4.8.5版本的rpm安装包,解压进入目录后运行sudo rpm -Uvh *.rpm --force进行安装(如果安装提示依赖错误,可在命令后再加上--nodeps),安装完成后可通过gcc --version和g++ --version查看版本信息
本资源提供了适用于CentOS 7的GCC/G++离线RPM包,使得用户可以在不依赖互联网的情况下进行安装。 GCC(GNU Compiler Collection)是一组由GNU项目维护的编译器,它包括C、C++、Fortran、Objective-C、Ada等编程语言...
但是,在windows环境下使用gcc/g++编译器总会存在这样那样的问题,比如使用cin或者scanf输入中文,输出就变成了乱码等问题,本资源版本是由由WinLibs维护的开源版本winlibs-x86_64-posix-seh-gcc-12.2.0-llvm-15.0.7...
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、自动搜索...
标题“windows环境 gcc/g++ mingw64.zip”表明这是一个用于在Windows操作系统中安装GCC和G++编译器的压缩文件。G++是GCC的一部分,专为C++编程语言提供支持,包括预处理、编译、汇编和链接等步骤。 描述中提到,...
MinGW-w64 GCC/G++ 13.3,非常著名的C++语言编译器。
本主题将深入探讨如何在Android设备上建立和使用GCC(GNU Compiler Collection)和G++(GNU C++ Compiler)编译环境,以实现C和C++代码的编译和执行。这个压缩包提供了必要的工具和步骤来实现这一目标。 首先,`...
Linux GCC/G++编译器与调试器 本章节主要介绍了Linux系统下的GCC/G++编译器与调试器,包括GCC/G++编译器的安装、使用方法、编译命令、编译选项和执行过程,以及程序和进程的概念、ANSI C标准等知识点。 GCC/G++...
G++是GCC的一部分,专门用于C++编程。RPM(Red Hat Package Manager)是Linux系统中广泛使用的软件包管理器,它可以帮助用户方便地安装、升级和卸载软件。本教程将详细讲解如何在Linux环境下通过RPM方式安装GCC和G++...
注意安装完成要按要求设置环境变量 PATH=C:\ProgramData\msys\mingw\bin;%PATH% 然后就可以在命令行调用gcc/g++命令了
### GCC/G++ 编译命令选项详解 #### 概述 GCC(GNU Compiler Collection)是一个广泛使用的开源编译器套件,支持多种编程语言,包括 C、C++ 等。G++ 是 GCC 的一部分,专门用于编译 C++ 程序。本文将详细介绍 GCC ...
在Linux环境下进行C++开发,GCC(GNU Compiler Collection)和G++是不可或缺的工具。GCC是一套由GNU项目开发的编程语言编译器,而G++是GCC的一部分,专门用于C++语言的编译。本离线安装包包含了在Linux系统上安装GCC...
介绍常用GCC常用编译选项,让你轻松在linux环境下开发程序.
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 40 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 50 --slave /usr/...
ln -s /usr/local/gcc-4.5.1/bin/g++ /usr/bin/g++ ``` 8. **验证安装** 使用以下命令验证GCC的版本是否正确: ``` gcc -v g++ -v ``` #### 注意事项 - 所有命令均应在当前文件夹目录下执行,并且最好以...
解压后打开mingw64.exe,输入gcc -v ; g++ -v ; cmake --version可查看当前版本编译执行文件在msys64\mingw64\bin目录下,配置时指定到该目录即可。
在Linux环境下,`gcc`和`g++`是C和C++编程语言的编译器,而`Makefile`则是管理这些程序编译过程的重要工具。`Makefile`允许开发者自动化构建、编译和链接代码的过程,提高了工作效率,特别是在大型项目中更为明显。 ...
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中 配置环境 ...
#### 二、GCC/G++概述 ##### 2.1 GCC/G++ 版本信息与配置 GCC 是 Linux 下用于 C/C++ 语言的编译器,可从官方网站 http://ftp.gnu.org/gnu/gcc/ 免费获取官方发布的版本。通过在 Shell 提示符下输入 `gcc -v`,我们...