【VS开发】static、extern分析总结】的更多相关文章

const,static,extern 简介 一.const与宏的区别: const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量. 执行时刻:宏是预编译 ( 编译之前处理 ),const是编译阶段. 编译检查:宏不做检查,不会报编译错误,只是替换,const会编译检查,会报编译错误. 宏的好处:宏能定义一些函数,方法,const不能. 宏的坏处:使用大量宏,容易造成编译时间久,每次都需要重新替换. 注意:很多Blog都说使用宏,会消耗很多内存,我…
李洪强iOS经典面试题155 - const,static,extern详解(面试必备) 一.const与宏的区别(面试题): const简介:之前常用的字符串常量,一般是抽成宏,但是苹果不推荐我们抽成宏,推荐我们使用const常量. 执行时刻:宏是预编译(编译之前处理),const是编译阶段. 编译检查:宏不做检查,不会报编译错误,只是替换,const会编译检查,会报编译错误. 宏的好处:宏能定义一些函数,方法. const不能. 宏的坏处:使用大量宏,容易造成编译时间久,每次都需要重新替换.…
static 全局的,可以改的,如果在一个类中声明static,类中其他地方用到的时候,也是使用的改变量.和java类似,但不能用类名直接访问. const 是常量,不可以改的 extern 1.假如其他a类中已经声明了meString,你在另外一个b类中想使用这个变量,可以extern NSString* meString;会得到a类中同样的值,且可重新赋值.(参考点击打开链接 参考:点击打开链接 2.就是它的字面意思外部的,不是扩展,如果外部没定义是不能用的,当然还有一个其他用法extern…
const const意味着"只读",欲阻止一个变量被改变,可以使用const关键字 const仅仅用来修饰右边的变量(基本数据变量p,指针变量*p) define #define指令有三种用法: 第一种是定义标识,标识有效范围为整个程序,形如#define XXX,常与#if配合使用 第二种是定义常数,如#define max 100,则max代表100(这种情况下使用const定义常数更好,因为:const常量有数据类型,而宏常量没有数据类型.编译器可以对前者进行类型安全检查,而对…
A. extern函数 一个c文件生成一个obj文件   外部函数:允许其他文件访问.调用的函数(默认函数为外部函数),不允许存在同名的外部函数   my.c //define a extern function perfectly void extern testEx() { printf("my.c ==> call external function\n"); } main.c //declare the function first to apply the C99 co…
转载自:http://my.oschina.net/u/2560887/blog/552683 一.C语言中的static的作用 在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条. (1)第一个作用:隐藏. 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性.为理解这句话,我举例来说明.我们要同时编译两个源文件,一个是a.c,另一个是main.c. 下面是a.c的内容 #include<cstdio>增加这条语句 char a = ‘A…
在内核配置界界面,我们可以很容易的配置DDR的频率,300M OR 600M, so easy! 那么它是如何起作用的呢? 回想 RK30SDK开发板驱动分析(一) 末尾提到MACHINE_START是系统开始的地方,位于board-rk30-box.c ,注意里面有个函数rk30_map_io MACHINE_START(RK30, "RK30board") .boot_params = PLAT_PHYS_OFFSET + 0x800, .fixup = rk30_fixup, .…
变量和函数的属性包括数据类型和数据的存储类别,存储类别指数据在内存中存储方式(静态和动态),包含auto,static,register,extern四种. 内存中.具体点来说内存分为三块:静态区,堆区,栈区.外部变量和全局变量存放在静态区,局部变量存放在栈区,动态开辟的内存存在堆区. 一.简要性比较 extern   外部变量声明,是指这是一个已在别的地方定义过的对象,这里只是对变量的一次重复引用,不会产生新的变量. static   静态数据,数据存放在全局数据区,但作用域只是本 文件/函数…
引用请注明出处:http://blog.csdn.net/int64ago/article/details/7396325 对于写了很多小程序的人,可能static和extern都用的很少,因为static和extern通常在工程量很大时候才能体现优势很必要性,这就不奇怪linux内核代码中"泛滥"着这两个关键词,而且据我所知,这也是面试经常被问道的,因为这涉及到的底层多一点.下面,就我自己总结的几点简要谈谈: 一.c语言内存空间布局 下面是google上找的一张c内存布局图,我先基于…
1.extern extern在变量声明中有这样一个作用:你要在demo2.cpp中引用demo1.cpp中的一个全局变量,就要在demo2.h中用extern来声明这个全局变量(或者在demo1.h中声明,demo2.cpp中引入demo1.h). demo1.h代码: demo1.cpp代码: demo2.cpp代码: 2.static static的最主要功能是隐藏,其次因为static变量存放在静态存储区,它具备持久性和默认值0. 1.静态全局变量 在声明它的整个文件是可见的,而在文件之…