gpt4 book ai didi

C++ - 如何内联驻留在 .lib 中的函数?

转载 作者:行者123 更新时间:2023-11-30 01:55:32 24 4
gpt4 key购买 nike

据我所知,不可能在 lib 文件中将函数声明为“内联”并将该函数“神奇地内联”到另一个项目的调用函数中(因为链接与编译不同,后者发生在之前)。

当有多个函数(在多个库中)具有相同的声明但不同的定义时,我如何内联一个函数?

例如

obj1.lib

void function1() { printf("Hi"); }

obj2.lib

void function1() {printf("whatsup?"); }

主要.cpp

void function1();

int main()
{
function1(); // I'd like to be able to inline this, I can steer the linking against obj1 or obj2, but I can't inline this one
}

最佳答案

要从对象(或库)文件中内联一个函数,您需要用link-time optimization (LTO) 编译该对象文件。 .参见 Inlining functions from object files了解更多详情。

关于C++ - 如何内联驻留在 .lib 中的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20685950/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com