- 博客(44)
- 资源 (4)
- 收藏
- 关注
原创 init 进程源码分析(2013-05-05)
1、android 的init进程主要提供4大功能: 1)分析及运行init.rc文件; 2)生成设备驱动节点(当应用程序访问设备驱动时); 3)处理子进程终止; 4)管理属性服务; 2、init.c 的main()分析:1)创建并挂载启动所需的文件目录. mkdir("/dev", 0755); // /dev 目录保存着硬件设
2013-05-05 20:01:36
814
原创 linux 进程学习体会——fork()
用程序验证红色字体理论:创建子进程 pid_t fork(void) //被调用一次,却返回两次,它可能有三种不同的返回值: //在父进程中,fork返回新创建的子进程的PID //在子进程中,fork返回0 //如果出错,fork返回一个负值 //用fork创建子进程时,子进程和父进程fork后面的代码是共享
2012-03-12 12:22:58
1008
1
原创 Linux中断处理体系结构
Linux中断处理体系结构 struct irq_desc 、 structirq_chip 和 struct irqaction 3个数据结构构成了Linux中断处理体系结构。下面分别介绍这3个结构:Linux内核将所有的中断统一编号,使用一个irq_desc结构数组来描述这些中断;每个数组项对应一个中断,也可能是一组中断,它们共用相同的中断
2012-03-07 11:12:34
603
原创 Linux环境变量的设置和查看方法
Linux环境变量的设置和查看方法1. 常用的环境变量: PATH 决定了shell将到哪些目录中寻找命令或程序 HOME 当前用户主目录 HISTSIZE 历史记录数 LOGNAME 当前用户的登录名 HOSTNAME 指主机的名称 SHELL 当前用户Shell类型 LANGUGE 语言相关的环境变量,多语言可以修改此环境变量
2012-03-05 17:39:36
765
转载 pthread_create函数编译时报错:undefined reference to 'pthread_create'
错误:pthread_create函数编译时报错:undefined reference to 'pthread_create'pthread_create()和pthread_atfork()函数使用时应注意的问题:源代码:#include void pmsg(void* p){ char *msg; msg = (char*)p;
2012-02-08 08:35:23
5485
转载 android.process.acore已意外停止
解决“android.process.acore已意外停止”有效解决方案1. 关机2. 先按住X键,然后按住电源键开机,不要松手,直至屏幕出现三角和叹号,这时就可以放开两个按键了3. 接着后先按住音量增大键,再按金色照相键(一定要注意顺序,不要同时按)4. 不出意外的话,这时机器已经进入了工程模式,大家可以看到四个选项5. 使用键盘方向键,选择第三个选项(回复出厂设置),确定即
2012-02-06 08:57:31
1253
原创 错误 no newline at end of file
gcc -o hello -c hello.c出现: warning: no newline at end of file解决办法: 在*.c文件最后面添加上一个回车,独立成一行。(在程序代码的最后面多敲一个空行,也就是说在右括号后打个回车键。因为gcc对你的源文件有要求,就是.c or .cpp文件后面要有一个空行)分析:
2012-02-02 14:12:14
1848
原创 error LNK2001: unresolved external symbol ___wargv uafxcwd.lib
出现如下问题:Error 1error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) already defined in LIBCMT.lib(delete.obj)uafxcwd.lib Error 2error LNK2001: unresolved external symbol ___
2012-01-12 16:27:35
3250
原创 error C3872: '0x3000': this character is not allowed in an identifier
编程时,出现如下的错误:Error 1 error C3872: '0x3000': this character is not allowed in an identifierError 2 error C3872: '0x3000': this character is not allowed in an identifier错误原因: 我当时是因为从
2012-01-09 15:52:41
1492
原创 C++ 学习笔记(2)
1、在windows程序中,经常会用到这种位标志标识符,如:style = CS_HREDRAW | CS_VREDRAW ; CS_HREDRAW = 0x0001 ; CS_VREDRAW = 0x0002;2、窗口过程函数:是一个回调函数。回调函数不是由该函数的实现
2011-09-14 20:39:04
402
原创 C++ 学习笔记
1、在MFC中,类的命名都以字母“C”开头。 2、无论全局变量、还是全局对象,程序在运行时,在加载main()之前,就已经为全局变量或全局对象分配了内存空间,对于一个全局对象来说,此时就会调用该对象的构造函数,构造该对象,并进行初始化操作。 3、在子类构造函数的执行过程,
2011-08-28 12:15:29
602
原创 LINK : fatal error LNK1168: cannot open Debug/Test.exe for writing
在学习VC++的时候,遇到的错误:LINK : fatal error LNK1168: cannot open Debug/Test.exe for writing解决办法: 打开任务管理器,将test.exe进程杀掉,然后重新编译链接,就可以了。
2011-08-28 09:26:43
20374
4
原创 μC/OS-II(1)
1、资源:任何为任务所占有用的实体都可称为资源。 2、共享资源:可以被一个以上任务使用的资源叫做共享资源。 3、任务切换(context switch):即CPU寄存器内容的切换。当多任务内核决定运行另外的任务时,它保存正在运行的任务的当前状态,即CPU寄存器中的全部内容,这
2011-07-27 20:31:26
652
原创 网络编程初步认识(一)
1、 Socket是连接应用程序与网络驱动程序的桥梁,Socket在应用程序中创建,通过绑定操作与驱动程序建立关系。应用程序送给Socket的数据,由Socket交给驱动程序,驱动程序向网络发送出去。计算机从网络上收到与该Socket绑定的IP地址和端口号相关的数据后,由驱动程序
2011-07-27 20:27:12
587
原创 线程同步—事件对象
1、事件对象3个成员: 1) 使用计数; 2)指定是自动重置事件对象还是人工重置对象; 3)指明是初始状态,是有信号状态,还是无线号状态; 2、事件对象类型: 1)人工重置事件对象; 2
2011-07-17 11:44:54
485
原创 C++ 线程同步(2011-07-12)
2011-7-7号说了,哪个程序有个Bug ,如果多个线程同时使用一个全局变量,那么久一定要考虑线程同步问题!!! 1、C++是利用互斥对象实现线程同步 1)互斥对象(mutex)包含一个使用数量,一个线程ID和一个计数器。ID用来记录当前哪个线程拥有互斥
2011-07-12 20:23:40
398
原创 线程的初步认识——2011-7-7
1、真正完成代码执行的是线程,而进程只是线程的容器,或者说是线程的执行环境。 2、当创建一个进程时,操作系统会自动创建这个进程的第一个线程,即主线程。 3、线程的组成: 1)内核对象:操作系统用它来对
2011-07-07 20:41:52
348
原创 程序命名规则
<br />1、文件名的匈牙利命名法。<br /> 文件的名称也应该遵循匈牙利命名法,其以“F”+名字(名字首字母大写)的形式出现。<br /><br />2、类命名。<br /> 类的命名用“C+类名“的方法命名,比如CComm 串口类,并且,类.cpp、.h文件应把C去掉后的类名来命名,比如上面的串口类文件应该为Comm.cpp和Comm.h,注意文件名的大小写应该跟类名保持一致。<br /> <br />3、函数的匈牙利命名法。<br /> 函数的命名不带前缀,函数中每一个单词的开
2011-04-29 11:56:00
548
转载 嵌入式行业发展正迎来黄金十年
<br /> 近日,应中国教育电视台的邀约,华清远见教育集团总裁季久峰先生接受了中国教育电视台“果实会客厅”栏目的专访。在本次四十分钟左右的访谈中,季久峰总裁应约畅谈了物联网产业及嵌入式行业的发展现状,并结合目前广受关注的大学生就业问题,分享了华清远见在专业培训领域内,经过七年的专注和努力打造而成的成功经验和教育理念。<br /> 主持人:请问嵌入式学院主要是进行哪方面的培养?<br /> 季久峰:我们嵌入式学院与传统意义的大学教育是有区别的,传统意义的学院都是学历教育为主,而嵌入式学院更关注于职业教育
2011-03-15 10:42:00
1916
原创 编译Linux内核时的错误 ——make ***No rule to make target 'uimage' .stop
<br />编译Linux内核的时候,出现如下错误:<br />make ***No rule to make target 'uimage' .stop <br /> <br />错误原因:是执行make uimage 的这条命令错误了,"uimage"这个单词的i必须大写I<br /><br /><br />正确命令是:make uImage 或者是 make zImage <br />
2010-11-10 10:46:00
10490
2
转载 “热门股”涨跌规律大揭秘:“馅饼”还是“陷阱”
连续两周跟踪结果表明:频繁“出没”于各大财经网站醒目位置的“热门股”不是不可参与,关键在于掌握规律—— 始于9月29日的这波反弹行情,至10月29日刚好满月。上证指数和深证成指分别以14.10%和19.10%的涨幅,为过去的17个交易日画上了圆满句号,也令不少投资者笑逐颜开。然而,沪深股市少见的短时间内的巨大涨幅,也令部分踏空或踏错节奏的投资者措手不及。在指数围绕3000点上下不断震荡、个股行情却此起彼伏的今天,不少投资者把目光投向了另一投资品种——上榜于各大网站财经频道显著位置上的“热门股”,希望通
2010-11-08 22:58:00
2247
转载 周立功——写给学单片机的年轻人
周立功——写给学单片机的年轻人珍惜求学机会<br /> 作为过来人思前想后,我感到完全有责任将发自心底的感受传递给年轻一代,“一个企业家心灵深处渴望优秀人才的卓越追求和深层次的叹息、痛苦和感受”。您们千万不要等到毕业求职时才觉得自己能力太差,世界上从来就没有后悔药。当然,如果您现在看了我写的这篇文章可能还不算晚,因为您还有机会在以后的岁月里奋起直追——“亡羊补牢,尤未为晚”。对于现在刚进入大学的学生,您应该更加珍惜这美好的求学机会,因为眨眼之间几年就过去了,您很快就会感到来自全社会生存竞争的压力,您面临的
2010-10-06 17:40:00
599
原创 实现虚拟Linux与Windows之间文件共享方法
实现虚拟Linux与Windows之间文件共享方法的操作步骤:1. 首先在windows系统下建一文件夹,最好英文名字,然后设置成共享模式(右击文件夹--属性--点击共享--选中“网络共享和安全”下的“在网络上共享这个文件夹” ,最后点击确定,可看到文件夹下出现了一只托着文件夹的手,表示成功)2.进入Linux,点击桌面面板上的places--Connect to Serrer,出现Connect to Serrer对话框,在Service type中选择Windows share,在Server中输入本机
2010-08-24 21:23:00
464
原创 2010-07-23 Linux C 进程通信编程
1、进程间通信的目的: (1)数据传输 (2)资源共享 (3)通知事件 (4)进程控制2、POSIX(Portable Operating System Interface ) 表示可移植操作系统接口。是由IEEE(Institute of Electrical and Electronics Engineer
2010-07-23 09:36:00
526
原创 2010-07-22 Linux C 进程编程
1、获取本进程ID pid_t getpid(void)2、获取父进程ID pid_t getppid(void)3、创建子进程 pid_t fork(void) //被调用一次,却返回两次,它可能有三种不同的返回值: //在父进程中,fork返回新创建的子进程的PID //在子进程中,fork返回0 //如果出错,fork返回一个负值
2010-07-22 16:41:00
396
原创 2010-07-21 Linux C 时间编程
1、格林威治时间 英语:Greenwich MeanTime,GMT)是指位于英国伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线。 GMT 是“Greenwich Mean Time”的缩写,中文叫“格林威治标准时间”,是英国的标准时间,也是世界各地时间的参考标准。中英两国的标准时差为8个小时,即英国的当地时间比中国的北京时间晚8小时。2、UTC(Coordinated Universal Time --协调世界时) 协调世界时是以原子时秒长为基础,在时刻上尽量接近于世界
2010-07-21 12:40:00
420
原创 2010-07-21 使用系统调用实现文件复制
<br />下面是使用系统调用了实现文件复制<br />#include <sys/types.h><br />#include <sys/stat.h><br />#include <fcntl.h><br />#include <stdio.h><br />#include <errno.h> <br />int from_fd,to_fd; <br />int bytes_read,bytes_write; <br />char buffer[BUFFER_SIZE]; <br />char *ptr
2010-07-21 10:05:00
424
原创 2010-07-20 文件编程 笔记
1、Linux中文件编程的两种方法: 1)Linux系统调用(依赖Linux操作系统) 2)C语言库函数(依赖Linux操作系统,在任何操作系统下,使用C语言库函数的操作都是一样)2、Linux系统调用: 1)创建文件 int creat(const char * filename
2010-07-20 21:04:00
489
原创 2010-07-19 GCC 笔记
<br />1、 Gcc(GNU C Compiler) 是GNU推出的功能强大的,性能优越的多平台编译器。<br />2、 GCC编译器能将C、C++语言源程序、汇编程序编译,链接成可执行文件。<br />3、Linux系统中,可执行文件没有统一的后缀,系统从文件的属性来区分可执行文件和不可执行文件。<br />4、GCC编译过程可以分为四个阶段:预处理,编译,汇编,链接。<br />5、GCC输入文件类别及后缀: <br /> 1)C语言源代码 *.c <br />
2010-07-19 23:13:00
310
原创 2010-7-16 Linux 的 Makefile 笔记
<br />Makefile <br />1、在Linux中使用make没了来编译程序,特别是大程序;而make命令所执行的动作依赖于Makefile文件。<br />2、<br />hello:hello.c<br /> gcc -o hello hello.c <br />新建一个Makefile,将上面的两行代码放到Makefile文件中;(注意:第二行必须以Tab键缩进开始,不能以空格)<br />3、make命令根据文件更新的时间来决定哪些文件需要重新编译,这使得可以避免编
2010-07-16 23:27:00
441
原创 2010-7-12 《嵌入式Linux应用开发》笔记
<br />第二章 嵌入式Linux开发环境构建<br /> <br />1、交叉开发模式:在主机上编辑,编译软件,然后在目标板上运行,验证程序。(主机指PC机,目标板指嵌入式设备S3C2440)<br />2、对S3C2440开发板,进行嵌入式LInux开发是可以分成三个步骤:<br /> 1)在主机上编译Bootloader,然后通过JTAG烧入开发板上;(JTAG(Joint Test Action Group ,联合测试行动小组 ) 是一种国际标准测试协议,主要用于芯片内部测试及对系统进行
2010-07-12 16:46:00
618
原创 Linux图形桌面窗口没有标题栏,不能移动,关闭,最小化的解决方法
<br />问题:<br />Linux图形桌面窗口没有标题栏,不能移动,关闭,最小化<br /><br />现象:<br />在安装了显卡驱动,或者是某些窗口管理软件,文件管理软件之后,就有可能出现这种情况。<br />也就是安装后所有打开的窗口都没有了标题栏,而且不能移动,关闭,最小化。<br />解决办法:<br />sudo metacity --replace (如果找不到这个命令,先安装: Debian下是:apt-get install metacity)<br />注销,登录,即
2010-07-11 21:13:00
10408
2
原创 安装显卡驱动和启动3D桌面的操作过程
<br />安装显卡驱动,启动3D桌面<br />显卡驱动安装方法<br />方法a、使用系统自带的硬件驱动<br />本方法适用于Intel显卡、集成显卡、老旧显卡、普通Nvidia和ATI兼容显卡;<br /> 如果你已经安装好 Ubuntu Linux 并且能使用图形界面的桌面,<br /> 请点击“系统”->“系统管理”->“硬件驱动”,会出现一个“搜索可用驱动”的进度条,<br /> 等待几秒钟之后,会弹出一个有显卡驱动列表的新窗口(以Nvi
2010-07-11 21:06:00
1911
原创 Linux 网络联网步骤
<br />下面是安装完Linux 后,联网的方法:<br /><br />华为802.1x认证上网<br />下载客户端h3c802.1xClient.tar.gz(我已经将这个客户端上传到优快云),解压到某一目录,(假定我放在桌面) <br />cd到桌面的h3c802.1xClient目录(chenxiangping@chenxiangping-laptop:~/Desktop/ h3c802.1xClient$ ),里面有三个文件需要可执行权限,分别是linux1x、pre.p
2010-07-11 13:56:00
1399
原创 2010-7-10 《嵌入式Linux应用开发》笔记
<br />第一章 嵌入式Linux开发概述 <br />1、嵌入式系统定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,对功能,功耗,成本,体积,可靠性有严格要求的专用计算机系统。<br />2、嵌入式系统特点:(1) 软硬件可裁剪 ;(2)对功能,功耗,成本,体积,可靠性有严格要求。<br />3、嵌入式技术发展历史。<br /> (1) 通用计算机系统与嵌入式计算机系统技术要求和技术发展方向的对比:<br />
2010-07-11 09:07:00
393
转载 —— 分析台湾和祖国的ECFA(经济合作框架协议)对产业的影响
<br /> ECFA若成功签署 将为多数产业带来机会<br />2010年04月01日09:01 <br />ECFA将会在经济上为两岸提供哪些新机会?进而会使哪些产业受益?接受中国经济时报记者采访的专家表示,ECFA若能成功签署,将会为两岸经济带来均等、共同的发展机会,在促进两岸经济融合的同时,其影响将涵盖两岸多数产业,确保受益产业的收益足以弥补受损产业的损失。可以带来更多经济发展机会是ECFA得以签署的前提条件之一,尽快在相关产业政策、产业标准的制定上达成共识将有助于ECFA的签订。<br />充
2010-07-03 23:31:00
1137
转载 《HP大中华区总裁孙振耀退休感言》——职业和生活
<br />HP大中华区总裁孙振耀退休感言 :<br /><br />如果这篇文章没有分享给你,那是我的错。 <br />如果这篇文章分享给你了,你却没有读,继续走弯路的你不要怪我。 <br />如果你看了这篇文章,只读了一半你就说没时间了,说明你已经是个“茫”人了。 <br />如果你看完了,你觉得这篇文章只是讲讲大道理,说明你的人生阅历还不够,需要你把这篇文章珍藏,走出去碰几年壁,头破血流后再回来,再读,你就会感叹自己的年少无知。 <br />如果你看完了,觉得很有道理,然后束之高阁,继续走进拥挤的地铁
2010-06-23 13:03:00
647
原创 C#错误------“检测到无法访问的代码”
<br />错误:警告 1 检测到无法访问的代码 E:/C#项目/数据库操作/数据库操作/Form1.cs 117 45 数据库操作<br />代码:<br />public string Choose(string a)<br /> {<br /> switch (a)<br /> {<br /> case "学号": return "number"; break; <br /> cas
2010-06-21 17:12:00
9361
原创 分治法求一组数据的和
利用分治法求一组数据的和int sum(int * a,int i,int j)// a 指向一个数组的首地址;i 为0 ;j为 n-1 ;n为数组元素个数 { if(i==j) return *(a+i); else if(i==j-1) return (*(a+i)+*(a+j)); else return sum(a,i,(i+j)/2)+sum(a,(i+j)/2+1,j); }这个算法采用二分法,当i==j 或 i==j-1 时表示分成的模块已经可以直接解决,不需要再分了。否则继续分
2010-06-17 21:46:00
3655
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人