1 Star 11 Fork 4

xin-yue/纯C语言面向对象库

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
XClass.c 1.35 KB
一键复制 编辑 原始数据 按行查看 历史
#include"XClass.h"
#include"XVtable.h"
#include"XMemory.h"
#include"XString.h"
#include"XPrintf.h"
#include<string.h>
bool ArgIsNULL(const void* args/*参数数值*/, const char* argsName/*参数名字*/, const char* str/*附加参数*/, const char* funcName/*函数名字*/, const char* filePath/*所在文件路径*/, int line/*所在行号*/)
{
if (args == NULL)
{
XPrintf("%s\n参数:%s是NULL\t函数名:%s\n文件路径:%s\n正在编译文件的行号:%d\n", str, argsName, funcName, filePath, line);
return true;
}
return false;
}
void XClass_deinit_base(XClass* object)
{
if (ISNULL(object, "") || ISNULL(XClassGetVtable(object), ""))
return;
XClassGetVirtualFunc(object, EXClass_Deinit, void(*)(XClass*))(object);
}
void XClass_copy_base(XClass* object, const XClass* src)
{
if (ISNULL(src, "") || ISNULL(XClassGetVtable(src), ""))
return;
XClassGetVirtualFunc(src, EXClass_Copy, void(*)(XClass*,const XClass*))(object,src);
}
void XClass_move_base(XClass* object, XClass* src)
{
if (ISNULL(src, "") || ISNULL(XClassGetVtable(src), ""))
return;
XClassGetVirtualFunc(src, EXClass_Move, void(*)(XClass*, XClass*))(object,src);
}
void XClass_delete_base(XClass* object)
{
DeleteMethod free = Class_MemoryFree(object);
if (free)
{
XClass_deinit_base(object);
free(object);
}
else
{
XClass_deinit_base(object);
XMemory_free(object);
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/xin___yue/XinYueC.git
git@gitee.com:xin___yue/XinYueC.git
xin___yue
XinYueC
纯C语言面向对象库
develop

搜索帮助