相关疑难解决方法(0)

extern关键字对C函数的影响

在C中,我没有注意到extern函数声明之前使用的关键字的任何影响.起初,我认为extern int f();在单个文件中定义时会强制您在文件范围之外实现它.但是我发现两者都是:

extern int f();
int f() {return 0;}
Run Code Online (Sandbox Code Playgroud)

extern int f() {return 0;}
Run Code Online (Sandbox Code Playgroud)

编译得很好,没有gcc的警告.我用过gcc -Wall -ansi; 它甚至不接受//评论.

extern 在函数定义之前使用是否有任何影响?或者它只是一个可选的关键字,对函数没有副作用.

在后一种情况下,我不明白为什么标准设计师选择用多余的关键词来乱丢语法.

编辑:澄清一下,我知道extern变量的用法,但我只是extern函数中询问.

c syntax standards

162
推荐指数
6
解决办法
18万
查看次数

静态内联,外部内联和普通内联函数之间有什么区别?

什么是之间的区别static inline,extern inline和正常的inline功能?

我已经看到了一些模糊的解释.据我所知,static inline不仅仅是一个inline仅在某个文件中引用的函数,因为static关键字通常意味着.这同样适用于extern inline过我想,这是不一样的解释与extern变量.任何答案将不胜感激!

c static extern inline-functions

25
推荐指数
1
解决办法
8011
查看次数

标签 统计

c ×2

extern ×1

inline-functions ×1

standards ×1

static ×1

syntax ×1