嵌入式C语言
Lixkey
嵌入式领域发展者android & 移动互联网
展开
-
C文件操作
文件文件的基本概念 所谓“文件”是指一组相关数据的有序集合。 这个数据集有一个名称,叫做文件名。 实际上在前面的各章中我们已经多次使用了文件,例如源程序文件、目标文件、可执行文件、库文件 (头文件)等。文件通常是驻留在外部介质(如磁盘等)上的, 在使用时才调入内存中来。从不同的角度可对文件作不同的分类。从用户的角度看,文件可分为普通文件和设备文件两种。 普通文件是指驻留在磁盘或转载 2014-03-18 16:34:52 · 732 阅读 · 0 评论 -
运行时环境
研究编译器运行时环境的几个问题:1,运行环境的限制是什么?2,如何使C和汇编一起工作?1,判断运行环境 方法:步骤一: 从编译器获取汇编语言代码列表。获取途径:UNIX系统中,编译器生成的*.s文件;Borland编译器生成的*.asm文件 步骤二: 阅读汇编代码,了解每条指令工作过程。工具:描述计算机指令集的手册1.1测试程序原创 2014-03-17 15:41:27 · 907 阅读 · 0 评论 -
预处理器(未完待续...)
预定义符号#define条件编译文件包含其他指令原创 2014-03-18 14:20:32 · 713 阅读 · 0 评论 -
C中的结构,联合,枚举(持续总结中...)
1.结构1.结构声明和定义及使用声明两种方法:struct x1{...}; 和 typedef struct{...} x2; //x1表示标签,实际上可以把struct和x1看成一个整体,表示这是一个结构标签,相当于整型类型第一个是声明一个结构标签,第二个是声明类型定义,也是类型重命名。主要区别 :第二个比较抽象,用户不必知道它是一个结构,声明它的实例是不需要使用str原创 2014-03-19 17:07:44 · 940 阅读 · 0 评论 -
宏定义和预编译 面试题总结
#include #include #define STRCPY(a, b) strcpy(a##_p, #b)int main(){char var1_p[20];char var2_p[30];strcpy(var1_p, "aaaa");strcpy(var2_p, "bbbb");STRCPY(var1, var2);STRCPY(var2, var1);printf原创 2014-03-15 16:09:49 · 958 阅读 · 0 评论 -
栈区和堆区内存分配区别
一直以来总是对这个问题的认识比较朦胧,我相信很多朋友也是这样的,总是听到内存一会在栈上分配,一会又在堆上分配,那么它们之间到底是怎么的区别呢?为了说明这个问题,我们先来看一下内存内部的组织情况.从上图可知,程序占用的内存被分了以下几部分.1、栈区(stack)由编译器自动分配释放 ,存放函数的参数值,局部变量的值等,内存的分配是连续的,类似于平时我们所说转载 2014-03-20 20:30:41 · 571 阅读 · 0 评论