C语言:预定义的宏】的更多相关文章

1.预定义宏 对于预定义宏,相信大家并不陌生.为了方便处理一些有用的信息,预处理器定义了一些预处理标识符,也就是预定义宏.预定义宏的名称都是以"__"(两条下划线)开头和结尾的,如果宏名是由两个单词组成,那么中间以"_"(一条下划线)进行连接.并且,宏名称一般都由大写字符组成. 在日常项目编程中,预定义宏尤其对多目标平台代码的编写通常具有重大意义. 通过预定义宏,程序员使用"#ifdef"与"#endif"等预处理指令,就可使…
一.主要目标 (由于visual studio通常包含很多开发环境,通常将其中c/c++的ide称为visual c++ 20xx) 整理下visual c++ 2010下预定义的宏.做一下备忘和了解,在实际编码中可以考虑使用部分宏作为判断标准. 主要参考链接:http://msdn.microsoft.com/en-us/library/b0084kay(v=vs.100).aspx 二.vc++ 2010中预定义宏 注意本文中提及的所有预定义宏都是无参数的,并且不能重定义. 1. __FIL…
Visual Studio 2013 预定义的宏 https://msdn.microsoft.com/zh-cn/library/b0084kay(v=vs.120).aspx 列出预定义的 ANSI/ISO C99 和 Microsoft C++ 实现预处理宏. 编译器识别预定义的 ANSI/ISO C99 C 预处理宏,Microsoft C++ 实现将提供更多宏. 这些预处理器宏不带参数,并且不能重新定义. 本文中所列的一些预定义宏用多个值进行定义. ANSI 兼容的预定义宏 宏 说明…
C标准中指定了一些预定义的宏,对于编程经常会用到.下面这个表中就是一些常常用到的预定义宏. 宏(双下滑线) 意义 __DATE__ 进行预处理的日期(“Mmm dd yyyy”形式的字符串文字) __FILE__ 代表当前源代码文件名的字符串文字 __LINE__ 代表当前源代码中的行号的整数常量 __TIME__ 源文件编译时间,格式微“hh:mm:ss” __func__  当前所在函数名 对于__FILE__,__LINE__,__func__这样的宏,在调试程序时是很有用的,因为你可以很…
C标准中一些预定义的宏 C标准中指定了一些预定义的宏,对于编程经常会用到.下面这个表中就是一些常常用到的预定义宏. 宏 意义 __DATE__ 进行预处理的日期(“Mmm dd yyyy”形式的字符串文字) __FILE__ 代表当前源代码文件名的字符串文字 __LINE__ 代表当前源代码中的行号的整数常量 __TIME__ 源文件编译时间,格式微“hh:mm:ss” __func__ 当前所在函数名 对于__FILE__,__LINE__,__func__这样的宏,在调试程序时是很有用的,因…
arm系列目前支持三大主流的工具链,realview的armcc,iar ewarm的iccarm,gnu的gcc,编译器在编译的时候会预定义一些宏,这些宏在工程中起到不可或缺的作用. 例如 /* define compiler specific symbols */   #if defined ( __CC_ARM )      #define __ASM __asm /*!< asm keyword for armcc */      #define __INLINE __inline /*…
title author date CreateTime categories dotnet 新项目格式与对应框架预定义的宏 lindexi 2019-08-31 16:55:58 +0800 2019-07-12 09:30:24 +0800 dotnet 在 sdk style 的项目格式支持使用多框架开发,此时需要在代码里面通过宏判断,在编译的时候执行不同的代码.本文告诉大家在框架里面对应的预定义的条件编译符有哪些 在让一个 csproj 项目指定多个开发框架 - walterlv告诉大家…
在 sdk style 的项目格式支持使用多框架开发,此时需要在代码里面通过宏判断,在编译的时候执行不同的代码.本文告诉大家在框架里面对应的预定义的条件编译符有哪些 在让一个 csproj 项目指定多个开发框架 - walterlv告诉大家如何在 sdk style 项目格式如何定义多框架开发,在使用多框架开发的时候,有时会使用到特定的平台框架提供的方法,此时就需要使用预定义的宏通过条件判断编译符号的方法,在不同的框架编译不同的代码 例如下面代码根据在不同的平台输出不同的代码 static vo…
转载:gcc中预定义的宏__GNUC__ - Cccarl - 博客园 (cnblogs.com) 今天在看Linux系统编程这本书的代码的时候看到了__GNUC__,不太清楚这个宏所以去查了一下,以此记录.GNU C预定义了一系列的宏,这些宏都是以双下划线开始的,这里只讲一下__GNUC__  __GNUC_MINOR__ __GNUC_PATCHLEVEL__,其他GNU C的预定义宏可以到这里查看: https://gcc.gnu.org/onlinedocs/gcc-5.1.0/cpp/…
预定义宏就是已经预先定义好的宏,我们可以直接使用,无需再重新定义.ANSI C 规定了以下几个预定义宏,它们在各个编译器下都可以使用: __LINE__:表示当前源代码的行号: __FILE__:表示当前源文件的名称: __DATE__:表示当前的编译日期: __TIME__:表示当前的编译时间: __STDC__:当要求程序严格遵循ANSI C标准时该标识被赋值为1: __cplusplus:当编写C++程序时该标识符被定义. 预定义宏演示: #include <stdio.h> #incl…
一边情况下,C/C++编译器会内置几个宏,这些宏定义不仅可以帮助我们完成跨平台的源码编写,灵活使用也可以巧妙地帮我们输出非常有用的调试信息. ANSI C标准中有几个标准预定义宏(也是常用的): __LINE__:在源代码中插入当前源代码行号: __FILE__:在源文件中插入当前源文件名: __DATE__:在源文件中插入当前的编译日期 __TIME__:在源文件中插入当前编译时间: __STDC__:当要求程序严格遵循ANSI C标准时该标识被赋值为1: __cplusplus:当编写C++…
[时间:2019-02] [状态:Open] [关键词:android,cpu, armeabi, armeabi-v7a, arm64-v8a, 32位,64位,c/c++] 本文主要总结下前段时间针对android系统上做了32位和64位的区分,顺便梳理下android支持的各种CPU类型. ABI是什么? ABI是Application Binary Interface(应用程序二进制接口)的首字母缩写. 不同的安卓设备使用不同的CPU,每个CPU支持的指令集也不一样.这样每种CPU和指令…
以下信息摘自与标准C++的文档中. 如果把这些宏加在程序的日志中,它将为开发人员进行问题分析提供了很好的帮助. standard c++ 1998版The following macro names shall be defined by the implementation:__LINE__ The line number of the current source line (a decimal constant).__FILE__ The presumed name of the sour…
http://blog.csdn.net/hgl868/article/details/7058906 替代字符串: #define DOWNLOAD_IMAGE_LOG /var/log/png.log #define WGET_IMAGE_(x) "wget -b -c -P ./media/video -a " x " -i  mp4url.txt" WGET_IMAGE_(DOWNLOAD_IMAGE_LOG)就是 wget -b -c -P ./media…
一.预定义__GNUC__宏 1 __GNUC__ 是gcc编译器编译代码时预定义的一个宏.需要针对gcc编写代码时, 可以使用该宏进行条件编译. 2 __GNUC__ 的值表示gcc的版本.需要针对gcc特定版本编写代码时,也可以使用该宏进行条件编译. 3 __GNUC__ 的类型是"int",该宏被扩展后, 得到的是整数字面值.可以通过仅预处理,查看宏扩展后的文本. 示例: #include <assert.h> #include <stdio.h> #in…
一.预定义__GNUC__宏 1 __GNUC__ 是gcc编译器编译代码时预定义的一个宏.需要针对gcc编写代码时, 可以使用该宏进行条件编译. 2 __GNUC__ 的值表示gcc的版本.需要针对gcc特定版本编写代码时,也可以使用该宏进行条件编译. 3 __GNUC__ 的类型是“int”,该宏被扩展后, 得到的是整数字面值.可以通过仅预处理,查看宏扩展后的文本. 示例: #include <assert.h> #include <stdio.h> #include <…
C(和C++)中的宏(Macro)属于编译器预处理的范畴,属于编译期概念(而非运行期概念).下面对常遇到的宏的使用问题做了简单总结. 宏使用中的常见的基础问题  #符号和##符号的使用  ...符号的使用  宏的解释方法  我们能碰到的宏的使用  宏使用中的陷阱 常见的基础性问题 一.关于#和## 在C语言的宏中,#的功能是将其后面的宏参数进行字符串化操作(Stringfication),简单说就是在对它所引用的宏变量通过替换后在其左右各加上一个双引号.比如下面代码中的宏: #define WA…
在C语言中,有这么四个预定义的宏: 当前文件: __FILE__ 当前行号: __LINE__ 当前日期: __DATE__ 当前时间: __TIME__ 这4个宏在代码编译的时候,由编译器替换成实际的值或字符串. 下面演示一段代码,编译一个代码: test.c #include <stdio.h> void main() { printf(" %s \n %d \n %s \n %s \n",__FILE__,__LINE__,__DATE__,__TIME__); }…
标准C语言预处理要求定义某些对象宏,每个预定义宏的名称一两个下划线字符开头和结尾,这些预定义宏不能被取消定义(#undef)或由编程人员重新定义.下面预定义宏表,被我抄了下来. __LINE__  当前程序行的行号,表示为十进制整型常量__FILE__  当前源文件名,表示字符串型常量__DATE__转换的日历日期,表示为Mmm dd yyyy 形式的字符串常量,Mmm是由asctime产生的.__TIME__ 转换的时间,表示"hh:mm:ss"形式的字符串型常量,是有asctime…
参考帖子: (1)MSDN上专门讲预定义宏:https://msdn.microsoft.com/en-us/library/b0084kay(v=vs.80).aspx (2)VS中属性页的配置介绍:http://m.blog.csdn.net/blog/justkong/7949008 (3)判断程序是否在win64环境中运行:http://fenying.blog.163.com/blog/static/10205599320137224339263/ (4)http://fenying.…
/*------------------------------------- predef.c -- 预定义宏和预定义标识符 -------------------------------------*/ #include <stdio.h> void why_me(void); int main() { printf("The file is %s.\n", __FILE__); printf("The data is %s.\n", __DATE_…
作为第一篇,首先要说一下C++11与C99的兼容性. C++11将 对以下这些C99特性的支持 都纳入新标准中: 1) C99中的预定义宏 2) __func__预定义标识符 3) _Pragma操作符 4) 不定参数宏定义以及__VA_ARGS__ 5) 宽窄字符串连接 这些特性并不像语法规则一样常用,并且有的C++编译器实现也都先于标准地将这些特性实现,因此可能大多数程序员没有发现这些不兼容.但将这些C99的特性在C++11中标准化无疑可以更广泛地保证两者的兼容性.我们来分别看一下. 这次,…
R中预定义的字符组 代码 含义说明 [:digit:]或\\d 数字; [0-9] [^[:digit:]]或\\D 非数字; 等价于[^0-9] [:lower:] 小写字母; [a-z] [:upper:] 大写字母; [A-Z] [:alpha:] 字母; [a-z]及[A-Z] [:alnum:] 所有字母及数字; [A-z0-9] \\w 字符串; [A-z0-9_] (在ASCII编码下,\w比[:alnum:]多了一个下划线) [:xdigit:]或\\x 十六进制数字; [0-9…
标准C语言预处理要求定义某些对象宏,每个预定义宏的名称一两个下划线字符开头和结尾,这些预定义宏不能被取消定义(#undef)或由编程人员重新定义.下面预定义宏表,被我抄了下来.__LINE__  当前程序行的行号,表示为十进制整型常量__FILE__  当前源文件名,表示字符串型常量__DATE__转换的日历日期,表示为Mmm dd yyyy 形式的字符串常量,Mmm是由asctime产生的.__TIME__ 转换的时间,表示"hh:mm:ss"形式的字符串型常量,是有asctime产…
Paip.最佳实践-- Buildin variale 内建变量 ,魔术变量,预定义变量,系统常量,系统变量 1.1.1       C++内建变量(__LINE__).... 1.1.2       Php内建变量(__LINE__),文件 (__FILE__),目录 (__DIR__)_FUNCTION__),类名(__CLASS__),方法名(__METHOD__) 和名字空间 (__NAMESPACE__. 1.1.3       Java 内建变量(this, super..自定义内建…
对象的预定义方法 原文:http://shine-it.net/index.php/topic,2159.15.html 每个OpenERP的对象都有一些预定义方法,这些方法定义在基类osv.osv中.这些预定义方法有:基本方法:create, search, read, browse, write, unlink.    def create(self, cr, uid, vals, context={})    def search(self, cr, uid, args, offset=0…
在C#中学习中,你会很早的遇到预定义数据类型这个概念,但你有没有仔细想过它存在的意义?正所谓“存在即合理”,预定义数据类型的存在目的主要有俩个方面,一是为了增加程序的安全性,同时减轻编译器负担,加快编译速度:二是体现了语言互操作性中强数据类型的重要性. 首先,我们需要了解,C#中的预定义数据类型并非内置于C#中,而是包含于.NET中,这样做的原因,也体现出了微软对.NET框架所抱有的期望,这.NET框架下,不仅仅有C#一种高级语言,还有如VB.NET(从VB6升级到VB .NET 2002开始)…
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:SAP ABAP7.5x系列之预定义数据结构 前言部分 先说一下,之前有些文章被转载之后也没有注明,这个就比较不好.如果你觉得本文写的并不好,那么可以直接去看HELP,这样更直接,我这里只是做记录,如果读者朋友感兴趣,可以关注公众号,也可以在本文末留言,毕竟谁都不会那么厉害,什么内容都会,总会有说错或者不会的. ABAP关键字 ABAP关键字是A…
C#提供了16中预定义类型,其中包括13种简单类型和三种非简单类型: 所有预定义类型的名称全部由小写字母组成.预定义的简单类型包括以下3种:11种数值类型.一种Unicode字符类型char.一种布尔类型bool 三种非简单类型如下:string,它是一个Unicode字符数组:object,它是所有其他类型的基类:dynamic,使用动态语言编写的程序集时使用.  用户定义类型 除了C#提供的16种预定义类型,用户还可以创建自己的用户定义类型.有6种类型可以由用户自己创建,他们是: 类类型(c…
Atitit.跨平台预定义函数 魔术方法 魔术函数 钩子函数 api兼容性草案 v2 q216  java c# php js.docx 1.1. 预定义函数 魔术方法 魔术函数是什么1 1.2. "生成器函数Supplier1 1.3. JDK预定义了很多函数接口以避免用户重复定义.最典型的是Function:2 1.4. 另一个预定义函数接口叫做Consumer,跟Function的唯一不同是它没有返回值.2 1.5. 还有一个Predicate,用来判断某项条件是否满足.经常用来进行筛滤操…