只打印文名

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
相关推荐
Trouvaille ~2 分钟前
【C++篇】让错误被温柔对待(下):异常高级特性与最佳实践
运维·开发语言·c++·异常·raii·编程实践·基础入门
没有bug.的程序员2 分钟前
服务治理体系:从零到一的全景落地指南
java·开发语言·数据库·微服务·架构
先生沉默先3 分钟前
串口通信学习,使用winform读取串口发送数据,(2)
学习·c#·串口
kylezhao20194 分钟前
C#上位机开发数据持久化:xml数据导入导出
xml·开发语言·c#
2501_909800818 分钟前
Java多线程
java·开发语言·多线程
weixin_4624462315 分钟前
Node.js 纯 JS 生成 SVG 练字纸(米字格 / 田字格)完整实现解析
开发语言·javascript·node.js
꧁༺℘₨风、凌๓༻꧂17 分钟前
C# WPF 项目中集成 Pdf查看器
pdf·c#·wpf
catchadmin21 分钟前
成为高级 PHP 开发者需要的思维转变
开发语言·php
请告诉他22 分钟前
从 Struts2 单体到 Spring Cloud 微服务:一个 P2P 系统的真实重构之路(2019 年实战复盘)
java·开发语言
时光追逐者22 分钟前
ASP.NET Core 依赖注入的三种服务生命周期
后端·c#·asp.net·.net·.netcore