只打印文名

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
相关推荐
一只专注api接口开发的技术猿2 分钟前
如何处理淘宝 API 的请求限流与数据缓存策略
java·大数据·开发语言·数据库·spring
superman超哥3 分钟前
Rust 异步递归的解决方案
开发语言·后端·rust·编程语言·rust异步递归
期待のcode4 分钟前
Java虚拟机的非堆内存
java·开发语言·jvm
黎雁·泠崖5 分钟前
Java入门篇之吃透基础语法(二):变量全解析(进制+数据类型+键盘录入)
java·开发语言·intellij-idea·intellij idea
毕设源码-郭学长24 分钟前
【开题答辩全过程】以 基于python电商商城系统为例,包含答辩的问题和答案
开发语言·python
散峰而望27 分钟前
【算法竞赛】栈和 stack
开发语言·数据结构·c++·算法·leetcode·github·推荐算法
Mr -老鬼28 分钟前
Rust 的优雅和其他语言的不同之处
java·开发语言·rust
网安CILLE29 分钟前
PHP四大输出语句
linux·开发语言·python·web安全·网络安全·系统安全·php
weixin_5316518132 分钟前
Rust 的所有权机制
java·开发语言·rust
江公望36 分钟前
QT/QML qmlRegisterType()函数浅谈
开发语言·qt