C
chuanshaoke
这个作者很懒,什么都没留下…
展开
-
堆(Heap)和栈(Stack)的区别
堆(Heap)和栈(Stack)的区别 1、 内存分配方面 堆:一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式是类似于链表。可能用到的关键字如下:new、malloc、delete、free等等。 栈:由编译器(Compiler)自动分配释放,存放函数的参数值,局部变转载 2012-03-30 01:02:24 · 394 阅读 · 0 评论 -
解析“extern”
解析“extern”源文地址:http://blog.csdn.net/keensword/article/details/401114#1、 声明外部变量现代编译器一般采用按文件编译的方式,因此在编译时,各个文件中定义的全局变量是互相透明的,也就是说,在编译时,全局变量的可见域限制在文件内部。下面举一个简单的例子。创建一个工程,里面含有A.cpp和B.cpp两转载 2012-06-20 23:51:40 · 291 阅读 · 0 评论 -
函数原型中的restrict关键字
函数原型中的restrict关键字分类: Linux 2010-08-24 11:24308人阅读 评论(0)收藏 举报 一个Linux C函数的原型如下:int pthread_cond_timedwait(pthread_cond_t *restrict cond, pthread_mutex_t *restrict mutex,转载 2012-07-05 17:35:03 · 627 阅读 · 0 评论 -
星号的秘密
星号的秘密转载于:http://blog.csdn.net/keensword/article/details/4005771、乘法运算符 2、定义指针int *p = 0; 还是 int* p = 0;?后一种比较容易这样理解:定义了一个变量p,它是指针型的(更详细一点,是指向int的指针型),相比而言,前面一种定义似乎是定义了*P这个奇怪的东西。但是后面一种转载 2012-06-20 23:53:13 · 374 阅读 · 0 评论 -
C语言字节对齐详解
C语言字节对齐详解2010年05月25日 星期二 21:20一、什么是对齐,以及为什么要对齐: 1. 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐 2. 对齐的作用和原转载 2012-07-06 17:11:03 · 397 阅读 · 0 评论 -
基于TMS320C62X DSP的混合编程研究
基于TMS320C62X DSP的混合编程研究2010年08月30日 星期一 18:56TMS320C62X是美国德州仪器公司(TI)的新一代高性能定点数字信号处理器(DSP)芯片。基于DSP的软件设计问题,就是采用编程语言进行算法 实现并使程序效率尽量满足实时性要求。TI DSP的软件设计可以采用汇编语言、高级语言(C/C++)以及C语言与汇编语言的混合编程。完全采用汇编语言编程复杂性高转载 2012-07-06 17:04:23 · 1348 阅读 · 0 评论 -
extern "C"的作用
extern "C"的作用2010年05月13日 星期四 17:48一、修饰名(Decorated Name)C/C++程序中的函数在内部是通过修饰名来标识的。修饰名是在函数定义或原型编译阶段由编译器创建字符串。当你在LINK等工具中要指定一个函数名时,会用到修饰名。1、使用修饰名:大多数情况下,你不必知道函数的修饰名是什么。连接器等工具通常都能处理函数未修饰的名字。然而,转载 2012-07-06 17:14:07 · 387 阅读 · 0 评论 -
字节对齐 详解
字节对齐 详解(2012-05-14 11:24:28) 标签:杂谈分类:UNIXFROM:http://blog.chinaunix.net/space.php?uid=16710665&do=blog&id=2737041一.什么是字节对齐,为什么要对齐? 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对转载 2012-06-29 15:17:01 · 454 阅读 · 0 评论 -
想成为嵌入式程序员应知道的0x10个基本问题
C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法。这些年,我既参加也组织了许多这种测试,在这过程中我意识到这些测试能为面试者和被面试者提供许多有用信息,此外,撇开面试的压力不谈,这种测试也是相当有趣的。 从被面试者的角度来讲,你能了解许多关于出题者或监考者的情况。这个测试只是出题者为显示其对ANSI标准细节的知识而不是技术技巧而设计吗?这是个愚蠢的问题吗?如要你答出某个字符的ASCI转载 2012-06-19 15:22:22 · 309 阅读 · 0 评论 -
关于C的0x8本“经书”[嵌入式必读]
在当今嵌入式“武林”中,流传着几本人人都想偷学几招的C语言的武功秘籍。这些秘籍都是旷世武学奇才耗尽毕生精力所著,部分秘籍流经数十载仍经久不衰,让它的无数实习者受益匪浅。 今天,承蒙武林大会所拖,在这公布这几本关于C的“经书”,让更多人实习之,练就一身绝世的嵌入式C语言好功夫。武功秘籍排行榜:1. The C programming language《C程序设计语言》2.转载 2012-06-19 14:24:38 · 351 阅读 · 0 评论 -
如何有效解决C与C++的相互调用问题
在实际工作中可能经常要进行C和C++的混合编程,C++调用C语言的代码通常都比较容易,但也有一些细节需要注意。C要调用C++的代码就略为麻烦一些,因为C不支持面向对象的特征。首先我们来看一下C++调用C语言的代码。要让你的C代码既能被C代码又能被C++调用虽说容易,但是还是有需要注意的地方。现有三个文件分别如下:/* file TestC.h */#ifndef TESTC_H#d转载 2012-03-15 20:51:44 · 277 阅读 · 0 评论 -
C语言嵌入式系统编程修炼之道
C语言嵌入式系统编程修炼之道 C语言嵌入式系统编程修炼之道——背景篇C语言嵌入式系统编程修炼之道——软件架构篇1.模块划分2.多任务还是单任务3.单任务程序典型架构4.中断服务程序5.硬件驱动模块6.C的面向对象化总结C语言嵌入式系统编程修炼之道——内存操作篇1.数据指针2.函数指针3.数组vs.动态申请4.关键字const5.关转载 2012-03-19 17:06:52 · 352 阅读 · 0 评论 -
C/C++ 笔试、面试题目大汇总
C/C++ 笔试、面试题目大汇总1.求下面函数的返回值(微软)int func(x) { int countx = 0; while(x) { countx ++; x = x&(x-1); } return countx; } 假定x = 9999。 答案:8思路:将x转化为2进制,看含有的1的个数。2. 什么是“引用”?申明和使用“引用”转载 2012-03-19 22:58:35 · 257 阅读 · 0 评论 -
C语言面试题大汇总
C语言面试题大汇总4. static有什么用途?(请至少说明两种)1.限制变量的作用域2.设置变量的存储域7. 引用与指针有什么区别?1) 引用必须被初始化,指针不必。2) 引用初始化以后不能被改变,指针可以改变所指的对象。2) 不存在指向空值的引用,但是存在指向空值的指针。8. 描述实时系统的基本特性在特定时间内完成特定的任务,实时性与可靠性9. 全局转载 2012-03-19 22:59:45 · 478 阅读 · 0 评论 -
右移赋值运算符 (>>=)
右移赋值运算符 (>>=)变量值右移表达式值所规定的位数,保持符号不变,并将结果赋给该变量。result >>= expression参数result任何变量。expression任何表达式。说明使用 >>= 运算符和使用下面的语句是等效的: result = result >> expression>>= 运算符把 result 的所有位向右移 exp转载 2012-03-20 00:49:11 · 1463 阅读 · 0 评论 -
嵌入式c语言的几个基本问题
C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法。这些年,我既参加也组织了许多这种测试,在这过程中我意识到这些测试能为带面试者和被面试者提供许多有用信息,此外,撇开面试的压力不谈,这种测试也是相当有趣的。从被面试者的角度来讲,你能了解许多关于出题者或监考者的情况。这个测试只是出题者为显示其对ANSI标准细节的知识而不是技术技巧而设计吗?这个愚蠢的问题吗?如要你答出某个字符的ASCII值转载 2012-04-06 17:44:25 · 262 阅读 · 0 评论 -
浅谈C语言嵌入式编程的若干性能优化方法
原作者:宋宝华 (yesky.com)使用宏定义 在C语言中,宏是产生内嵌代码的唯一方法。对于嵌入式系统而言,为了能达到性能要求,宏是一种很好的代替函数的方法。 写一个"标准"宏MIN ,这个宏输入两个参数并返回较小的一个: 错误做法:#define MIN(A,B) ( A 正确做法:#def转载 2012-04-06 17:46:02 · 408 阅读 · 0 评论 -
嵌入式C语言面试题
嵌入式C语言面试题1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到几件事情: 1). #define 语法的基本知识(例如:不能以分号结束,括号的使用,等等) 2). 懂得预处理器将为你计算常数表达式的值,因此,直接写出转载 2012-04-10 13:33:12 · 2908 阅读 · 0 评论 -
什么是字节对齐,为什么要对齐?
一.什么是字节对齐,为什么要对齐? 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。 对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据转载 2012-07-07 14:05:40 · 1652 阅读 · 0 评论