只打印文名

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
相关推荐
zjxtxdy14 分钟前
C++面向对象程序开发-类与对象
开发语言·c++
淡海水2 小时前
09-04-内存-Unity原生对象生命周期
unity·c#·游戏引擎·gc
qq_406981032 小时前
c++拷贝构造函数
开发语言·c++
爱喝雪碧的可乐3 小时前
MATLAB
开发语言·算法·matlab
H.莓飛5 小时前
【C++】【STL】vector_OJ题
linux·服务器·开发语言·数据结构·c++·visual studio
吴可可1235 小时前
富怡CAD二次开发指南
c#
1-1=06 小时前
C# IO和序列化
c#·.net·.netcore
j7~6 小时前
【C++ 八股文】(篇四)C++11 新特性
开发语言·c++·面试·c++11·八股文
eggwyw6 小时前
C++中大括号的用法合集
开发语言·c++
xiaoye-duck6 小时前
《C++ 项目:手写大模型接入 SDK》本地 Ollama 部署与适配
开发语言·网络·c++·语言模型