我inline在C99 感到困惑.
这就是我想要的:
.c文件).static inline).C++就是inline这样做的.
但是(如果我错了请纠正我)在C99中没有办法得到这种行为.
我可以使用static inline,但它会导致重复(不同翻译单元中相同功能的地址不一样).我不希望这种重复.
所以,这是我的问题:
inlineC99的理念是什么?参考文献:
inline,但我不明白为什么.这只"仅在一个编译单元中"限制真的那么好吗?inline.我读过它,但我不明白.inline函数的策略.inline在C99中获得C++ 行为(是的,我们可以)head.h
#ifndef __HEAD_H__
#define __HEAD_H__
inline int my_max(int x, int y) {
return (x>y) ? (x) : (y);
}
void call_and_print_addr();
#endif
Run Code Online (Sandbox Code Playgroud)
src.c
#include "head.h"
#include <stdio.h>
// This is necessary! And it should occurs and only occurs …Run Code Online (Sandbox Code Playgroud)