Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在创建一个共享对象库,它将与我的程序一起进行 LD_PRELOAD。在那个共享库中,我还想使用我程序中的一些变量。声明这些变量的方式是什么。请注意,共享对象库是与我的程序分开编译的。
是的。您必须链接您的程序--export-dynamic以使打开的库可以访问程序的符号表。如果您希望准确控制哪些符号可用并libtool用于链接,您可以使用参数-export-symbols-regex来指定哪些可用。如果程序加载时库所需的符号不可用,它将因未定义的符号而失败。某些平台需要稍微不同的链接标志(尤其是 Windows)。libtool如果您还没有,请考虑使用它来简化此操作。
--export-dynamic
libtool
-export-symbols-regex