聚合返回警告[英] aggregate return warnings

问题描述

通过静态分析运行一些代码,发现gcc会
如果函数返回聚合,则生成警告,由
控制此标志(来自 gcc 手册):

-Waggregate-返回
如果定义了任何返回结构或联合的函数,则发出警告
或调用.(在可以返回数组的语言中,这也是
引发警告.)

很容易忽视,但我正在努力理解其中的原因.K&R 中是否不允许汇总回报?有没有其他好的
这个警告的原因是什么?

如果你正在写一个
,我想你可能想知道这一点将值返回到其他语言的库,但这似乎
就像发出警告信息的弱理由一样.如果您使用的是
这个理由,你最终可能会为 just
生成警告关于任何其他正常行为.

谢谢.

|
|马克尼尔森 - http://marknelson.us
|

推荐答案

ma***@ieee.org 写道:
通过静态分析运行一些代码,发现gcc会
如果函数返回聚合,则生成警告,由
控制此标志(来自 gcc 手册):

-Waggregate-返回
如果定义了任何返回结构或联合的函数,则发出警告
或调用.(在可以返回数组的语言中,这也是
引发警告.)

很容易忽视,但我正在努力理解其中的原因.K&R 中是否不允许汇总回报?有没有其他好的
这个警告的原因是什么?

如果你正在写一个
,我想你可能想知道这一点将值返回到其他语言的库,但这似乎
就像发出警告信息的弱理由一样.如果您使用的是
这个理由,你最终可能会为 just
生成警告关于任何其他正常行为.
我的猜测是您将获得有关此的最佳信息
通过在 GCC 论坛中提问.K&R(虽然讨论起来很有趣,也许)不是
这里真的很热门,试试 comp.lang.c.


--
邮件回复时请去掉大写的"A"
我不回复热门回复,请不要问

ma***@ieee.org 写道:
通过静态分析运行一些代码,发现gcc会
如果函数返回聚合,则生成警告,由
控制此标志(来自 gcc 手册):

-Waggregate-返回
如果定义了任何返回结构或联合的函数,则发出警告
或调用.(在可以返回数组的语言中,这也是
引发警告.)

很容易忽视,但我正在努力理解其中的原因.K&R 中是否不允许汇总回报?有没有其他好的
这个警告的原因是什么?

如果你正在写一个
,我想你可能想知道这一点将值返回到其他语言的库,但这似乎
就像发出警告信息的弱理由一样.如果您使用的是
这个理由,你最终可能会为 just
生成警告关于任何其他正常行为.
我想如果你正在创建一个跨平台库和一个
目标平台不支持此功能(汇总返回
在某些编译器上不可用 - 至少在很久以前我
记住一些不支持它的编译器),那么你至少可以
无论如何都要在 gcc 编译器上维护产品 WRT 到此功能.

发出此警告的充分理由是让程序员知道
如果返回一个大对象,堆栈可能会溢出.

干杯

ma***@ieee.org 写道:
通过静态分析运行一些代码,发现gcc会
如果函数返回聚合,则生成警告,由
控制此标志(来自 gcc 手册):

-Waggregate-返回
如果定义了任何返回结构或联合的函数,则发出警告
或调用.(在可以返回数组的语言中,这也是
引发警告.)

很容易忽视,但我正在努力理解其中的原因.K&R 中是否不允许汇总回报?有没有其他好的
这个警告的原因是什么?

如果你正在写一个
,我想你可能想知道这一点将值返回到其他语言的库,但这似乎
就像发出警告信息的弱理由一样.如果您使用的是
这个理由,你最终可能会为 just
生成警告关于任何其他正常行为.

谢谢.

|
|马克尼尔森 - http://marknelson.us
|

本文地址:https://www.itbaoku.cn/post/1050456.html