只打印文名

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
相关推荐
心疼你的一切22 分钟前
三菱FX5U PLC与C#通信开发指南
开发语言·单片机·c#
Tim_1032 分钟前
【C++入门】04、C++浮点型
开发语言·c++
@淡 定38 分钟前
Java内存模型(JMM)详解
java·开发语言
谈笑也风生39 分钟前
经典算法题型之复数乘法(二)
开发语言·python·算法
hkNaruto41 分钟前
【C++】记录一次C++程序编译缓慢原因分析——滥用stdafx.h公共头文件
开发语言·c++
czhc11400756631 小时前
C# 1221
java·servlet·c#
先知后行。1 小时前
python的类
开发语言·python
派大鑫wink1 小时前
【Day12】String 类详解:不可变性、常用方法与字符串拼接优化
java·开发语言
JIngJaneIL1 小时前
基于springboot + vue健康管理系统(源码+数据库+文档)
java·开发语言·数据库·vue.js·spring boot·后端
dyxal1 小时前
Python包导入终极指南:子文件如何成功调用父目录模块
开发语言·python