Dea*_*ing 11
目前几乎没有开销具有单独的DLL.基本上,对从DLL导出的函数的第一次调用将运行一个小的存根来修复函数地址,以便通过跳转表单次跳转来执行后续调用.CPU的工作方式,这种额外的间接实际上是免费的.
主要的"开销"实际上是机会成本,而不是"开销"本身.也就是说,现代编译器可以执行一种称为"整个程序优化"的操作,其中整个模块(.exe或.dll)在链接时立即编译和优化.这意味着编译器可以在整个程序中的所有.cpp文件中调整调用约定,内联函数等,而不是仅在单个.cpp文件中.
对于某些类型的应用程序,这可以带来相当好的性能提升.但是,当然,整个程序优化不能跨DLL边界发生.
| 归档时间: |
|
| 查看次数: |
2528 次 |
| 最近记录: |