只打印文名

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 小时前
LangChain4j 工厂模式
java·开发语言
小小龙学IT4 小时前
Day 28 项目调试与优化 —— 给聊天室做一次“全面体检“
c语言·开发语言
hy.z_7774 小时前
【C++】9. Vector
开发语言·c++
Tim_104 小时前
【C++】023、移动语义&深拷贝
开发语言·c++·算法
czhaii4 小时前
word插入表格排版创建或编辑应用技巧
ui·c#·xhtml
ctlover4 小时前
Python模块与包
开发语言·python
雨田言炎4 小时前
十、QThread多线程
linux·服务器·开发语言·前端·qt
djjjx.5 小时前
【 C++ 】stack、queue、优先级队列、仿函数、容器适配器
开发语言·c++
在世修行5 小时前
从零打造 C# 工业视觉检测系统(十一):Task 异步编程与实时性保障
开发语言·c#·task异步
不爱洗脚的小滕5 小时前
【Golang】Go 语言实现高可用、用户态感知与多端广播的服务端 SSE 架构
开发语言·架构·golang