C++ 使用带'的换行符-u';海湾合作委员会的旗帜

C++ 使用带'的换行符-u';海湾合作委员会的旗帜,c++,c,gcc,g++,C++,C,Gcc,G++,我指的是线程。我也有同样的问题,包装在同一个文件中定义的函数调用。 该线程的开始回答说,似乎不可能做到这一点,但在上一篇文章中,有人提到,可以通过使用-u标志来实现。 我花了更多的时间来弄清楚如何做到这一点,但我无法包装同一个文件的调用。 真的有可能吗?有人能解释一下吗?编辑:删除了关于(不相关)-U(大写)开关的评论 链接器只负责不同翻译单元之间的符号解析。在同一翻译单元内,编译器负责解析符号 因此,在同一翻译单元内的函数调用中,-u标志“太晚了” (请记住,在同一个翻译单元中,优化器可以自由

我指的是线程。我也有同样的问题,包装在同一个文件中定义的函数调用。 该线程的开始回答说,似乎不可能做到这一点,但在上一篇文章中,有人提到,可以通过使用-u标志来实现。 我花了更多的时间来弄清楚如何做到这一点,但我无法包装同一个文件的调用。
真的有可能吗?有人能解释一下吗?

编辑:删除了关于(不相关)-U(大写)开关的评论

链接器只负责不同翻译单元之间的符号解析。在同一翻译单元内,编译器负责解析符号

因此,在同一翻译单元内的函数调用中,-u标志“太晚了”

(请记住,在同一个翻译单元中,优化器可以自由地内联函数,因此甚至可能没有对wrap的函数调用.)

尝试查看以下gcc开关。它可以帮助您:

 -finstrument-functions

它允许您在函数开始/结束之前/之后自动调用函数。

编辑:删除关于(不相关)-U(大写)开关的注释

链接器只负责不同翻译单元之间的符号解析。在同一翻译单元内,编译器负责解析符号

因此,在同一翻译单元内的函数调用中,-u标志“太晚了”

(请记住,在同一个翻译单元中,优化器可以自由地内联函数,因此甚至可能没有对wrap的函数调用.)

尝试查看以下gcc开关。它可以帮助您:

 -finstrument-functions
它允许您在函数开始/结束之前/之后自动调用函数。

我添加了代码片段,展示了如何拦截函数调用。


我添加了代码片段,展示了如何拦截函数调用。

我的意思是说small-u不是大写-u,我知道-u预处理器标志。小u也是一个链接器标志。对不起。相应地更新了我的答案。添加了可能的解决方案,使用-finstrument函数。这似乎在gcc中没有解决方案-FinInstrument函数无法拦截调用。您只能将它们用于分析等。我的意思是说small-u不是大写-u,我知道-u预处理器标志。小u也是一个链接器标志。对不起。相应地更新了我的答案。添加了可能的解决方案,使用-finstrument函数。这似乎在gcc中没有解决方案-FinInstrument函数无法拦截调用。您只能将其用于分析等。