我有一个像这样的结构:

struct spidev_data {
  int busy;
  int irq;
};


我只想通过定义访问成员(如spidev-> busy),所以我尝试这样做:

#define BUSY spidev->busy


但这行不通...

有人可以告诉我该怎么做吗?

谢谢 !

最佳答案

你应该试试这个

spidev_data *spidev = /* ... new or malloc ... */;

BUSY = 1;


但更优雅的是

#define BUSY(X) (X)->busy

...

BUSY(spidev) = 1;


因为它不是专门针对对象的。

09-06 21:54