
我很有兴趣进入它们,但我想,VC不允许步入功能…所以,
>我正在将它们转换为函数,但这对我来说变得很难
有没有办法进入MACRO例程?特别是在VC?
PS:如果gcc编译器支持步入MACRO,我可以将整个代码移植到gcc中
解决方法 除了上面的所有正确答案:我通常做的是显示混合显示(C汇编).这显示了真正发生的事情.即使您不是底层程序集的专家,它也可以了解会发生什么(即它是一个简单的替换还是一个复杂的循环).它还将提供额外的机会进入功能.例如,如果您的宏是#define foo(a) i++;foo_func(a,i)
你的调试器会显示类似的东西
循环和使用什么样的变量).您可以使用宏定义作为参考来理解它.
00411454 mov DWord ptr [j],eax 00411457 cmp DWord ptr [j],0Ah 0041145B jge wmain+58h (411478h) { foo(j);0041145D mov eax,DWord ptr [i] 00411460 add eax,1 00411463 mov DWord ptr [i],eax 00411466 mov eax,DWord ptr [i] 00411469 push eax 0041146A mov ecx,DWord ptr [j] 0041146D push ecx 0041146E call foo_func (411028h) 00411473 add esp,8 } 这给出了变量i和j用于调用函数foo_func的线索.
如果使用Visual C,它将允许您进入从宏调用的函数(F11);但不是个别陈述.
总结以上是内存溢出为你收集整理的在VC中进入MACRO全部内容,希望文章能够帮你解决在VC中进入MACRO所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)