- 博客(36)
- 资源 (22)
- 收藏
- 关注
原创 时间编程---那些年我们一起学习linux程序设计
时间编程时间类型(1)Coordinated Universal Tine(UTC):世界标准时间(即格林威治标准时间,Greenwich Mean Time,GMT)(2)Calendar Time:日历时间,是用“从一个标准时间点(如:1970年1月1日0点)到此时经过的秒数”来表示的时间。 时间获取#include time_
2012-05-31 15:06:53 758
原创 文件编程---那些年我们一起学习linux程序设计
一.Linux文件结构与UNIX一样,Linux环境中的文件具有特别重要的意义,因为它们的操作系统服务和设备提供了一个简单而统一的接口。在linux中一切皆文件。这就意味着,通常程序完全可以像使用文件那样使用磁盘文件、串行口、打印机和其他设备。1.目录 文件,除了本身包含的内容以外,它还会有一个名字和一些属性,即“管理信息”,例如文件的创建/修改 日期和它的访问权限等
2012-05-31 15:00:46 2898
原创 makefile 工程管理---那些年我们一起学习linux程序设计
一.为什么使用 makeLinux 程序员必须学会使用GNU make 来构建和管理自己的软件工程。GNU的make能够使整个软件工程的编译、链接只需要一个命令就可以完成。make工具可以解决重新编译所受改动影响的源文件带来的问题。 二.makefileMake在执行时,需要一个命名为Makefile的文件。Makefile文件描述了整个工程的编译,连接等规则。其中包括:1.工
2012-05-27 23:05:25 2783
原创 linux 下的编译器和调试器---那些年我们一起学习linux程序设计
GCC程序编译简介1. Linux系统下的gcc功能功能强大、性能优越的多平台编译器。Gcc可以在多种硬件平台上编译出可执行程序,其执行效率与一般编译器相比平均效率要高20%~30%。2. GCC编译器能将C、C++语言源程序、汇编程序编译、链接成为可执行文件。3. 在linux系统中,可执行文件没有统一的后缀,系统从文件的属性来区分可执
2012-05-27 16:46:48 1154
原创 shell 程序设计3--- 那些年我们一起学习linux程序设计
8.命令列表有时,我们想要将几条命令连接成一个序列。例如,我们可能想在执行某个语句之前满足好几个不同的条件,shell提供了一对特殊的结构,专门用于处理命令列表,他们分别是:AND列表和OR列表。虽然它们通常在一起使用,但我们将分别介绍它们的语法。AND 列表AND列表结构允许我们按照这样的方式执行一系列命令:只有在前面所有命令都执行成功的情况下才执行后一条命令。它的语法是:s
2012-05-27 15:54:40 745
原创 shell 程序设计2--- 那些年我们一起学习linux程序设计
四.shell 的语法接下来我们讲学习一下内容:& 变量:字符串、数字、环境和参数&条件:shell 中的布尔值&程序控制:if 、elif 、for、while、until、case&命令列表&函数&shell 内置命令&获取命令执行结果&here文档注释:在进行shell编程时,以#开头的句子表示注释,直到这一行的结束。如果使用了注释,即使相当长的时
2012-05-27 12:12:08 1032
原创 shell 程序设计1--- 那些年我们一起学习linux程序设计
我自己反省,每次我读书时所写的学习博客的收获和心得不应该以书名为题目1、2、3.....下去,这样别人不好读我的博客,又不便于我自己从题目一眼看到那次博客的内容,因为我自己的博客有时自己也很有用,需要重新复习或忘记的知识点往往需要从题目中需找到那次学习的内容,所以我从今改了,以博客内容为题目,文中在表明出处..... 我准备学习嵌入式驱动方面的知识了,但是我必须步步为营,把以前linux应
2012-05-27 12:02:25 1066
原创 学校的论文答辩---问题准备
论文答辩今天终于完了,我今年20多岁,可以说等今天等了20多年了吧....嘿嘿,开个玩笑昨晚到2、3点多钟都睡不着觉,不是因为今天答辩,是因为,冷热不是,盖被子太热,不盖被子又着凉....言归正传,说主题,我写这篇博文的目的是什么---纪念,纪念我们即将离开的大学,曾经的青春.....还有这个嵌入式项目---远程视频监控系统1.HTTP 是什么协议层?HTTP 是一个面向事务,无连
2012-05-25 23:34:22 3657 2
原创 作为程序员学习--"重要"之我见
“多读些书”比“读博客”重要;“读书之后有所总结、思考写成博客” 比 “单纯读大量的博客”重要;“读书的同时做些实践性的项目” 比“单纯看书”重要;“做完项目后写博客总结” 比“做项目本身”重要; ....(先写这么少吧)5.25添加:“对做过的程序、项目进行再次优化、维护、功能添加” 比“每次都费尽精力重新做另一个新项目”重要。
2012-05-24 12:26:56 1188 3
原创 H264编码器参数理解 (部分)“I帧”和“帧间距”等的理解
写作背景:最近在研究H264编码器的参数,里面的参数不太懂,其中包括:1) 30 # i intervals // I 帧间距2)30 # idr intervals// idr帧间距 3) 0 # b frame number between 2 p-frame(0, 1, 2)4). 0 # min qp //最小量化步长5). 51 # max qp//最大量
2012-05-23 10:28:44 45773 1
原创 关于《学习基于ARM平台的嵌入式系统》的收获和思考
原文来自 51CTO/COM:http://developer.51cto.com/art/201001/177713.htm收获:嵌入式系统的分层与专业的分类。嵌入式系统分为4层,硬件层、驱动层、操作系统层和应用层。1、硬件层,是整个嵌入式系统的根本,如果现在单片机及接口这块很熟悉,并且能用C和汇编语言来编程的话,从嵌入式系统的硬件层走起来相对容易,硬件层也是驱动层的基础,一个优
2012-05-21 21:33:02 2265 1
原创 Linux文件编程之--库函数pk系统调用函数
系统调用open () ,read(),write(),lseek();库函数fopen(), fread(),fwrite(),flseek();库函数1.fopen()函数函数功能打开文件头文件#include函数原型FILE *fopen(
2012-05-17 19:47:43 1146
原创 《大话数据结构》--学习笔记12 ***重点***
3.14 双向链表 生活中的双向链表,如图: 单链表总是从头找结点,难道就不可以正反遍历都可以吗?当然可以,只不过需要加点东西而已。 我们在单链表中,有了next指针,就使得我们要查找一下结点的时间复杂度O(n)了,因为我们每次都要从头开始遍历查找。 为了克服单向性这一缺点,出现了-----“双向链表”,就是在单链表的每个结点中,再设置一个指向其前驱
2012-05-17 17:54:50 888
原创 《大话数据结构》--学习笔记11 ***重点***
3.13 循环链表对于单链表,由于每个结点只存储了向后的指针,到了为标志就停止了向后链的操作,这样,当中某一结点就无法找到它的前驱结点了,就好像我们刚才说的,不能回到从前。 将单链表中终端结点的指针端由空指针改为指向头结点,就使整个单链表形成一个环,这种头尾相接的单链表称为单循环链表,简称循环链表。 循环链表的优点:解决了从当中一个结点出发,访问到链表的全部结点
2012-05-16 21:31:04 880 1
原创 《大话数据结构》--学习笔记10 ***重点***
3.10 单链表的整表删除当我们不打算使用这个单链表时,我们需要把它销毁,其实也就是在内存中将它释放掉,以便留出空间给其他程序员或软件使用。单链表的整表删除的算法思路如下:1.声明一结点p和q;2.将第一个结点赋值给p;3.循环: & 将下一结点赋值给q; & 释放p; & 将
2012-05-15 16:27:27 781
原创 《大话数据结构》--学习笔记9 ***重点***
3.9 单链表的整表创建单链表和顺序存储结构的区别:1.单链表不像顺序存储结构这么集中,它可以很散,是一种动态结构;2.对每个链表来说,它所占用空间的大小和位置是不需要预先分配划定的,可以根据系统的情况和实际的需求即时生成。 所建立单链表的过程就是一个动态生成链表的过程。即从“空表”的初始化状态起,依次建立各元素结点,并逐个插入链表。单链表整表创建的算法思路:1
2012-05-15 11:48:24 1095
原创 《大话数据结构》--学习笔记8 ***重点***
3.6.4 线性表链式存储结构代码描述单链表中,我们在C语言中可用结构指针来描述/*线性表的单链表存储结构*/typedef struct Node{ ElemType data; struct Node *next;}Node;typedef struct Node * LinkList; /*定义
2012-05-14 21:34:22 1193
原创 《大话数据结构》--学习笔记7
3.6 线性表的链式存储结构3.6.1 顺序存储结构不足的解决方法前面我们讲的线性表的顺序存储结构。它是有缺点的,最大的缺点是:插入和删除时需要移动大量元素,这显然需要耗费时间。能不能想办法解决?要解决这个问题,我们就得考虑一下导致这个问题的原因:为什么插入和删除时,就要移动大量元素,仔细分析,发现原因就在于相邻两元素的存储位置也具有相邻关系。它们的编号是1,2,3,...,n它们
2012-05-14 17:14:56 1190
原创 《大话数据结构》--学习笔记6
3.5 顺序存储结构的插入和删除3.5.1 获得元素操作对于线性表的顺序存储结构来说,如果要实现GetElem操作 【 即将线性表L中的第i个位置元素值返回】其实是非常简答的。就程序而言,只要i的数值在数组下标范围内,就是把数组第i-1个下标的值返回即可。来看代码:#define OK 1#define ERROR 0#define TRUE 1#defin
2012-05-14 15:41:28 756
原创 《大话数据结构》--学习笔记5
3.4 线性表的顺序存储结构3.4.1 顺序存储定义线性表的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素。线性表(a1,a2,a3,....,an)的顺序存储示意图如下:a1a2...ai-1ai...an3.4.2 顺序存储的方式线性表的顺序存储结构,说白了,就是---在内存中找了块地儿,
2012-05-14 13:57:28 698
原创 《大话数据结构》--学习笔记4
第三章 线性表3.3 线性表的抽象数据类型对于一个线性表来说,插入数据和删除数据都是必须操作。所以,线性表的抽象数据类型定义如下:线性表(List)Data 线性表的数据对象集合为{a1,a2,a3,...,an},每个元素的类型均为DataType。其中,除第一个元素a1外,每一个元素有且只有一个直接前驱元素,除了最后一个元素an外,每一个元素且只有一个
2012-05-14 13:01:35 714
原创 《大话数据结构》--学习笔记3
2.9 算法的时间复杂度2.9.1 算法时间复杂度定义 在进行算法分析时,语句总的执行次数T(n)是关键问题规模n的函数,进而分析T(n)随n的变化情况并确定T(n)的数量级。算法的时间复杂度,记作:T(n)=O(f(n)).它表示随问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称作算法渐进时间复杂度,简称为时间复杂度。其中f(n)是时间规模n
2012-05-13 14:54:10 994
原创 《大话数据结构》--学习笔记2
第二章 算法 2.2 “数据结构”与“算法的关系”简单的说:“数据结构”与“算法”的关系 --- 即:“梁山伯”与“祝英台”的关系把其中一方隔离出来唱独角戏....没意义! 2.3 两种算法的比较现写一个求1+2+3+......+100结果的程序,你应该怎么写呢?大多数人马上写出下面的C语言代码:int i, sum =0, n=100;for (i=1;
2012-05-13 12:44:37 847
原创 母亲节的想念
今天是2012年的母亲节,打开电脑,直接点击那首歌-----笔记...... 我看见天空很蓝 就像你在我身边的温暖 生命有太多遗憾 人越成长越觉得孤单 我很想飞 多远都不会累 才明白爱的越深心就会越痛 我只想飞 在我的天空飞 我知道你会在我身边 回忆的画面 记录的语言 爱始终是你手中长长的线 载着我的想念 飞过了地平线 你温
2012-05-13 10:05:49 720
原创 《大话数据结构》--学习笔记1
第一章 数据结构绪论 经典:if you give someone a program ,you will frustrate them for a day ; if you teach tem how to program,you will frustrate them for a lifetim.(如果你交给某人一个程序,你将折磨他一整天;如果你教某人如何编写程序,你将
2012-05-12 23:34:15 4859
原创 学习感悟-2012.5.11
在学习新的东西中收获我们想要的好的改变,又或者是自己意料之外好的改变,这也许就是不断去学习的给予我们的力量!也正是这种力量带领着我们不断的成长、进步!
2012-05-11 23:06:11 779 1
原创 wifi无线网卡(zd1211b芯片)移植到mini2440全过程(二)遇到的问题总结&&解决方案
遇到的问题一:应经做了步骤二:“下载到zd1211 firmware 1.4后,根据firmware的说明,将其中的zd1211_*文件拷贝到根文件系统/lib/firmware/zd1211目录中。”问题:执行命令:ifconfig wlan0 up 后,死活说找不到固件firmware,无法加载驱动所需的firmware文件zd1211b_ub ???但是我的这个文件已经放在了指定的/
2012-05-05 16:30:11 4007
转载 wifi无线网卡(zd1211b芯片)移植到mini2440全过程(一)
声明:本文参考自博文:http://www.360doc.com/content/11/0616/16/4591140_127391820.shtml#本文参考上面博文实验过程发现原文有一些问题, 遇到了自己的问题,有自己的解决方案和思考总结还有对原博文的一些质疑:特此在此基础上总结了无线网卡在mini2440上的移植过程为了保留原参考博文的作者的意思,我这里全部按原文顺序,其中扦插实验过
2012-05-05 13:00:44 3152
转载 两个经典的RGB与YUV转换函数
转自:http://www.cnblogs.com/chuncn/archive/2009/03/31/1425638.html两个经典的RGB与YUV转换函数#include "convert.h"// Conversion from RGB to YUV420int RGB2YUV_YR[256], RGB2YUV_YG[256], RGB2YUV_YB[256];
2012-05-02 20:23:54 4843
原创 不能放下的 & 放不下的
前天晚上劳动节期间学校1点钟关灯,我以为是平时11点关的,所以回来宿舍早了,便收拾了一下自己衣橱,把一些冬天的衣服给收拾放进皮箱。一件件的收拾,一件件的衣服、一点一滴的回忆,有些衣服是我妈还在时穿的,那是高中的吧....都是她给我买的,现在都已经短的短、有窟窿的有窟窿、最好的一件是给我织的毛衣,其实上一年都还在穿这些衣服的、今年冬天没有再穿了。想想起来觉着心酸、心酸的是没有达到我理想的状态,照顾好
2012-05-02 11:22:48 800
原创 C语言深度解剖(精讲版)——读书笔记25 &&自己的一些理解
第四章 指针和数组函数指针数组指针函数指针数组指针---用我的最后一个词为主语(用绿色标出)的方法(在C语言深度解剖(精讲版)——读书笔记18 &&自己的一些理解 讲有),还是指针;我们可以用这种一个个切割最后一个主语的方法来理解--函数指针数组指针=函数指针数组 + 指针 即:指向数组的指针 函数指针数组 = 函数指针 + 数组
2012-05-01 22:57:02 879
原创 C语言深度解剖(精讲版)——读书笔记24 &&自己的一些理解
第四章 指针和数组 一.函数指针数组现我们清楚表达式 char * (*pf)(char *p) 定义的是一个函数指针pf , 既然pf是一个指针,那就可以存储在一个数组里。把上式修改一下: char * (*pf [3]) (char *p) ;这是定义一个函数指针数组。它是一个数组,数组名为pf,数组内存储了3个指向函数的指针。这些指针指向一些返回值
2012-05-01 22:16:19 743
原创 C语言深度解剖(精讲版)——读书笔记23 &&自己的一些理解
第四章 指针和数组怪物!!?(*(void(*)())0)() 是不是觉得上一篇的函数指针太简单了,不够刺激?来点刺激的吧....(*(void(*)())0)() ;这是《C Traps and Pitfalls》这本书里的一个经典例子;没发狂吧,下面我们来分析分析:第一步:void(*)() 这是一个函数指针,这个函数没有参数,没有返回值;第二步:(void
2012-05-01 13:25:13 802
原创 C语言深度解剖(精讲版)——读书笔记22-函数指针
第四章 指针和数组 这篇文章写的不好,推荐另一篇好文章地址:http://www.cnblogs.com/gmh915/archive/2010/06/11/1756067.html函数指针一.函数指针的定义(按照我原来说的方法: 后面的那个词”作为主语的方法 C语言深度解剖(精讲版)——读书笔记18 &&自己的一些理解 博文有讲 , 函数指针:即指向函数的指针)看
2012-05-01 12:54:34 836
原创 C语言深度解剖(精讲版)——读书笔记21 &&自己的一些理解
第4章 指针和数组 一.一级指针参数1.能否把指针变量本身传给一个函数例:void fun(char *p){ char c= p[3]; }int main(){ char *p2= "abcdefg"; fun(p2); retrun 0;}这个函数调用真的把p2本身传递
2012-05-01 09:43:13 688
LPC1768例程
2013-06-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人