我有一个关于代码性能的问题。假设我在C语言中有一个用于表示点的结构体:
typedef struct _CPoint
{
float x, y;
} CPoint;
我有一个使用结构体的函数,如下:
float distance(CPoint p1, CPoint p2)
{
return sqrt(pow((p2.x-p1.x),2)+pow((p2.y-p1.y),2));
}
我在想,将这个函数替换为 #define 是否明智。
#define distance(p1, p2)(sqrt(pow((p2.x-p1.x),2)+pow((p2.y-p1.y),2)));
我认为使用宏定义替换函数可以减少函数调用的开销,从而提高程序的运行速度。因此,我想知道是否应该在我的程序中将所有函数都替换成宏定义来提高性能。
那么我的问题是:
是否应该用#define替换所有函数以增加代码的性能?
_Bool
、_Complex
、_Generic
、_Atomic
等)。 - Christoph