只打印文名

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
相关推荐
电子科技圈3 分钟前
IAR作为Qt Group独立BU携两项重磅汽车电子应用开发方案首秀北京车展
开发语言·人工智能·汽车·软件工程·软件构建·代码规范·设计规范
代码中介商4 分钟前
C语言指针深度解析:从数组指针到函数指针
c语言·开发语言
Jasmine_llq19 分钟前
《B4356 [GESP202506 二级] 数三角形》
开发语言·c++·双重循环枚举算法·顺序输入输出算法·去重枚举算法·整除判断算法·计数统计算法
止语Lab27 分钟前
Go vs Java GC:同一场延迟战争的两条路
java·开发语言·golang
Rust研习社28 分钟前
Rust 多线程从入门到实战
开发语言·后端·rust
Ulyanov1 小时前
《玩转QT Designer Studio:从设计到实战》 QT Designer Studio数据绑定与表达式系统深度解析
开发语言·python·qt
棋子入局1 小时前
C语言制作消消乐游戏(4)
c语言·开发语言·游戏
froginwe112 小时前
Python3 实例
开发语言
xiaoshuaishuai82 小时前
C# ZLibrary数字资源分发
开发语言·windows·c#
小碗羊肉2 小时前
【从零开始学Java | 第四十二篇】生产者消费者问题(等待唤醒机制)
java·开发语言