将标头包含在静态声明中时会发生什么?

饮料先生爵士

例如,假设我有2个头文件。

#include <stdio.h>
static __inline foo()
{
    // do something
}

然后a.h文件包含在b.h

h

#include "a.h"
void bar();

带有相应b.cpp文件:

公元前

#include "b.h"
void bar()
{
 foo();
}

main.c

#include "b.h"
void main()
{
 bar();
}
  1. foo()要在被内联b.c文件?
  2. foo()(静态)将在可见main.c因为它是通过包含文件b.h的文件或者它仅仅是可见b.c(由于它们不在同一个翻译单元中,因此将猜测它是不可见的)。
克拉斯·林贝克(KlasLindbäck)

foo()b中都可见main预处理器完成其工作后,编译器将查看文件。

main.c 在预处理程序步骤之后:

<all the stuff from stdio.h>
static __inline foo()
{
    // do something
}
void bar();
void main()
{
 bar();
}

删除的一种方式foo(),从main.c是将纳入a.h来自b.hb.c

修改后b.h

void bar();

修改后b.c

#include "a.h"
#include "b.h"
void bar()
{
 foo();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

声明函数静态与不将其包含在标头之间有什么区别?

来自分类Dev

将 Boost 标头包含到 .h 文件中但不包含在 .cpp 文件中时发生错误

来自分类Dev

当声明符(我/州)在for块中时会发生什么?

来自分类Dev

HTTP请求使用不同的浏览器标头时会发生什么?

来自分类Dev

在方法中枚举静态变量并将其设置为null时会发生什么

来自分类Dev

在方法中枚举静态变量并将其设置为null时会发生什么

来自分类Dev

当您重新声明angular中的现有指令时会发生什么?

来自分类Dev

在JavaScript中声明带有几个empy元素的数组时会发生什么

来自分类Dev

使用Go将电子邮件标头包含在应用程序引擎中吗?

来自分类Dev

防止在编译时将标头包含在某些文件中?

来自分类Dev

防止在编译时将标头包含在某些文件中?

来自分类Dev

当我们在html标记中包含错误的属性时会发生什么?

来自分类Dev

当您调用包含yield的函数时会发生什么?

来自分类Dev

拦截器标头未包含在响应中

来自分类Dev

条件标头包含在AS3中

来自分类Dev

暂停时会发生什么?

来自分类Dev

Java将数组参数分配给构造函数中的成员时会发生什么?

来自分类Dev

当将int列表转换为C中的char列表时会发生什么?

来自分类Dev

当我将鼠标悬停在Chrome中的链接上时会发生什么?

来自分类Dev

将属性应用于python中的类方法时会发生什么情况?

来自分类Dev

将硬盘中的所有位都设置为1时会发生什么?

来自分类Dev

将变量绑定到某些数据时会发生什么?

来自分类Dev

将函数用作参数时会发生什么情况?

来自分类Dev

将千兆字节的数据写入管道时会发生什么?

来自分类Dev

当我将%esp移至%ebp时会发生什么?

来自分类Dev

Session_Start / _End,如果不将它们包含在global中,那么幕后会发生什么?

来自分类Dev

当我从静态ArrayList中获取一个对象并更改其参数时会发生什么?

来自分类Dev

当非静态函数声明跟在静态函数声明之后会发生什么?

来自分类Dev

当线程尝试同时调用静态和非静态同步方法时会发生什么?

Related 相关文章

  1. 1

    声明函数静态与不将其包含在标头之间有什么区别?

  2. 2

    将 Boost 标头包含到 .h 文件中但不包含在 .cpp 文件中时发生错误

  3. 3

    当声明符(我/州)在for块中时会发生什么?

  4. 4

    HTTP请求使用不同的浏览器标头时会发生什么?

  5. 5

    在方法中枚举静态变量并将其设置为null时会发生什么

  6. 6

    在方法中枚举静态变量并将其设置为null时会发生什么

  7. 7

    当您重新声明angular中的现有指令时会发生什么?

  8. 8

    在JavaScript中声明带有几个empy元素的数组时会发生什么

  9. 9

    使用Go将电子邮件标头包含在应用程序引擎中吗?

  10. 10

    防止在编译时将标头包含在某些文件中?

  11. 11

    防止在编译时将标头包含在某些文件中?

  12. 12

    当我们在html标记中包含错误的属性时会发生什么?

  13. 13

    当您调用包含yield的函数时会发生什么?

  14. 14

    拦截器标头未包含在响应中

  15. 15

    条件标头包含在AS3中

  16. 16

    暂停时会发生什么?

  17. 17

    Java将数组参数分配给构造函数中的成员时会发生什么?

  18. 18

    当将int列表转换为C中的char列表时会发生什么?

  19. 19

    当我将鼠标悬停在Chrome中的链接上时会发生什么?

  20. 20

    将属性应用于python中的类方法时会发生什么情况?

  21. 21

    将硬盘中的所有位都设置为1时会发生什么?

  22. 22

    将变量绑定到某些数据时会发生什么?

  23. 23

    将函数用作参数时会发生什么情况?

  24. 24

    将千兆字节的数据写入管道时会发生什么?

  25. 25

    当我将%esp移至%ebp时会发生什么?

  26. 26

    Session_Start / _End,如果不将它们包含在global中,那么幕后会发生什么?

  27. 27

    当我从静态ArrayList中获取一个对象并更改其参数时会发生什么?

  28. 28

    当非静态函数声明跟在静态函数声明之后会发生什么?

  29. 29

    当线程尝试同时调用静态和非静态同步方法时会发生什么?

热门标签

归档