0

我想自己编写一些 libc 函数(但不是所有的 libc!),以提高我的程序的性能。但是 GCC 是在编译程序中使用它们而不是 libc 函数还是忽略它们?

4

1 回答 1

1

glibc 中几乎所有的公共符号都是弱链接的,这意味着您可以提供自己的实现,它在链接期间将优先于弱符号。

所以,是的。您可以使用相同的名称/参数定义自己的函数,它们将被使用。请务必查看头文件以查看函数的真实签名,某些函数可能是扩展为另一个函数的宏。

您还可以创建一个包含要覆盖的函数的共享库,并让动态链接器预加载它以覆盖共享库中的函数。有关更多信息,请参阅此问题

于 2013-10-13T12:26:06.410 回答