当前位置:  开发笔记 > 编程语言 > 正文

嵌套函数是C标准的一部分吗?

如何解决《嵌套函数是C标准的一部分吗?》经验,为你挑选了1个好方法。

今天我遇到了我从未听说过的嵌套功能.它只是GNU C的一部分吗?

这是一个嵌套函数的维基百科示例.

float E(float x)
{
    float F(float y)
    {
        return x + y;
    }
    return F(3);
}

从代码中看,嵌套函数看起来像C++内联函数.那么,是否有可能取出嵌套函数的地址?

编辑:

Adam给出的gcc链接说嵌套函数的代码是在堆栈上动态创建的.但是如何从堆栈运行代码?不应该在代码段中.



1> Adam Rosenfi..:

不,它们不是C或C++标准的一部分.它们是GCC编译器中的GNU扩展.有关更多信息,请参阅GCC手册.实际上可以采用嵌套函数的地址,这是使用一种名为trampolines的技术完成的,但要注意手册中列出的警告.

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有