关于函数级链接
Visual C++ 编译器选项/Gy会启用函数级链接。
此选项允许编译器以封装函数 (COMDAT) 的形式将各个函数打包。
链接器要求单独打包为 COMDAT 的函数在 DLL 或 .exe 文件中排除或安排各个函数。 可以使用链接器选项 /OPT(优化) 从 .exe 文件中排除未引用的封装函数。 可以使用链接器选项 /ORDER(按顺序放置函数) 按指定顺序将封装函数放在 .exe 文件中。 如果内联函数实例化为调用(例如,当关闭内联或获取函数地址时出现这种情况),则始终打包内联函数。另外,在类声明内部定义的 C++ 成员函数会自动打包;其他函数不会如此,所以需要选择此选项以便将它们作为封装函数编译。
假设有一个库(lib): |