我指的是this线程。我有同样的问题,包装在同一文件中定义的函数调用。 线程的起始答案说,似乎不可能这样做,但在最后一个人提到的,它可以通过使用-u标志来实现。 我花了很多时间来弄清楚如何做到这一点,但我无法实现包装同一文件的调用。 真的有可能吗?有人可以解释一下吗?
答案 0 :(得分:1)
编辑:删除了关于(无关)-U(大写)切换的评论。
链接器仅负责不同翻译单元之间的符号解析。在同一个翻译单元中,编译器负责解析符号。
因此,当涉及同一翻译单元内的函数调用时,-u标志“太晚了”。
(请记住,在同一个翻译单元中,优化器可以自由内联函数,因此甚至可能没有函数调用来包装..)
尝试查看gcc的以下开关。它可以帮助你:
-finstrument-functions
它允许您在功能开始/结束之前/之后自动调用功能。
答案 1 :(得分:0)