只打印文名

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
相关推荐
wjs20245 分钟前
SQL AVG() 函数详解
开发语言
上单带刀不带妹11 分钟前
【Axios 实战】网络图片地址转 File 对象,附跨域解决方案
开发语言·前端·javascript·vue
有一个好名字17 分钟前
JAVA虚拟机-JVM
java·开发语言·jvm
一个处女座的程序猿O(∩_∩)O18 分钟前
Python多重继承详解
开发语言·python
SmartBrain20 分钟前
技术总结:VLLM部署Qwen3模型的详解
开发语言·人工智能·算法·vllm
wuqingshun31415928 分钟前
HashMap的长度为什么是2的N次方呢?
java·开发语言·jvm
岱宗夫up30 分钟前
【前端基础】HTML + CSS + JavaScript 基础(二)
开发语言·前端·javascript·css·架构·前端框架·html
xyq20241 小时前
C++ 类 & 对象
开发语言
海天一色y1 小时前
使用 Python + Tkinter 打造“猫狗大战“回合制策略游戏
开发语言·python·游戏
独自破碎E1 小时前
BISHI69 [HNOI2008]越狱
android·java·开发语言