C++ 重复引用符号 问题 Inline keyword
1 | // h.hpp |
执行下面的编译语句:
1 | g++ a.cpp b.cpp -o main |
通过inline 或者 static 来解决在编译过程中产生相同符合的问题。
使用static,最终会产生两个不同的函数符号
使用inline 被 include 进多个编译单元的 h 函数,在多个编译单元中分别编译,得到了多个副本;在链接的时候,链接器随便选取其中的一个副本保留,其余的被丢弃。
1 | // h.hpp |
执行下面的编译语句:
1 | g++ a.cpp b.cpp -o main |
通过inline 或者 static 来解决在编译过程中产生相同符合的问题。
使用static,最终会产生两个不同的函数符号
使用inline 被 include 进多个编译单元的 h 函数,在多个编译单元中分别编译,得到了多个副本;在链接的时候,链接器随便选取其中的一个副本保留,其余的被丢弃。