我正在用 C 编程。我想要一些关于静态和内联函数的描述。我知道,如果我们将一个函数设为静态,那么它向编译器表明它只有一个翻译单元处于内部链接之下。我对 static 和 inline 有以下疑问:
- 如果我们将一个函数设为 static ,我们可以在其他翻译单元中使用它......即在其他 .c 文件中吗?如果是..怎么样?
- 如果我们将函数设为静态内联,那有什么区别呢?编译器将如何处理它?
- 将函数设为静态会产生与宏相同的效果吗?
- 将函数处理为内联取决于编译器,具体取决于大小。那么有什么方法可以强行让它像内联一样对待呢?
- 我们如何使用内联和静态函数进行优化?
请对上述内联内容有所了解。平台是Linux,gcc编译器,C语言。