我在Eclipse中有一个makefile项目,当我调试程序时,运行步骤的顺序不规律。作为以下函数的一个例子,命令将按以下顺序运行:1,6,1,6,1,...它应该是6,7,8,.....
1 int get_region(int x, int y, int level, int ®ion_x, int ®ion_y, int min_x,int min_y,int max_x,int max_y)
{
2 int X_distance = max_x - min_x;
3 int Y_distance = max_y - min_y;
4 int steps_x = X_distance / (pow(2,level)) + 1;
5 int steps_y = Y_distance / (pow(2,level)) + 1;
6 region_x = (x - min_x) / steps_x;
7 region_y = (y - min_y) / steps_y;
8 cout << "region_x = " << region_x << " x = "<< x << endl;
9 cout << "region_y = " << region_y << " y = "<< y << endl;
10 cout << "****************** get_region function is called **************"<<endl;
11 return 0;
}
答案 0 :(得分:2)
在启用优化的情况下编译代码时的正常行为。编译器重新排列代码以获得更好的性能。
关闭优化功能,使调试更容易。