【发布时间】:2012-07-03 19:01:49
【问题描述】:
我正在尝试为单线程程序制作看门狗。问题是,我们运行了一些外来的 so/dll(代码可用),这意味着我们在那里传递控制权。
我们的想法是重新编译这些,并通过一些回调到某种取消例程。
是否可以让GCC在这个编译的外部代码中在C-transactions或asm-transactions之间调用一些回调函数?
【问题讨论】:
-
这篇 SO 帖子的答案解释了如何让 gcc 在每个函数进入和退出时注入调试调用。可能是您需要的:stackoverflow.com/questions/2281739/…
-
朝着正确的方向前进,但是我需要更多的电话,例如在循环中
-
究竟什么是“C 交易”?
-
@Stasik:我很确定你想要做的事情在 GCC 是不可能的。如果您乐于使用Clang/LLVM 并编写一个插件来添加调用,那么您可能可以做您需要的事情。但这听起来像是很多工作......
-
@Keith:我不知道从一个 C 语句(如“a=a+1;”)生成的一组 ASM 命令的正确解释实际上是几个 ASM 命令。
标签: c++ c gcc assembly compiler-construction