智慧 + 毅力 = 无所不能

正确性、健壮性、可靠性、效率、易用性、可读性、可复用性、兼容性、可移植性...
随笔 - 991, 文章 - 0, 评论 - 27, 阅读 - 341万

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

pragma message的作用

Posted on   Bill Yuan  阅读(695)  评论(0编辑  收藏  举报

转自:http://blog.csdn.net/normallife/article/details/3710838

pragma message是用来告诉程序员,程序在编译时期的信息。而outputdebugstr则是告诉程序员,程序在运行时期的信息。

下面就以一个例子来讲解pragma message。

 

配合#if/#ifdef/#ifndef设置编译时的提示信息,例如: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
//test.cpp
 
#define UNICODE
 
#ifdef UNICODE
    #pragma message("使用UNICODE字符集")
#else
    #pragma message("使用ANSI字符集")
#endif
 
int main()
{
    return 0;
}


使用cl.exe编译时,会根据是否定义了UNICODE,而有不同的提示 
定义了UNICODE之后,在命令提示符下编译,显示为 

  D:/code>cl test.cpp /c /EHsc /nologo 
  test.cpp 
  使用UNICODE字符集 


如果不定义UNICODE,则会显示为 

  D:/code>cl test.cpp /c /EHsc /nologo 
  test.cpp 
  使用ANSI字符集 


IDE模式下编译,则是显示在output窗口;如果在console模式下编译,则显示在console 窗口。这样程序员根据输出信息就知道字符时unicode 还是 ansi的。

(评论功能已被禁用)
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述
历史上的今天:
2010-06-29 Building and Installing ACE on Win32 with MinGW/ MSYS
点击右上角即可分享
微信分享提示