gpt4 book ai didi

c - 嵌入式C中的空函数有什么用?

转载 作者:行者123 更新时间:2023-12-02 07:05:29 26 4
gpt4 key购买 nike

我正在开发一个嵌入式项目,该项目的源代码(C 语言)包含一个函数,用于检查以太网类型是轮询还是中断。我们有一个函数如下

    unsigned char mode(void);

unsigned char xmode(void)
{
if(mode())
return 1;
return 0;
}

函数 mode() 没有主体。当函数 xmode() 调用函数 mode() 时会发生什么?

最佳答案

扩展之前的答案。

这不是一个“空”函数,它是一个原型(prototype)。

编译器使用它来为您拥有主体的函数输出目标代码。它需要能够正确设置函数调用并确保它处理任何转换等。目标代码将包含对函数的引用,链接器将用正确的值替换这些引用。

这也意味着编译器可以为您进行错误检查并获得比链接器更多的信息。有趣的是,C 标准过去允许函数的隐式声明。

(为清楚起见,这里进行了简化。)

关于c - 嵌入式C中的空函数有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12559384/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com