Ale*_*Dan 16 c++ compiler-construction inline function
我将一个函数定义show()为在调用的头文件中内联ex.h并定义函数内部ex.cpp.我希望这会给我一个错误,因为编译器不知道在show()调用函数的地方要替换什么.但是因为我使用的是IDE,它运行正常.怎么会发生这种情况?
show()
ex.h
ex.cpp
而BTW当我尝试手动编译它时,它给了我一个错误,show()使用但未定义.
kev*_*kev 26
必须将函数的定义(它之间的部分{...})放在头文件中,除非该函数仅在单个.cpp文件中使用. 特别是,如果将内联函数的定义放入.cpp文件中并从其他.cpp文件中调用它,则会"unresolved external"从链接器中收到错误.
{...}
.cpp
"unresolved external"
[阅读更多]
Bo *_*son 6
我们通常将内联函数放在头文件中,因此编译器可以在编译使用该函数的代码时看到该定义.这样它适用于所有编译器.
一些编译器具有一次优化整个程序的功能(整个程序优化或链接时间优化).即使在不同的.cpp文件中定义,这些编译器也可以内联函数.
归档时间:
13 年,10 月 前
查看次数:
15508 次
最近记录:
6 年,4 月 前