c++ macro

C++ Code


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
 
/*
version: 1.0
author: hellogiser
blog: http://www.cnblogs.com/hellogiser
date: 2014/9/25
*/

#include "stdafx.h"
#include <iostream>
using namespace std;

void test_macro()
{
    printf("File: %s\n", __FILE__);
    printf("Line: %d\n", __LINE__);
    printf("Date: %s\n", __DATE__);
    printf("Time: %s\n", __TIME__);
}

int main()
{
    test_macro();
    return 0;
}
/*
File: f:\openjudge\openjudge\000_test\000_test.cpp
Line: 15
Date: Sep 25 2014
Time: 21:16:24
*/

时间: 2024-10-11 06:48:09

c++ macro的相关文章

Zabbix实战-简易教程--宏变量(Macro)

一.概述 Zabbix支持许多在多种情况下使用的宏.宏是一个变量,由如下特殊语法标识:MACRO 有效地使用宏可以节省时间,并使Zabbix变地更加高效. 在一个的典型用途中,宏可以用于模板中.因此,模板的触发器可能命名为"{HOST.NAME}的mysql{#MYSQLPORT} 端口已宕掉,请注意查看!". 当这个模板应用在主机( 飞龙在天roledb-192.168.1.100)时,并且当触发器展示在监控页面上时,触发器的名称将解析为"飞龙在天roledb-192.16

Rust 1.7.0 macro宏的复用 #[macro_use]的使用方法

Rust 1.7.0 中的宏使用范围包含三种情况: 第一种情况是宏定义在当前文件里.这个文件可能是 crate 默认的 module,也可能是随意的 module 模块. 另外一种情况是宏定义在当前 crate .可是不是在当前文件里,而是其它 module 模块中. 第三种情况是宏定义在其它的 crate 中.或者其它的 crate 子模块中. 使用#[macro_use] 能够使被注解的module模块中的宏应用到当前作用域中.或者凝视crate中的宏应用到当前crate作用域中. 第一种情

幾種方法實現C語言Macro for debug

1. #include <stdio.h> #include <stdlib.h> #define DEBUG 1 #ifdef DEBUG #define DEBUG_PRINT(fmt, args...) fprintf(stdout, fmt, ##args) #else #define DEBUG_PRINT(fmt, args...) #endif void main() { DEBUG_PRINT("China. File:%s, Line:%d\n"

C++ macro(宏)使用小结

谈起C++中的宏,我们第一个想到的应该就是“#define”,它的基本语法长得像这样: 1 #define macroname(para1, para2, para3, ... ,paran) macro-body 宏的声明和普通的函数声明很像,但是两者之间有本质的区别:C++函数在运行时(runtime)才执行代码段:而宏则是在预编译时期(preprocessor)执行代码段.下面简单介绍一下几个宏的应用. 一.考虑下面的代码段: 1 #define PLUS_ONE(x) ((x) + 1)

configure.ac:32: error: possibly undefined macro: AC_DEFINE

在ubuntu 下编译snappy时,在检查依赖关系时,处理autoconf的包时,在相关依赖包都已经安装的情况下,报如下错误,死活不过. 几经辗转,在stackoverflow上找到解决方案: justinclift commented on 15 Mar 2013 As possibly useful info if anyone else hits the "possibly undefined macro: AC_DEFINE" error. That AC_DEFINE er

cocos2d-x提示&#39;__useHeader&#39; : macro redefinition的解决方法

在项目属性的"预处理器定义"中添加:  _USING_V110_SDK71_ 注意无论使用vs2012还是2013,选择哪个平台工具集都是定义V110,这个不需要修改. 如果有用预编译头的话,也可以在预编译头中添加这个定义. 引申,为什么会出现这个错误? cocos2d-x默认使用的平台工具集是v120_xp,这个是是兼容windows xp的,而自己建立的项目默认的平台工具集是v120,这个是不兼容windows xp的.他们使用的Windows SDK也不一样. cocos2d

思科命令配置小技巧二:macro命令

在 思科命令配置小技巧一中,我们谈到,使用range命令可以简化我们的配置 但是如果我们经常对一组不连续的端口进行操作 比如 interface-range  fa1/1 ,fa1/3 ,fa1/5 ,fa1/7 ,fa1/11 即使使用range命令也会显得很繁琐 我们总想越简单越好(命令敲再多,工资还是那个数,要是按命令字数算工资多好) 此时交换机的宏命令就派上用场了 suzhouxiaoniu(config)#define interface-range abc fa1/1 ,fa1/3

STM32工程中出现 error: A1163E: Unknown opcode R0, , expecting opcode or Macro错误分析及处理

最近测试以前的一个程序,一般都是打开以前写的程序修改参数直接测试 但是发现以前的编译后出现错误. 奇怪了,以前的出现都是调试好了的啊,一般都是没有错误的,迅速找问题 跳转到错误代码行 代码区域 1 Heap_Size EQU 0x00000000 2 3 AREA HEAP, NOINIT, READWRITE, ALIGN=3 4 __heap_base 5 Heap_Mem SPACE Heap_Size 6 __heap_limit 7 8 PRESERVE8 9 THUMB ;指定为TH

关于C语言中的连接符的用法 # ## macro stringize

首先面向需求,小工程.代码不多.版本还挺多... 打算用宏控制开关选项.然后通过一长串 #if #elif ... #endif 来控制生成版本号.而且还要根据兼容性跟细小变更做三级版本号.... 所以就需要一个版本号拼接.明显,应该是编译期能做完的事情. --------需求完毕-------- C语言宏定义应该是可完成的.在代码执行期间更加是没问题的. 虽然用string.h也可以完成拼接. 不舒服斯基... 初步查找 使用 # 和##,可以完成.进一步查找发现有个#@ 是什么鬼... 部分

erlang的undefined macro &#39;MODULE&#39;,头一行编译通不过的问题

前言:对于erlang的编译有很多方式,rebar,makefile文件 还是对于单个文件的erlc编译等,但不管何种方式,一个模块的第一行就编译不过去,实在让人纠结... 1)问题上述: 在技术交流群里,有人提到头一行编译不过去, %%%------------------------------------------------------------------- %%% @author someone %%% @copyright (C) 2014, <COMPANY> %%% @d