我正在用x86编写一个简单的c++反汇编程序,我希望听到一个类的输入,它将处理反汇编。我想要创建一个类,它将接收一个指向包含指令描述的表的指针。这样,我就可以在一个类中实现逻辑,该类可以通过接收不同的输入表来反汇编任何平台的代码。您认为这是解决问题的好方法吗?还是应该将表定义放在类中,然后为x86反汇编程序、arm反汇编程序等提供特殊的类。我是一名学生,我以前并不担心代码的优雅,但我现在正在尝试编写更优雅的代码,所以任何关于设计的建议都是受欢迎的。
发布于 2015-11-27 18:00:44
如果您计划编写一个递归下降分析器(维基百科),那么对将要拆卸的机器代码的通用描述可能是可行的,但即使是这样也是有争议的,而且您肯定会通过尝试而进入一些非常深的水域。
如果您不准备编写递归下降解析器,那么尝试使其具有如此普遍的用途可能是毫无意义的。
我建议您首先让反汇编程序以硬编码的方式为单个CPU工作,然后再担心使其具有通用性。试着把注意力集中在一个简单的目标上,否则你就什么都做不成了。
最有可能的是YAGNI。(你不会需要的。)
https://softwareengineering.stackexchange.com/questions/303723
复制相似问题