gpt4 book ai didi

c - 如何在单独的共享对象库中引用变量

转载 作者:太空狗 更新时间:2023-10-29 11:26:20 25 4
gpt4 key购买 nike

假设我有一个使用共享对象库 X 的程序,它是与我的程序分开编译的。现在,当我为 X 编写代码时,我需要引用一个变量,比如 A,它在我的程序中声明(将使用 X 库)。如何在 X 的代码中引用变量 A?弱引用?外部?还是其他一些技术?

最佳答案

使用 extern 关键字:

extern int A;

// later:
call_a_function(A);
A = something_else;

是的,如果共享对象是单独编译的,它就可以工作。在这种情况下,编译器会在内部生成一个带有变量名称的导出符号,然后动态链接器会查找它。

更新:正如@Hristo 所指出的,此外,您必须在构建单元时指定 -rdynamic 链接器标志才能使其正常工作。

关于c - 如何在单独的共享对象库中引用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11105970/

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