只打印文名

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
相关推荐
小王不爱笑1328 小时前
IO 模型
开发语言·python
知我Deja_Vu8 小时前
【避坑指南】ConcurrentHashMap 并发计数优化实战
java·开发语言·python
AI+程序员在路上8 小时前
CANopen 协议:介绍、调试命令与应用
linux·c语言·开发语言·网络
2401_831824968 小时前
基于C++的区块链实现
开发语言·c++·算法
m0_518019489 小时前
C++与机器学习框架
开发语言·c++·算法
ZTLJQ9 小时前
深入理解逻辑回归:从数学原理到实战应用
开发语言·python·机器学习
qq_417695059 小时前
C++中的代理模式高级应用
开发语言·c++·算法
波波00710 小时前
每日一题:.NET 中的“反射”是什么?
开发语言·.net
qq_4614893310 小时前
C++与Qt图形开发
开发语言·c++·算法
Evand J11 小时前
【三维飞行器】RRT路径规划与TOA定位仿真系统,MATLAB例程,路径起终点、障碍物、TOA锚点等均可设置。附下载链接
开发语言·matlab·无人机·定位·rrt·toa·三维航迹规划