#的意义,麻烦谁来跟我解释一下下面的代码
#define DECLARE_HANDLE(name) struct name##__ { int unused; }; typedef struct name##__ *name
谢谢了
主要是看不明白里面##的意思,不知道谁能够解释一下
[解决办法]
name##__
这是一个整体别分开看
就像
struct ss{int unused; };
typedef struct ss *s;
[解决办法]
DECLARE_HANDLE(name) struct name##__ { int unused; }; typedef struct name##__ *name
DECLARE_HANDLE(MyName)
预编译后翻译为
struct MyName__{int unused;}
typedef struct MyName__ *MyName;
明白了不?
[解决办法]
预编译
也叫预处理
就是实际编译之前将宏扩展为实际代码
[解决办法]
为啥与变异以后##就没有了
这个市编译器的某种功能么
恩 ,必须 要 有这个功能才方便。。,