首页 > 其他分享 >#pragma message 预处理指令

#pragma message 预处理指令

时间:2023-10-31 20:44:33浏览次数:38  
标签:__ MACRO pragma PRINT message 预处理 define

#pragma message 是一个预处理指令,用于在编译过程中向程序员发出消息或警告。这个指令通常用于在编译时向开发者提供一些有用的信息。

使用场景:编译时提示版本信息、时间信息、等等

#pragma message("Your message here")
//编译时就可以输出"Your message here"

 

示例代码:

#include <string.h>
#include <stdio.h>
#include <stdlib.h>

#define test_define "myname"

#define PRINT_MACRO_HELPER(x)   #x
#define PRINT_MACRO(x)   #x "=" PRINT_MACRO_HELPER(x)

#define NUMBER_MACRO 3.14159
#define STRING_MACRO "This is a string."


unsigned int debug_one = 1;

int main(int args, char *argv[])
{
#pragma message("Compiling " __FILE__)
#pragma message("" __TIMESTAMP__)
#pragma message("#test_define")
#pragma message(PRINT_MACRO(NUMBER_MACRO))
#pragma message(PRINT_MACRO(STRING_MACRO))
#pragma message(PRINT_MACRO(UNDEF_MACRO))

//    printf("test argv=%s, %s\n", argv[1], argv[2]);
    while(1)
    {
        sleep(2);
//        system("echo `pgrep a.out`");
        //system("echo `ps -aux | grep a.out`");
        //system("echo `ls a.out` >> /root/t24685/test/txt.txt");
        debug_one = ((~(debug_one))&0x1);
        printf("test debug_one = %x \n", debug_one);
    }
    printf("test argv=%s, %s\n", argv[1], argv[2]);
//    printf("%d--%d\n",sizeof(size_t),sizeof(unsigned long));
    return 0;
}

 

 

输出结果:

1.c: In function ‘main’:
1.c:18:9: note: #pragma message: Compiling 1.c
 #pragma message("Compiling " __FILE__)
         ^
1.c:19:9: note: #pragma message: Tue Oct 31 20:28:17 2023
 #pragma message("" __TIMESTAMP__)
         ^
1.c:20:9: note: #pragma message: #test_define
 #pragma message("#test_define")
         ^
1.c:21:9: note: #pragma message: NUMBER_MACRO=3.14159
 #pragma message(PRINT_MACRO(NUMBER_MACRO))
         ^
1.c:22:9: note: #pragma message: STRING_MACRO="This is a string."
 #pragma message(PRINT_MACRO(STRING_MACRO))
         ^
1.c:23:9: note: #pragma message: UNDEF_MACRO=UNDEF_MACRO
 #pragma message(PRINT_MACRO(UNDEF_MACRO))
         ^

 

标签:__,MACRO,pragma,PRINT,message,预处理,define
From: https://www.cnblogs.com/tzj-kernel/p/17801297.html

相关文章

  • 从数据预处理到模型部署
    近年来,人工智能技术的高速发展备受瞩目,而其中的一个关键领域就是机器学习模型的开发和部署。越来越多的企业和组织开始投入巨资进行模型开发和部署,以提升自身业务的智能化水平。为了帮助大家更好地理解和掌握模型开发与部署的相关知识,我们特地整理了本次直播的关键内容,带大家深入探......
  • MIGO Runtime Errors MESSAGE_TYPE_X program SAPLCKM4 in PERIODENART_BESTIMMEN
    用户在测试环境执行MIGO,系统dump检查系统后,发现是物料账期错误 修改账期,系统正常 ......
  • Ubuntu 服务器 /var/log/messages 文件没内容
    记录以下Ubuntu服务器的messages日志文件问题的处理我的服务器版本是Ubuntu22.04。默认是没有开启系统运行日志记录的,这一点无疑是个巨大的安全隐患,系统出了问题都无从查起。第一步开启/var/log/messages日志文件配置#vim/etc/rsyslog.d/50-default.conf...*.=info;*.=......
  • Applescript实现无痕检测手机号或邮箱号是否注册iMessage服务,iMessage蓝号检测实现
    一、检测数据的两种方式:1.人工筛选,将要验证的号码输出到文件中,以逗号分隔。再将文件中的号码粘贴到iMessage客户端的地址栏,iMessage客户端会自动逐个检验该号码是否为iMessage账号,检验速度视网速而定。红色表示不是iMessage账号,蓝色表示iMessage账号。2.编写脚本控制Macos/iphon......
  • elment 的Message或$message 全局控制X号是否展示
     main.jsVue.prototype.$message=function(option){option.offset=70option.showClose=truereturnMessage(option)}Vue.prototype.$message.success=function(msg){returnMessage.success({message:msg,offset:7......
  • SpringBoot内容协商(Content Negotiation)二 —— 自定义消息转换器(MessageConverter)
    SpringBoot内置的消息转换器SpringBoot没有处理返回yaml格式的数据,这里需要手动添加处理这种返回格式的支持。导入依赖<dependency><groupId>com.fasterxml.jackson.dataformat</groupId><artifactId>jackson-dataformat-yaml</artifactId></dependency>添加配......
  • How to fix EventSource onmessage not working in JavaScript All in One
    HowtofixEventSourceonmessagenotworkinginJavaScriptAllinOneSSE:Server-SentEvents/服务端推送error❌window.addEventListener(`load`,(e)=>{console.log(`pageloaded✅`);if(!!window.EventSource){constimg=document.querySelecto......
  • 机器学习——数据预处理(读这一篇就够了!)
    为了能用深度学习来解决现实世界的问题,我们经常从预处理原始数据开始,而不是从那些准备好的张量格式数据开始。 下面我们将简要介绍使用pandas预处理原始数据,并将原始数据转换为张量格式的步骤。1.读取数据集举一个例子,我们首先创建一个人工数据集,并存储在CSV(逗号分隔值)文件 .......
  • mysql8解决null, message from server: “Host is not allowed to connect to this My
    1.登录mysql(注意:账号密码不包括,-u和-p)mysql-uroot-proot2.切换到mysql库:usemysql;3.查询root用户的host值:selectuser,hostfromuser;如果host的值是localhost,说明只支持本地连接,不能远程登录。4.更改host的值为%:updateusersethost='%'whereuser='root';5.刷......
  • 泛微emessage管理界面存在任意文件读取漏洞2023
    漏洞简介泛微emessage管理界面存在任意文件读取漏洞隐患,攻击者可通过此漏洞获取敏感信息,为下一步攻击做准备。漏洞复现fofa语法:icon_hash="-1477694668"登录页面如下:POC:POST/HTTP/1.1Host:User-Agent:Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.......