使用 #pragma message 输出自定义警告信息

原创 2017年06月15日 08:54:50

可以在编译窗口中输出自定义警告信息, 并且可以双击信息行 定位到文件位置


//宏定义
#define __STR2__(x) #x
#define __STR1__(x) __STR2__(x)
#define __LOC__ __FILE__ "("__STR1__(__LINE__)")"
#define _warning(iCode, msgStr) message( __LOC__ " : warning C" __STR1__(iCode) ": " msgStr )

//使用举例
#pragma _warning(1234, "Need to do 3D collision testing")

//测试代码

  int a, b= 1/a;
  #pragma _warning(1234, "Need to do 3D collision testing")


编译输出内容 

Dlg3Dlg.cpp
Generating Code...
E:\Temp\Dlg3\Dlg3Dlg.cpp(60) : warning C1234: Need to do 3D collision testing
E:\Temp\Dlg3\Dlg3Dlg.cpp(59) : warning C4700: local variable 'a' used without having been initialized
Linking...
Creating browse info file...

Dlg3.exe - 0 error(s), 2 warning(s)



关于#pragma message(), #pragma comment()等编译开关的介绍

在#Pragma是预处理指令它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C ++语言完全兼容的情况下,给出主机或操作系统专有...
  • qsycn
  • qsycn
  • 2012年02月08日 10:11
  • 3996

#pragma详解

#pragma 求助编辑百科名片 在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragm...
  • bailyzheng
  • bailyzheng
  • 2012年05月05日 16:56
  • 3039

#pragma指令的使用

前言  #pragma指令为我们提供了让编译器执行某些特殊操作提供了一种方法。这条指令对非常大的程序或需要使用特定编译器的特殊功能的程序非常有用。 #pragma指令的一般形式为:#pragma pa...
  • so_geili
  • so_geili
  • 2016年11月03日 23:38
  • 584

pragma message的作用

pragma message是用来告诉程序员,程序在编译时期的信息。而outputdebugstr则是告诉程序员,程序在运行时期的信息。下面就以一个例子来讲解pragma message。 配合#if...
  • normallife
  • normallife
  • 2009年01月05日 10:15
  • 7139

C语言中#pragma用法 汇总

    前一段时间写函数中断时,经常要加上#pragma语句,否则,编译就会出错。有飞思卡尔的16位单片机写过中断函数的人,就会知道在中断函数前必须加上代码#pragma CODE_SEG __NEA...
  • wtx1122
  • wtx1122
  • 2011年04月05日 20:16
  • 3550

#pragma阻止编译器警告

在xcode6中,如果使用类似以下代码传入nil,会被xcode提示错误 [dataImage setData:nil]; 编译器提示:Null passed to a callee tha...
  • u010795305
  • u010795305
  • 2015年12月17日 10:03
  • 1765

重要的#pragma声明

最近在做CCP标定的底层的相关工作,涉及到对多组变量指定内存区块的应用。转载了这篇文章来学习#pragma的使用。   原文出处:龙丘推荐必读基础知识: 重要的#pragma声明 http://www...
  • wzj983
  • wzj983
  • 2017年04月29日 17:11
  • 513

常用去除警告的方法

1  常用去警告:            #pragma warning(disable:4035) //no return value          #pragma warning(dis...
  • xiaoyafang123
  • xiaoyafang123
  • 2016年08月09日 11:34
  • 1019

msvc/gcc:中用#pragma指令关闭特定警告(warning)

在使用一些第三方库或源码的时候,经常会遇到编译时产生warnings情况,这些warning不是我们自己的代码产生的,当然也不好去修改,但每次编译都显示一大堆与自己代码无关的警告也着实看着不爽,而且还...
  • 10km
  • 10km
  • 2016年06月21日 14:03
  • 3109

Pragma的几种常用用法

Pragma的几种常用用法 其格式一般为: #Pragma Para 其中Para 为参数,下面来看一些常用的参数。 (1)message 参数。 Message 它能够在编译信息输出窗口中...
  • nodeman
  • nodeman
  • 2015年01月05日 13:52
  • 668
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用 #pragma message 输出自定义警告信息
举报原因:
原因补充:

(最多只允许输入30个字)