只打印文名

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
相关推荐
xiaoshuaishuai81 分钟前
C# 签名异常与Gas预估失败调试方案
开发语言·网络·tcp/ip·c#
xiaoshuaishuai82 分钟前
C# Gemini 辅助网络安全漏洞分析
开发语言·web安全·c#
念恒123065 分钟前
Python(循环中断)
开发语言·python
社交怪人6 分钟前
【数字对调】信息学奥赛一本通C语言解法(题号2070)
c语言·开发语言
hef28812 分钟前
C语言中char指针与数组的区别及应用
c语言·开发语言
风继续吹..18 分钟前
C# 文件输入输出 精简理解
开发语言·c#
888CC++24 分钟前
栈上分配 VS 堆分配 核心区别
java·开发语言·jvm
tsfy200326 分钟前
Python 处理中文文件名的3个坑(附 Flask 上传解决函数)
开发语言·python·flask·文件上传·中文编码
j_xxx404_31 分钟前
Linux进程信号捕捉与操作系统运行本质深度解析
linux·运维·服务器·开发语言·c++·人工智能·ai
魔法阵维护师36 分钟前
从零开发游戏需要学习的c#模块,第十章(设计模式入门)
学习·游戏·设计模式·c#