LB4*_*B40 8 c compiler-construction gcc
有没有人给gcc添加传球?或者不是真的通过,但添加一个选项来做一些讨厌的事情... :-) ...
在从另一个函数返回之前调用函数仍然有同样的问题...所以我想通过在gcc中实现一些东西来调查它...
干杯.
编辑:向编译器添加传递意味着重新访问树以执行某些优化或某些分析.我想模拟__cyg_profile_func_exit的行为,但仅限于某些函数,并且能够访问原始返回值.
所以我将尝试增强我的问题.我想模仿真正基本的AOSD行为.AOSD或面向方面的编程可以增加横切关注点(调试是一个跨领域的问题).
int main(int argc, char ** argv) {
return foo(argc);
}
int foo(int arg_num) {
int result = arg_num > 3 ? arg_num : 42;
return result;
}
int dbg(int returned) {
printf("Return %d", returned);
}
Run Code Online (Sandbox Code Playgroud)
我想能够说,我想在执行foo函数后触发dbg函数.问题是如何告诉编译器修改控制流并执行dbg.应该在return和foo(argc)之间执行dbg ...
这与__cyg_profile_function_exit非常相似,但仅在某些情况下(__cyg_profile_function_exit中的问题是您无法轻易查看和修改返回的值).
如果您仍然对添加 GCC 通行证感兴趣,您可以开始阅读 GCC Wiki 相关材料:
归档时间: |
|
查看次数: |
2208 次 |
最近记录: |