只打印文名

CMakeLists.txt

c 复制代码
set(CMAKE_C_FLAGS "-O0 -ggdb -D__NOTDIR_FILE__=$(notdir $<)")
// set(CMAKE_C_FLAGS "-O0 -ggdb -D__NOTDIR_FILE__=$(notdir $<) -D__FILENAME__=$(subst $(dir $<),,$<)")

C文件

c 复制代码
#include <stdio.h>

#ifdef __NOTDIR_FILE__
#define M2STR(x) #x
#define M2STR_IMPL(x) M2STR(x)
#define __BFILE__ M2STR_IMPL(__NOTDIR_FILE__)
#else
#define __BFILE__ __FILE__
#endif

void hello()
{
	printf("[%s:%s: %d] hello word\n", "123123", __BFILE__, __LINE__);
}

结果

c 复制代码
liuwen@liuwen-VirtualBox:~/test/cmake/02-1-use_static_lib/build$ ./static_use
[123123:hello.c: 18] hello word
相关推荐
豆浆D油条21 分钟前
QT容器类QList调用erase崩溃
开发语言·qt·rpc
jinyishu_24 分钟前
C++ 多态完全指南:从基础语法到底层原理
开发语言·c++·程序人生·面试
larance1 小时前
机器学习特征预处理之标准化/归一化
开发语言·python·机器学习
农村小镇哥1 小时前
C#中的字符串格式化
服务器·开发语言·c#
Android洋芋2 小时前
AI辅助C盘清理
c语言·开发语言·人工智能·ai辅助c盘清理
灯澜忆梦4 小时前
Go 语言 _JSON---序列化与反序列化
开发语言·golang·json
麻瓜老宋4 小时前
AI开发C语言应用按步走,表达式计算器calc的第四步,交互式 REPL 模式
c语言·开发语言·atomcode
猫猫不是喵喵.4 小时前
双亲委派机制与类加载过程
java·开发语言
布朗克1684 小时前
Go入门到精通-22-同步原语
开发语言·后端·golang·同步原语
帅次5 小时前
Kotlin Flow 与 StateFlow:UI 单向数据流基础
开发语言·ui·kotlin·stateflow·onlifecycle