为什么我不应该使用类似函数的宏而不是常量变量

时间:2014-07-13 19:39:48

标签: gcc c-preprocessor latency

我正在为动画做一些计算,并希望制作一个简单的全局公式,我可以在整个代码中使用它。所以我做了一个类似函数的宏。在这个宏中,我有各种输入类型(int,float)和一个double类型作为结果。现在,它起作用了 - 但是只要在需要时声明公式就会慢得多。 动画使用xlib函数进行筛选。

实施例: 使用类似全局函数的宏函数进行计算(慢):

int x=0,y=0;
float  angle=0;
#define A(x,y) (x*sin(angle) - y*cos(angle))

int main(){

while(1){
...display picture_buffer with xlib-functions...
//compute picture_buffer:
   for(x; x < picture_width; x++){
       for(y; y < picture_height; y++){
            picture_buffer = A(x,y) ;
       }
     }
   }
}

程序如何访问&#39;预编译&#39;变化的值?

之前,我使用了类似函数的宏,只使用int类型对它们进行模运算。在那种情况下,我无法识别出任何明显的延迟。

0 个答案:

没有答案