只打印文名

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
相关推荐
myloveasuka2 分钟前
Java与C++多态访问成员变量/方法 对比
java·开发语言·c++
2301_8217005313 分钟前
C++编译期多态实现
开发语言·c++·算法
奥地利落榜美术生灬24 分钟前
c++ 锁相关(mutex 等)
开发语言·c++
xixihaha132430 分钟前
C++与FPGA协同设计
开发语言·c++·算法
重庆小透明35 分钟前
【java基础篇】详解BigDecimal
java·开发语言
ID_1800790547340 分钟前
模拟1688商品详情的Python API实现,返回符合风格的JSON数据
开发语言·python·json
小小怪7501 小时前
C++中的函数式编程
开发语言·c++·算法
金山几座1 小时前
C#学习记录-事件
开发语言·学习·c#
小杍随笔1 小时前
【Rust 语言编程知识与应用:基础数据类型详解】
开发语言·后端·rust
Yupureki1 小时前
《MySQL数据库基础》1. 数据库基础
c语言·开发语言·数据库·c++·mysql·oracle·github