惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

有赞技术团队
有赞技术团队
Martin Fowler
Martin Fowler
N
Netflix TechBlog - Medium
WordPress大学
WordPress大学
罗磊的独立博客
H
Help Net Security
MongoDB | Blog
MongoDB | Blog
A
About on SuperTechFans
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
D
Docker
云风的 BLOG
云风的 BLOG
Microsoft Security Blog
Microsoft Security Blog
Blog — PlanetScale
Blog — PlanetScale
P
Proofpoint News Feed
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
I
InfoQ
J
Java Code Geeks
博客园 - 聂微东
大猫的无限游戏
大猫的无限游戏
Engineering at Meta
Engineering at Meta
美团技术团队
小众软件
小众软件
Stack Overflow Blog
Stack Overflow Blog
C
Check Point Blog

博客园 - bodong

Unreal Engine 5创建项目失败:文件“{ConfigFile}”处理失败。 如何找到当前计算机所有的UnrealEngine安装位置 Unreal Engine 5调试资源依赖来源的方法 GhostDoc Enterprise.v2024.2.24300 for Visual Studio 2022插件漏洞分析和离线解锁方法 ScyllaHide插件可能导致x64dbg的日志窗口无法捕获应用程序输出的日志字符串 C++使用宏来判断当前编译期支持的C++标准版本的方法 VisualStudio各版本_MSC_VER和_MSC_FULL_VER宏定义值列表 Rider如何针对一个项目禁用某一类错误检查(Inspections)的办法 UnrealEngine 5 C++标准版本 UnrealEngine Setup即使挂了代理也很慢的解决办法 CPPStringFormatting: 使用.NET格式化字符串风格格式化C++字符串的库 Windows平台下使用C++和Windows API计算文件MD5的方法 Windows平台下使用C++检测硬盘分区是否属于SSD硬盘的方法 KnownDLLs列表 Avalonia实现Visual Studio风格标题栏的方法 解决IDA Pro Warning:mssdk64_win7: No such file or directory AHeadLib.Net C#版本的DLL劫持代码生成工具 安装Visual Studio 2022指定版本的方法 UnrealSharp: 一个可以让你在UnrealEngine5中采用C# 12和.NET 8.0开发的插件
将C++代码文件路径、行号、函数名称等打包到#pragma message...
bodong · 2024-04-24 · via 博客园 - bodong
#include <iostream>

#define __GEN_STRING_IMPL(x) #x
#define __GEN_STRING(x) __GEN_STRING_IMPL(x)
#define __GEN_LOCATION_STRING() __FILE__ "(" __GEN_STRING(__LINE__) "):"

class CTestObject
{
public:
    void print1()
    {
        #pragma message(__GEN_LOCATION_STRING() "Add code in function:" __FUNCTION__)
    }

    void print2()
    {
        #pragma message(__GEN_LOCATION_STRING() "Add code in function:" __FUNCTION__)
    }
};

int main()
{
    std::cout << "Hello World!\n";
}

       如这个代码所示,只要在编译时,在输出窗口中将会输出代码路径和对应的信息,双击该信息即可跳转到对应位置(Visual Studio 2022有效)。可以根据需要添加其它信息。也可以根据对应的IDE,对具体格式进行对应的修改。

1>ConsoleApplication36.cpp
1>F:\Projects\ConsoleApplication36\ConsoleApplication36.cpp(12):Add code in function:CTestObject::print1
1>F:\Projects\ConsoleApplication36\ConsoleApplication36.cpp(17):Add code in function:CTestObject::print2
1>ConsoleApplication36.vcxproj -> F:\Projects\ConsoleApplication36\x64\Debug\ConsoleApplication36.exe