在我的项目(这是一个影响性能的框架)中,我正在使用几个静态库。构建这些静态库时,我对其配置有两种选择:
/GL
和“链接时间代码生成” /LTCG
,并将我的框架的发布版本限制为(开箱即用)与特定版本的平台工具集一起使用(假设“ Visual Studio 2017(v141)”)。尝试使用v141预先构建的库在Visual Studio 2019(v142)中构建框架,导致出现错误消息,例如“ [...]是使用比其他对象更旧的编译器创建的;重建旧的对象和库“ 。这里唯一的选择是使用v142重新构建库,但是之后它们将无法再用于v141。/GL
和/LTCG
,其效果是它们可以与许多不同的平台工具集(例如v141,v142等)一起使用。我的问题是:第二种选择是否有任何弊端或隐患,还是一种有效的方法?如果在运行时对库进行大量调用该怎么办?会出现性能问题吗?