- 博客(6)
- 收藏
- 关注
原创 C语言通过编译宏实现---根据参数个数展开不同的代码
#define GET_P3(p1, p2, p3) p3// 根据参数个数选择para_0,还是para_1,,##__VA_ARGS__(##后没有内容时,会删除前面的空格)#define SELECT_01_PARA(para_0, para_1, ...) GET_P3(,##__VA_ARGS__, para_1, para_0)#define SELECT(...) SELECT_01_PARA(123, 456, ##__VA_ARGS__)// 使用SELECT();---&
2021-09-01 23:56:35 653
原创 CMakeList移除自动关联的依赖
function(append_include_directories target) set(dir_list) foreach(obj ${ARGN}) if(${obj} STREQUAL "PUBLIC" OR ${obj} STREQUAL "public" OR ${obj} STREQUAL "PRIVATE" OR ${obj} STREQUAL "private" OR set(dir_list ${dir_list} ${obj})
2021-09-01 23:42:20 378
原创 C实现变量生命周期结束时自动释放内存
_attribute_((cleanup))用于修饰一个变量 ,在它的作用域结束时执行一个特定的方法。void AutoFreeStr(char *str){ if (str != NULL) { free(str); }}void Temp(void){ char *name = malloc(100); free(name); // 需要显示释放 name = NULL; __attribute__((cleanup(A
2021-09-01 23:28:23 420
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人