pragma message 和 outputdebugstr

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

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

 

配合#if/#ifdef/#ifndef设置编译时的提示信息,例如:
//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的。



OutputDebugStr介绍

void DebugStr(const char* szInfo, ...)
{

 char szLog[1024] = {0}; 
 va_list vl;
 va_start(vl, szInfo);
 vsnprintf(szLog, 1024, szInfo, vl);
 va_end(vl);
 OutputDebugStr(szLog);
}

 

需要#include <MMSystem.h>






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值