只打印文名

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
相关推荐
helloworldandy19 分钟前
高性能图像处理库
开发语言·c++·算法
2401_8365631820 分钟前
C++中的枚举类高级用法
开发语言·c++·算法
chao18984431 分钟前
矢量拟合算法在网络参数有理式拟合中的应用
开发语言·算法
EmbedLinX1 小时前
C++ 面向对象
开发语言·c++
weixin_445402301 小时前
C++中的命令模式变体
开发语言·c++·算法
Hgfdsaqwr1 小时前
实时控制系统优化
开发语言·c++·算法
2301_821369611 小时前
嵌入式实时C++编程
开发语言·c++·算法
sjjhd6522 小时前
多核并行计算优化
开发语言·c++·算法
一起养小猫2 小时前
Flutter for OpenHarmony 实战 表单处理与验证完整指南
android·开发语言·前端·javascript·flutter·harmonyos
leiming62 小时前
FreeRTOS 的任务与 Linux
java·开发语言