只打印文名

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
相关推荐
Je1lyfish5 分钟前
Haskell 初探
开发语言·笔记·算法·rust·lisp·抽象代数
景庆1976 分钟前
vscode启动springBoot项目配置,激活环境
java·开发语言·vscode
幽络源小助理7 分钟前
PHP网站统计系统源码下载_极简统计程序支持宝塔部署_幽络源
开发语言·php
小智社群10 分钟前
获取贝壳中介列表,并且自动导入excel
开发语言·javascript·ecmascript
特种加菲猫10 分钟前
C++ 容器适配器揭秘:stack, queue 和 priority_queue 的模拟实现
开发语言·c++
筱璦14 分钟前
C#期货分仓、策略交易模拟演示系统(含资源下载)
开发语言·c#·策略模式·量化交易·期货交易
唐青枫15 分钟前
C#.NET Task 与 async await 深入解析:底层原理、执行流程与实战误区
c#·.net
froginwe1117 分钟前
Highcharts 测量图:全面解析与优化实践
开发语言
雪芽蓝域zzs19 分钟前
uni-app x 使用 UTS 语言使用 mixins
开发语言·javascript·uni-app
公子小六27 分钟前
基于.NET的Windows窗体编程之WinForms数据表格
windows·c#·.net·winforms