gpt4 book ai didi

c++ - 如何使链接器不排除未调用的函数?

转载 作者:IT王子 更新时间:2023-10-29 01:26:21 24 4
gpt4 key购买 nike

如果我定义了一个函数但不调用它,函数将不会出现在可执行文件中。但是有些情况下我们需要告诉链接器不要排除一个函数。例如,我已经定义了应该在调试时由 totalview 调试器调用的函数。

如果我从某个地方(例如从 main 函数)调用该函数,问题将得到解决,它不会被排除,但是是否有一般规则告诉链接器不要排除函数?

最佳答案

您可以使用 GCC 的属性 externally_visible 来保证该函数存在。

看起来像这样:

#include <stdio.h>

__attribute__((externally_visible))
int f(int x) {
return x+2;
}

int main() {
int x = f(2);
printf("x=%d\n", x);
return 0;
}

关于c++ - 如何使链接器不排除未调用的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30667923/

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