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

作用:对于__FILE__,__LINE__,__func__这样的宏,在调试程序时是很有用的,因为你可以很容易的知道程序运行到了哪个文件的那一行,是哪个函数. 下面一个例子是打印上面这些预定义的宏的. __DATE__,__FILE__,__LINE__,__TIME__,__FUNCTION__ C标准中指定了一些预定义的宏,对于编程经常会用到.下面这个表中就是一些常常用到的预定义宏. __DATE_ %s_进行预处理的日期(“Mmm dd yyyy”形式的字符串文字) __FILE__  …
1.预定义宏 对于预定义宏,相信大家并不陌生.为了方便处理一些有用的信息,预处理器定义了一些预处理标识符,也就是预定义宏.预定义宏的名称都是以"__"(两条下划线)开头和结尾的,如果宏名是由两个单词组成,那么中间以"_"(一条下划线)进行连接.并且,宏名称一般都由大写字符组成. 在日常项目编程中,预定义宏尤其对多目标平台代码的编写通常具有重大意义. 通过预定义宏,程序员使用"#ifdef"与"#endif"等预处理指令,就可使…
标准C语言预处理要求定义某些对象宏,每个预定义宏的名称一两个下划线字符开头和结尾,这些预定义宏不能被取消定义(#undef)或由编程人员重新定义.下面预定义宏表,被我抄了下来.__LINE__  当前程序行的行号,表示为十进制整型常量__FILE__  当前源文件名,表示字符串型常量__DATE__转换的日历日期,表示为Mmm dd yyyy 形式的字符串常量,Mmm是由asctime产生的.__TIME__ 转换的时间,表示"hh:mm:ss"形式的字符串型常量,是有asctime产…
列出预定义的 ANSI C和C++ Microsoft实现宏. 编译器识别预定义的ANSI C宏,并且Microsoft C++实现提供几个更多.这些宏不带参数,并且不能重定义.下面列出的某些预定义的宏定义与多个值.请参见下表.有关更多信息. ANSI兼容的预定义宏 宏 说明 __DATE__ 当前源文件的生成日期.该日期是窗体 Mmm yyyy的dd的字符串.月份名称 Mmm 与在库函数生成相同的日期.TIME.H.声明的 asctime. __FILE__ 当前源文件的名称.__FILE__…
编译器识别预定义的 ANSI/ISO C99 C 预处理宏,Microsoft C++ 实现将提供更多宏.这些预处理器宏不带参数,并且不能重新定义. ANSI 兼容的预定义宏 __FILE__,__LINE__,__func__,__DATE__,__TIME__,__TIMESTAMP__   1 . __FILE__,__LINE__,__FUNCTION__或者__func__ __FILE__:当前程序行所在源文件名称,标准C支持,该宏当做字符串对待: __LINE__:当前程序行所在源…
由于现在ARM处理器的飞速发展,从Apple A4到现在的Apple A7,从32位到64位,每一代处理器几乎都增加了不少特性,从而在架构上也有所不同.比如Apple A6引入了ARMv7S架构,增加了FMA(融合的乘加)以及FP16(IEEE754-2008中的16位浮点运算)操作(通过__fp16关键字来定义16位浮点变量):而Apple A7又开始支持了64位ARM架构,即AArch64架构.因此,我们在写一些代码的时候,尤其是写汇编的时候如何区分这些不同的架构呢? Unix/Linux体…
[xcode中的预定义宏] 1.SRCROOT,是定义本target的proj的路径. 2.OBJROOT,对象文件根路径,对象文件(即obj文件)就是中间的临时文件.中间文件输出目录的名字以“projectName"+"build"结尾. 对应:Build Locations -> Intermediate Build Files Path 3.SYMROOT,产品输出路径. 对应:Build Locations -> Build Products Path…
MSDN 里说,VC 有 3 个预处理常量,分别是 _WIN32,_WIN64,WIN32.这三个常量如何使用呢?看起来简单,其实是很困惑的. 在 Win32 配置下,WIN32 在“项目属性-C/C++-预处理器-预处理器定义”里声明了,而在 x64 配置下,这个常量并不在项目预定义列表中.这是否说明可以根据 WIN32 来判断是否在 x64 平台呢?不.在 Windows SDK 的 minwindef.h 下第 37 行有如下定义: #ifndef WIN32 #define WIN32…
目录 STM32F10xxx_Keil中添加的预定义宏 更新记录 STM32F10xxx_Keil中添加的预定义宏 更新记录 version status description date author V1.0 C Create Document 2018.10.15 John Wan status: C―― Create, A-- Add, M-- Modify, D-- Delete. Use Standard Peripheral Driver   在Keil MDK环境中使用STM32…
WIN32 是在windows.h 中定义的宏,包含winodws.h则定义该宏 _WIN32/_WIN64跟windows平台有关的宏,_WIN32在windows   32位和64位下都有该宏,_WIN64只在64位下存在该宏,所以_WIN32能够指代是windows平台 _MSC_VER  指的是  MS指的是Microsoft ,C指的C/C++编译器,VER指的是version MS VC++ 14.0 _MSC_VER = 1900 (Visual Studio 2015) MS V…
C/C++宏体中出现的#,#@,##: - #的功能是将其后面的宏参数进行字符串化操作(stringfication),就是对它所引用的宏变量通过替换后在其左右各加上一个双引号 -##被称为连接符(concatenator),用来将两个token连接为一个token.注意这里连接的对象是token就行,而不一定是宏的变量. 举例: Caffe中Layer的创建: #define REGISTER_LAYER_CREATOR(type, creator) \ static LayerRegiste…
project_name[right click] -> Properties -> C/C++ -> Preprocessor -> Preprocessor Definitions -> 添加一行TEST_DEFINE_STRING="bla-bla-bla"…
 可以用宏判断是否为ARC环境 #if _has_feature(objc_arc) #else //MRC #endif C中的预编译宏定义 -- 作者: infobillows 来源:网络 在将一个C源程序转换为可执行程序的过程中, 编译预处理是最初的步骤. 这一步骤是由预处理器(preprocessor)来完成的. 在源流程序被编译器处理之前, 预处理器首先对源程序中的"宏(macro)"进行处理. C初学者可能对预处理器没什么概念, 这是情有可原的: 一般的C编译器都将预处理,…
C++头文件中预编译宏的目的 eg: #ifndef _FACTORY_H_#define _FACTORY_H_......#endif //~_FACTORY_H_ 防止头文件被重复包含,导致变量或类型被重复定义…
写跨平台c/c++程序的时候,需要搞清各平台下面的预编译宏,区分各平台代码.而跨平台c/c++编程,GCC基本在各平台都可以使用.整理了一份各平台预编译宏的判断示例. 需要注意几点: * windows32/64平台_WIN32都会被定义,而_WIN64只在64位windows上定义,因此要先判断_WIN64 * 所有的apple系统都会定义 __APPLE__,包括MacOSX和iOS * TARGET_IPHONE_SIMULATOR 是 TARGET_OS_IPHONE 的子集, TARG…
作为Java初学者的我,提供一个类似C#的预处理机制.若有不足之处,敬请各位大佬指正(感觉没有,哈哈哈哈哈哈)! Java 没有类似 C++的宏,也没有类似C#的预定义 #if...#endif C#里的预定义使用方式有两步如下: A.在C#使用预定义时,一般可以在项目属性的[生成]--[常规]--[条件编译符号]处指定该变量,或者使用#define. B.再在使用处使用#if……#endif Java官方没有提供类似的机制. 鄙人,有个办法:在项目中添加一常量类,存储本系统用到常量,在此处设立…
C++系统预定义4个用于标准数据流对象 cin   cout   cerr   clog C++里关于cerr,clog,cout三者的区别: cerr(无缓冲标准错误)-----没有缓冲,发送给它的内容立即被输出 clog(有缓冲标准错误)--------有缓冲,缓冲区满时输出 cout-------------------------标准输出 联系:三个都是ostream类定义的输出流对象, cout是在终端显示器输出,cout流在内存中对应开辟了一个缓冲区,用来存放流中的数据, 但是当向c…
Intent intent=new Intent(LoginActivity.this, MainActivity.class);//显示意图启动,显示从一个activity到另一个activity, 隐示意图启动activity,不显示activity名字,而通过一个action或者category一个字符串,跨应用程序启动另一个应用程序的activity只能用隐示意图启动, Main.xml <LinearLayout xmlns:android="http://schemas.and…
问题背景是这样的,因为我要在文中插入一系列的图片,但是这些图片的大小我要保持一致,来达到预期的效果. 比如我有三个figure,这三个figure中,每个figure里面有两行,5列图片,我想要的是,这三个大图充满一页,自然而言就要调整图片的尺寸,但是实际上在用\includegraphics的时候,需要对每张图片进行设置尺寸,逐个调整就是需要修改2*5*3=30个参数 一种更简便的方法是通过在latex中定义宏变量,比如我想用一个变量代替数值,可以这样做 \newcommand{\mysize…
依赖于 GruntJs ~0.4.0 监控 JS 文件改变来运行预定义的Tasks Demo: watch: { scripts: { files: ['src/**/*.js'], tasks: ['jshint'], options: { spawn: false } } }, 引用: https://www.npmjs.com/package/grunt-contrib-watch…
1.启动浏览器 Intent intent = new Intent(); intent.setAction(Intent.ACTION_WEB_SEARCH); //可以传一个搜索关键字,会直接显示搜索结果页面.key是预定义的常量 // intent.putExtra(SearchManager.QUERY,"要搜索的内容"); startActivity(intent); Intent.ACTION_WEB_SEARCH 匹配的动作是网页/浏览器 如果是这样的Intent: In…
编译调试代码时,总是遇到要使用编译器预编译宏进行跨平台编译. gcc -E -dM -</dev/null 编译器版本 Thread model: posix gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.11) 结果 #define __SSP_STRONG__ 3 #define __DBL_MIN_EXP__ (-1021) #define __UINT_LEAST16_MAX__ 0xffff #define __ATOM…
在看"Inside COM"第10章的代码. MAKEFILE里面有几个标记我没看懂. 去网上搜也搜不到. /D_OUTPROC_SERVER_ /DWIN32 /DREGISTER_PROXY_DLL 后来突然想起有几个文件的编译依赖于预处理器的宏定义, 这尼玛不会是几个宏定义吧? 果然是... 这Microsoft编译器命令行的蛋疼格式: 为什么编译器选项和参数不用空格隔开呢? 这不容易导致歧义吗 /D选项的文档: https://msdn.microsoft.com/en-us/…
平台定义 UNITY_EDITOR 编辑器调用. UNITY_STANDALONE_OSX 专门为Mac OS(包括Universal,PPC和Intelarchitectures)平台的定义. UNITY_DASHBOARD_WIDGET Mac OS Dashboard widget (Mac OS仪表板小部件). UNITY_STANDALONE_WIN Windows 操作系统. UNITY_STANDALONE_LINUX Linux的独立的应用程序. UNITY_STANDALONE…
CUR_DIR = $(shell pwd) CFLAGS = -g -Wall GCC = gcc GXX = g++ TARGET = exe.out SRC_FILES += $(shell find $(CUR_DIR) -name *.cc) \ += $(shell find $(CUR_DIR) -name *.cpp) OBJS = fatal-impl.o log.o INCLUDE += -I. RM = rm -f LINK = CFLAGS = -DNS3_LOG_ENA…
Swift 中没有宏定义,苹果建议使用let 或者 get 属性来替代宏定义值.虽然没有#define,但我们仍然可以使用 #if 并配合编译的配置来完成条件编译.下面会列出Swift项目开发中的一些常用宏定义,并提供源码. 1.常用字体宏定义 import Foundation import UIKit /// 系统普通字体 var gof_SystemFontWithSize: (CGFloat) -> UIFont = {size in return UIFont.systemFontOf…
struct  hostent {   char    *h_name;        /* official name of host */   char    **h_aliases;    /* alias list */   int     h_addrtype;     /* host address type */   int     h_length;       /* length of address */   char    **h_addr_list;  /* list o…
1. UNAVAILABLE_ATTRIBUTE __attribute__((unavailable)) - (instancetype)init UNAVAILABLE_ATTRIBUTE; 告诉编译器该方法不可用,如果强行调用编译器会提示错误.比如某个类在构造的时候不想直接通过init来初始化,只能通过特定的初始化方法()比如单例,就可以将init方法标记为unavailable; 效果如下: 调用了会有警告 2. NS_ASSUME_NONNULL_BEGIN ,  NS_ASSUME_…
swift 与oc 不同,没有宏的定义就像 oc 可以这样写,直接调用: /* 默认颜色 */ #define RGBCOLOR_HEX(h) RGBCOLOR((((h)>>16)&0xFF), (((h)>>8)&0xFF), ((h)&0xFF)) #define RGBCOLOR(r,g,b) [UIColor colorWithRed:(r)/255.0f green:(g)/255.0f blue:(b)/255.0f alpha:1] #def…
如何使用宏来定义一个自定义函数呢?首先我们来看下面这段代码 #define SQUARE(x) x*x int main() { int a = 5; printf("SQUARE(a): %d\n",SQUARE(a)); //这个值为25 printf("SQUARE(a+1): %d\n", SQUARE(a + 1)); //第一反应是打印36,其实打印的是11 } 运行结果:为什么会出现这样的结果呢?原因是编译器在处理SQUARE(a+1)的时候,处理成了…