发 帖  
张飞软硬开源基于STM32 BLDC直流无刷电机驱动器开发视频套件, 👉戳此立抢👈
[问答] c语言中的宏定义是什么意思
4925 c语言 宏定义
分享
#define CLASS(type) \
typedef struct type type; \
struct type
搞不清楚这个是什么意思。。。求解释。
0
2019-3-12 04:20:17   评论 分享淘帖 邀请回答
5个回答
我也没看明白,高手指点下吧。
2019-3-12 10:27:14 评论

举报

不好意思,我说得不详细。。下面为完整的出处
lw_oopc.h
/*         lw_oopc.h: MISOO团队设计的C宏                                        */
#include <malloc.h>
#ifndef LW_OOPC
#define LW_OOPC
#define CLASS(type)       \
typedef struct type type; \
struct type
#define CTOR(type)        \
void* type##New()         \
{                         \
struct type *t;        \
t = (struct type*)malloc(sizeof(struct type));
#define CTOR2(type, type2)     \
void* type2##New()             \
{                              \
struct type *t;             \
t = (struct type*)malloc(sizeof(struct type));   
#define END_CTOR return (void*)t; }
#define FUNCTION_SETTING(f1, f2) t->f1 = f2;
#define IMPLEMENTS(type) struct type type
#define INTERFACE(type) struct type
#endif
2019-3-12 10:46:54 评论

举报

2019-3-12 10:55:57 评论

举报

第一第二行好理解,第三行不好理解。
CLASS(type)是怎么使用的?估计后面得加个变量名称吧?这样才说得通。
2019-3-12 11:02:59 评论

举报

这个 是 类似于实现C++一个类的作用  ,
说下调用方法 就明白了。 
CLASS (MyABC )   //ABC 相当于一个类名
{
        int  a;
        int  b;
        char c;
};
CTOR(myABC)   //创建为MyABC 分配内存的函数 名字为 myABCNew(...)  相当于 构造函数
FUNCTION_SETTING(a,10);  //初始赋值
FUNCTION_SETTING(b,20);
FUNCTION_SETTING(c,'A');
END_CTOR
CTOR2(myABC, TABC) //创建为MyABC 分配内存的函数 名字为 TABCNew(...) 相当于 另一个构造函数 
FUNCTION_SETTING(b,3);
END_CTOR
2019-3-12 11:17:53 评论

举报

只有小组成员才能发言,加入小组>>

12个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /8 下一条

快速回复 返回顶部 返回列表