1

我必须找出是否在使用 python 用 C 编写的函数中修改了变量列表。要浏览的源文件是用 C 编写的。我的项目中有大约 2000 个文件和大约 1000 个变量。这个脚本主要是为了检查不同协处理器的中断处理之间的数据一致性。

例如

变量列表 = [var_w,var_x,var_y,var_z]

        /*Module 1.c*/

           ISR ()

                {



                    var_x++;

                    fun_y();

                    fun_z();



                    }

/* 模块1结束*/

/* 模块2.c */

           fun_y() {var_y = 1;}

/* 模块3.c */

           fun_z() { fun_zz();}

           fun_zz() {var_z ++;}

/ * ** * ** * ** * ** * ** /

           ISR

               ->fun_y

               ->fun_z

                         ->fun_zz

               ->....

                       ->

                          .....

                               ..........

所以脚本的结果应该像 var_x ,var_y,var_z 被 ISR 修改。

你能建议我一个更好的方法吗?

使用 python Yacc 会有帮助吗?

感谢您。

最诚挚的问候

4

1 回答 1

0

你运气不好。

从理论上讲,在一般情况下,确定程序/函数是否更改变量(即不运行程序)是一个无法确定的问题。如果它是可判定的,则可以使用程序确定程序是否更改变量(通过归约)来轻松解决停机问题。

您可以提出部分解决方案,以找出变量发生变化的一些情况。但这听起来不值得努力。

于 2013-04-26T12:01:42.123 回答