只打印文名

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
相关推荐
曹牧30 分钟前
C#:Type
开发语言·c#
小僧景贤1 小时前
嵌入式C语言 第十一篇:成长路线|嵌入式C工程师完整进阶学习路径(从零到工程级落地|含周期+实战项目)
c语言·开发语言·学习
Brilliantwxx1 小时前
【Linux】自动化构建工具 make 与 Makefile
linux·运维·服务器·开发语言·自动化
用户3721574261351 小时前
C# 如何在 Excel 中创建下拉列表:3 种常见数据源实现方式
c#
灵晔君1 小时前
【Linux】进程(四)——进程虚拟地址空间
linux·c语言·开发语言
ao-weilai1 小时前
C++基础:C++11部分内容
开发语言·c++·c++11
萧瑟余晖1 小时前
Java深入解析篇十八之响应式编程
java·开发语言
看浪的路人2 小时前
第5讲:代码审查与 Bug 检测
开发语言·windows·python
netccdn2 小时前
Hough变换检测直线(Matlab)
开发语言·计算机视觉·matlab
有点。2 小时前
C++深度优先搜索(三)
开发语言·c++·深度优先