- 博客(31)
- 收藏
- 关注
原创 嵌入式学习心得十---变量常量及其存放方式y
一:变量的三大特点:(1)变量的数据类型:主要说明变量占用内存空间的大小(2)变量的作用域:变量的有效性范围,即变量的使用范围(3)变量的存储类型:变量在内存中存储方式影响变量在内存中的生命周期二:在内存中;系统优先分配给内核 1G其次给用户空间(包括栈空间,堆空间。数据区,代码段)3G栈空间的工作特点:1,先进后出,2,系统管理用于存放局部变量的函
2016-11-30 17:05:07 587
转载 我遇到的一些问题的解决答案,有关于操作系统中的
:什么是中断?A:中断嘛,举个容易理解的例子吧。比如莲莲和唐唐在下象棋,眼看莲莲就快招架不住了,正当此紧要关头,唐唐的女友来了,非要唐唐陪她上街买衣服不可(唐唐晕倒:-) ),于是唐唐不得不同莲莲商量,先把棋盘封了,待买完衣服后继续战斗。掌灯时分,唐唐带着满脸疲惫回到了棋盘前,结果莲莲不费吹灰只力便反败为胜。这就是整个中断过程。我们来看看中断过程是如
2016-11-29 22:26:07 1233
转载 静态链接--空间和地址分配
多个文件链接在一起的时候,会做到相似段合并,数据段在一起,代码段在一起。这样能节省空间,对于x86的硬件来说段的装载地址和空间的对齐单位是页,是4096个字节,如果一个个段分开存放,会造成大量的内部碎片。链接器为目标文件分配空间和地址:【1】输出的可执行文件的空间【2】装载后的虚拟地址的虚拟地址空间a.c#include extern
2016-11-28 16:40:45 289
转载 scanf用法及其中的陷阱
函数名: scanf 功 能: 执行格式化输入 用 法: int scanf(char *format[,argument,...]);scanf()函数是通用终端格式化输入函数,它从标准输入设备(键盘) 读取输入的信息。可以读入任何固有类型的数据并自动把数值变换成适当的机内格式。其调用格式为: scanf("",);scanf()函数返回成功赋值
2016-11-27 22:14:40 430
原创 嵌入式学习心得(十)变量和常量以及内存
一: 变量和常量变量的三大特色:变量的数据类型: 主要说明变量所占用内存空间的大小变量的作用域: 变量的有效范围即变量的使用范围变量的存储类型:变量在内存中存储方式,影响变量在内存中的生存周期二:关于内存计算机的三大组成部分:cpu 硬盘,内存程序保存在硬盘中,进程是在内存中的,进程是程序被执行内存包括 1G给了内核,剩下的3G给
2016-11-27 00:00:28 653
原创 嵌入式学习心得(九)数据字节长度以及sizeof用法
一。bit (位) 字节 = 8 bit 字 = 4 个字节 = 32 bit 半字 = 2 个字节 = 16 bit 字节长度: 变量在内存中所占的存储空间的大小 数据类型 字节长度 char 1 short
2016-11-25 23:03:03 963
原创 排序
冒泡排序冒泡排序(Bubble sort)是一种交换排序。它的基本思想是:两两比较相邻记录的关键字,如果反序则交换,知道没有反序的记录为止。首先介绍一个简单版本的冒泡排序算法的实现代码。123456789101112// 冒泡排序初级版void BubbleSort0(SqList *L){ int i, j; fo
2016-11-24 22:08:31 401
转载 指针与数组
一、指针与地址机器的存储器通常由连续编号或连续编址的存储单元序列组成,这些存储单元可以以单个的或相连成组的方式操纵。指针由能存放一个地址的一组存储单元构成。一元运算符&用于取一个对象的地址。该操作符只能应用于内存中的对象(即变量和数组元素),它不能对表达式、常量和寄存器变量进行取址操作。一元运算符*用于间接寻址或间接引用运算符,当它应用于指针时,将访问指针所访问的对象。注意:指针只
2016-11-23 22:08:54 308
转载 C语言各种数据类型取值范围
char -128 ~ +127 (1 Byte)short -32767 ~ + 32768 (2 Bytes)unsigned short 0 ~ 65536 (2 Bytes)int -2147483648 ~ +2147483647 (4 Bytes)unsigned int 0 ~ 4294967295 (4 Bytes)long == intlong long
2016-11-22 22:12:52 766
转载 右左法则
C语言所有复杂的指针声明,都是由各种声明嵌套构成的。如何解读复杂指针声明呢?右左法则是一个既著名又常用的方法。不过,右左法则其实并不是C标准里面的内容,它是从C标准的声明规定中归纳出来的方法。C标准的声明规则,是用来解决如何创建声明的,而右左法则是用来解决如何辩识一个声明的,两者可以说是相反的。右左法则的英文原文是这样说的: The right-left rule: Start
2016-11-21 23:00:14 314
转载 底层理解c语言
要想深入理解C语言就不得不要知道几个知识点:1.众所周知用任意一高级语言(不是脚本语言)写的代码都要经过类似:预处理->编译成汇编代码(compilation)->汇编(assembly)->连接(linking)这样的阶段。其中预处理产生.i文件,compilation产生.s文件,assembly产生.o文件,最后连接才会产生可执行文件,.o文件中不同机器上是不同的,而Java的能够“
2016-11-20 22:15:52 10422 2
原创 关于c语言和其他编程语言的几点(一)
C语言是一种面向过程的面向结构的语言,主要是解决微观的问题。学习C语言的必要性是什么?首先,我们要知道所有的操作系统内核都是由C语言实现的。而且相比较其他语言而言:..C语言具有出色的可移植性,能在多种不同的体系结构的软硬平台上运行C语言具有简洁紧凑,使用灵活的语法机制,并能直接访问硬件C语言具有很高的运行效率但是 C语言也是有着缺点的复用性差维护性差扩
2016-11-19 23:05:20 470
原创 指针
指针是C语言中广泛使用的一种数据类型。运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构;能很方便地使用数组和字符串;并能象汇编语言一样处理内存地址,从而编出精练而高效的程序。指针极大地丰富了C语言的功能。学习指针是学习C语言中最重要的一环,能否正确理解和使用指针是我们是否掌握C语言的一个标志。同时,指针也是C语言中最为困难的一部分,在学习中除了要正确理解基本概念,还必须要
2016-11-18 22:51:07 355
原创 c语言学习心得(四)循环结构
循环结构是程序中一种很重要的结构。其特点是,在给定条件成立时,反复执行某程序段,直到条件不成立为止。给定的条件称为循环条件,反复执行的程序段称为循环体。C语言提供了多种循环语句,可以组成各种不同形式的循环结构。1) 用goto语句和if语句构成循环;2) 用while语句;3) 用do-while语句;4) 用for语句; goto语句以及用goto语句构成循环goto语句
2016-11-17 22:28:12 5196
转载 嵌入式学习心得(八)
socket类型:①。流式套接字(SOCK_STREAM)流式套接字可以提供可靠的,面向连接的通讯流,它使用TCP协议。②。数据报套接字(SOCK_DGRAM) 数据报套接字定义了一种无连接的服务,数据报通过相互独立的报文进行传输,是无序的并且不保证可靠 ,它用UDP协议。③。原始套接字(SOCK_RAM)原始套接字允许使用IP协议,主要用于新的网络
2016-11-16 22:24:50 432
转载 嵌入式C语言编程小知识
1. 流水线被指令填满时才能发挥最大效能,即每时钟周期完成一条指令的执行(仅指单周期指令)。如果程序发生跳转,流水线会被清空,这将需要几个时钟才能使流水线再次填满。因此,尽量少的使用跳转指令可以提高程序执行效率,解决发案就是尽量使用指令的“条件执行”功能。2. 在LPC2200系列中:可以通过过下面的程序延迟10毫秒:for(i=0;i {
2016-11-15 22:46:32 344
转载 100个经典的C算法
100个经典的C算法C语言的学习要从基础开始,这里是100个经典的算法题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?__________________________________________________________________程
2016-11-14 22:57:05 560
转载 Linux下C开发工具介绍
Linux操作系统下C语言编程入门--Linux下C开发工具介绍Linux的发行版中包含了很多软件开发工具. 它们中的很多是用于 C 和 C++应用程序开发的. 本文介绍了在 Linux 下能用于 C 应用程序开发和调试的工具. 本文的主旨是介绍如何在 Linux 下使用 C 编译器和其他 C 编程工具, 而非 C 语言编程的教程.GNU C 编译器GNU C 编译器(GC
2016-11-13 21:52:38 642
原创 嵌入式学习心得(七)
.gdb调试 + -g 选项gcc -g test.c -o testgdb test命令栏:1.run 运行2.list 3.quit (q)退出程序4.next (n)逐步执行,不进入子函数5.break + 行数 打断点6. print + 变量名 打印变量名7. continue 运行结束8.info break 查看断电信息9.
2016-11-12 23:03:00 860
原创 嵌入式学习心得(六)
gcc 编译多种语言,也是交叉平台编译器,不是与操作系统有关而是处理器,PC端一般的都是X86,体系编译器的编译过程:预处理,编译,汇编,链接预处理包括:头文件展开,宏替换,条件编译-E只进行到预处理的操作>重定向预处理的文件后缀为 . i“ ” 搜索路径: 现在当前的目录寻找,再到系统头文件目录寻找,找不到就报错注释的方法: #if0
2016-11-11 22:50:57 812
转载 java 心得
1.什么是软件?软件:一系列按照特定组织的计算机数据和指令的集合 常用的软件:系统软件 DOS windows Linux等 应用软件:QQ,微信等 软件的出现实现了人与计算机之间更好的交互交互方式 图形化界面:很容易上手的,GUI图像 命令行交互:需要控制台,输入特定的指令,让计算机完成一些操作,比较麻烦 2.CMD命令这里我列举一些常见的命令,大家以
2016-11-10 22:27:47 273
转载 大数据(二)
我的理解,数据一生应该是包含了三个阶段:收集,分析,最后是预测。我们总能根据现有的数据(或者经验)预测未来(预测的正确与否是另外一回事),当数据的量级小的时候,能预见的未来可能是模糊的;但当数据积累到一定的程度,你就可能真的能预测未来了。作者舍恩伯格列出了大数据时代的三个核心点:不是随机样本,而是全体数据,即全数据模式,样本=总体。在大数据时代,我们可以分析更多的数据,有时
2016-11-09 23:30:50 2097
转载 大数据
大数据,就是指种类多、流量大、容量大、价值高、处理和分析速度快的真实数据汇聚的产物。通常会需要考虑存储空间是、效率等问题。解决大数据问题一般主要的思想,1.文件切分,(将大文件切成若干个小文件进行处理),2.哈希切分,3.使用位图。以下通过几个实例来进行进一步分析:1、海量日志数据,提取出某日访问百度次数最多的那个IP。(或者:给一个超过100G的文件,文件中存放着iP
2016-11-09 23:27:51 315
转载 几种算法的总结
冒泡排序 对纵向排列的关键字序列,按照自下而上的扫描方向对两两相邻的关键字进行比较, 若为逆序(k_j 重复上述扫描排序过程,直至没有记录需要交换为止。public static void bubbleSort(int[] arr, int size) { boolean swap = false; for (int i = 0; i 1; i++) { //最多进
2016-11-08 22:04:51 299
原创 我的嵌入式学习心得(五)
int -----returnC语言编程中已知循环次数用 for 未知循环次数用whilevimrc配置时候 系统崩溃时使用:rm /etc/.vimrc.swp编程时应该注意的五个原则:(1)四字空格缩进(2)一行只允许定义一个变量(3)运算符两边要加空格(4)if for语句要加大㡁号(5)用英语来命名
2016-11-07 23:25:38 883
转载 嵌入式学习心得(四)
1.源程序的编译 在Linux下面,如果要编译一个C语言源程序,我们要使用GNU的gcc编译器. 下面我们 以一个实例来说明如何使用gcc编译器. 假设我们有下面一个非常简单的源程序(hello.c): int main(int argc,char **argv) { printf("Hello Linux/n"); } 要编译这个程序,我们只要在命令行下执行
2016-11-06 21:43:05 558
原创 嵌入式学习心得(三)
简单的linux 命令ls 显示当前目录下的内容touch 新建一个空的文件cat 一次显示文件,创建文件,N个文件合为1个mkdir 创建指定的名称的目录rm删除rm -rf 不经提示删除文件cd 切换当前目录cd ..返回上一级目录cp 复制文件或者目录mv 移动文件或者文件改名,pwd 查看当前工作目录的完整路径clear清除ifco
2016-11-05 23:17:45 561
原创 嵌入式学习心得(二)
C语言之父-----丹吉斯.里奇Linux与UNLX的发展过程中对我的影响:unlx在国外是一种商业开发的模板,对于Linux而言在当时有着无法比拟的优势,但是由于其付费模式的应用,是的不少人对于这种模式的反感,是的网络上出现了开源社区,而Linux就在这种环境中成长了,得益于GPL协议,不断地技术人员将改良后的可供开发人员使用的开源的Linux软件上传到开源社区中,是的其不断完善
2016-11-04 22:52:20 750
转载 我的C语言学习心得(三)
C程序的执行部分是由语句组成的。 程序的功能也是由执行语句实现的。C语句可分为以下五类:1) 表达式语句2) 函数调用语句3) 控制语句4) 复合语句5) 空语句1. 表达式语句:表达式语句由表达式加上分号“;”组成。其一般形式为:表达式;执行表达式语句就是计算表达式的值。例如:x=y+z; 赋值语句;y+z; 加法运算语句,但计算结果不能保留,
2016-11-03 21:40:20 650
原创 嵌入式学习心得(一)
首先我们要引入一个最为简单的概念,什么是嵌入式??如何将嵌入式用最简单的方式去告诉别人,告诉不知道的人如何将嵌入式的作用或者说不同于其他的系统开发模式相区别?嵌入式和单片机或者说与非嵌入式系统有着什么样的区别?其实我的答案是很简单的。所有的系统开发都是围绕着软件和硬件进行展开的,举例说,单片机是软件和硬件的点对点映射的话,那么嵌入式就是在中间加入了操作系统这一个环节,完成了软件和操作系统之
2016-11-02 23:43:02 2063
原创 我的C语言学习心得(二)
基本数据类型: 基本数据类型最主要的特点是,其值不可以再分解为其它类型。也就是说,基本数据类型是自我说明的。 构造数据类型: 构造数据类型是根据已定义的一个或多个数据类型用构造的方法来定义的。也就是说,一个构造类型的值可以分解成若干个“成员”或“元素”。每个“成员”都是一个基本数据类型或又是一个构造类型。在C
2016-11-01 20:36:25 577
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人