只打印文名

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
相关推荐
Ghost-Silver6 分钟前
2025年度总结
开发语言·数据结构·c++·算法
The star"'6 分钟前
Python
开发语言·python·pygame
秋雨雁南飞7 分钟前
C# 动态脚本执行器
c#·动态编译
superman超哥18 分钟前
Rust Link-Time Optimization (LTO):跨边界的全局优化艺术
开发语言·后端·rust·lto·link-time·跨边界·优化艺术
superman超哥18 分钟前
Rust 编译优化选项配置:释放性能潜力的精细调控
开发语言·后端·rust·rust编译优化·精细调控·编译优化选项
yyy(十一月限定版)19 分钟前
C++基础
java·开发语言·c++
月巴月巴白勺合鸟月半21 分钟前
用AI生成一个简单的视频剪辑工具 的后续
c#
玄同76527 分钟前
Python 异常捕获与处理:从基础语法到工程化实践的万字深度指南
开发语言·人工智能·python·自然语言处理·正则表达式·nlp·知识图谱
巴塞罗那的风30 分钟前
golang协程泄漏排查实战
开发语言·后端·golang
派大鑫wink34 分钟前
【Day21】NIO入门:通道、缓冲区与非阻塞IO基础
java·开发语言