只打印文名

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
相关推荐
Mr YiRan4 分钟前
C++高级之SLT中的容器学习与函数谓词
开发语言·c++·学习
wjs20249 分钟前
Bootstrap 下拉菜单:功能、应用与优化
开发语言
bepeater123412 分钟前
Laravel9.X核心特性全面解析
c语言·c++·c#·php
tod11317 分钟前
C++ 核心知识点全解析(七)
开发语言·c++·面试经验
njsgcs20 分钟前
py不等于python
开发语言·python
沐知全栈开发21 分钟前
Vue3 事件处理
开发语言
轩情吖24 分钟前
Qt的事件
开发语言·qt·事件·qt事件·qkeyevent·qmoveevent
敲敲了个代码27 分钟前
构建工具的第三次革命:从 Rollup 到 Rust Bundler,我是如何设计 robuild 的
开发语言·前端·javascript·后端·rust
张铁铁是个小胖子32 分钟前
mysql事务的隔离性如何保证
java·开发语言
天空属于哈夫克335 分钟前
Java 开发|企微外部群主动发送小程序消息实战
开发语言·python·小程序·自动化·企业微信·rpa