上一页 1 ··· 4 5 6 7 8 9 下一页
摘要: 嵌入式调试方法:1.模拟器。比如Qtopia Core可以用奇趣提供的Frame Buffer模拟工具qvfb,ARM硬件模拟可以用SkyEye开源项目。2.远程调试。调试器还在PC上,调试器与被调试的程序通过网络通信。3.通过LOG和Core Dump等文件事后分析。stdprm 标准打印机 LPT1端口stdaux 标准串行设备 COM1端口stdin并不一定来自键盘,stdout和stderr也并不一定显示在屏幕上,可以将它们重定向到其他设备或磁盘文件上。使用fprintf()时,第一参数推荐使用stderr而不要使用stdout,因为stderr的运行级要高一些,程序在异常退出时std 阅读全文
posted @ 2011-01-14 11:48 张朝阳 阅读(1007) 评论(0) 推荐(0) 编辑
摘要: 1.可以去这个上面下载boa-0.94.14rc18.tar.gz和cgic205.tar.gzhttp://labs.nevion.com/open-source/2.去Chinaunix上下载m4-1.4.13,bison-2.2和flex-2.5.33上面三个存在依赖关系,要依次安装./configuremakesudo make install当然如果你的网络很给力,sudo apt-get install bison flex是可以的如果不安装bison和flex,在编译boa时会出现如下错误 make: yacc:命令未找到 make: *** [y.tab.c] 错误 127 m 阅读全文
posted @ 2011-01-13 11:20 张朝阳 阅读(1597) 评论(0) 推荐(0) 编辑
摘要: 1.安装遵照不般的安装步骤:$./configure$make$su -c "make install"注意执行make install只有root权限才能把SQLite编译得到的文件安装到默认的目录/usr/local下。如果想更改安装路径可以用$./configure --prefix=/opt/SQLite其他的安装选项可以输入$./configure --help进行查看。2.检查一下所安装的头文件、库、可执行程序orisun@zcypc:~$ ll /usr/local/include/*sqlite*#Linux默认从/usr/local/include下去寻找 阅读全文
posted @ 2011-01-12 20:20 张朝阳 阅读(979) 评论(0) 推荐(0) 编辑
摘要: Linux内核模块是一种可被动态加载和卸载的可执行程序。通过内核模块可以扩展内核功能,内核模块通常用于设备驱动、文件系统等。如果没有内核模块,需要向内核添加功能就需要自发代码、重新编译内核、安装新内核等步骤。内核空间中不止一个程序试图访问驱动程序模块,导致一个内核块在没有被调用完毕之前又被其他程序调用,这称之炒代码的重入。因此在设计驱动模块的数据结构时要考虑数据结构在多线程环境下不被其他线程破坏,对于共享的数据应该采取加锁的方法保护。应用程序使用虚拟内存,有一个巨大的地址空间。而内核模块可以使用的内在非常小,所以编码时要注意内存的分配和使用。Printk是内核提供的打印函数,向终端输出打印信息 阅读全文
posted @ 2011-01-12 15:18 张朝阳 阅读(22325) 评论(0) 推荐(1) 编辑
摘要: 1.Win7下硬盘安装Ubuntu看我人人上2010/11/9写的日志《Win7下硬盘安装Ubuntu》http://blog.renren.com/blog/322837427/498838766?frommyblog2.解决语言支持和输入法的问题看我博客《ubuntu10.04下安装fcitx(解决候选字乱码问题)》http://www.cnblogs.com/zhangchaoyang/articles/1930852.html3.在shell中允许root登录sudopasswd root4.安装配置vim修改vim特性在.vimrc中:"自动缩进 setautoindent setc 阅读全文
posted @ 2011-01-10 17:32 张朝阳 阅读(677) 评论(0) 推荐(0) 编辑
摘要: 今天碰到一件很奇怪的事,事情是这样的。 按照天嵌教材上讲的,我把EABI包解压后修改PATH环境变量,在/etc/profile中加入下面一行 export PATH=”$PATH:/opt/EmbedSky/4.3.3/bin 注意我最后忘了加那个分号,结果的重启的时候,在登录页面输入用户名和密码登录不进去,它又回到了登录页面,周而复始... 原因:/etc/profile中是全局环... 阅读全文
posted @ 2011-01-10 17:26 张朝阳 阅读(551) 评论(0) 推荐(0) 编辑
摘要: .deb文件在ubuntu下直接双击即可安装软件.tar.bz2和.tar.bz2解压:tar jxvf FileName.tar.bz2压缩:tar jcvf FileName.tar.bz2 DirName.tar.gz 和 .tgz解压:tar zxvf FileName.tar.gz压缩:tar zcvf FileName.tar.gz DirName.zip解压:unzip FileName.zip压缩:zip FileName.zip DirName.rar解压:rar x FileName.rar压缩:rar a FileName.rar DirNamerar请到:http:// 阅读全文
posted @ 2011-01-10 17:21 张朝阳 阅读(1403) 评论(0) 推荐(0) 编辑
摘要: 1.首先把开发板的IP配置成和主机在一个局域网内(开发板的原始IP是192.168.1.6),这样主机就既能连网,又能连开发板了。#ifconfig eth0 192.168.0.102 netmask 255.255.255.0 up#route add default gw 192.168.0.1#ping -c 3 192.168.0.100 测试可以成功这个IP开发板不能保存,每次重启开发板时都做这项工作。事实上在开发板上操作:开始|EmbedSky|网络配置,就可以更改开发板的IP。所以把上面的命令写在shell文件里,每次开机执行一下shell文件就行了#!/bin/sh ifco 阅读全文
posted @ 2011-01-10 16:22 张朝阳 阅读(3519) 评论(1) 推荐(0) 编辑
摘要: 一、Linux主机上安装配置tftp1.安装 sudo apt-get installtftpd-hpa tftp-hpatftpd-hpa是服务端程序,tftp-hpa是客户端程序。开发板的Bootloaer上已经有了tftp-client,所只需要配置主机上的tftp。2.配置 sudo gedit/etc/default/tftpd-hpa #/etc/default/tftpd-hpaTFTP_USERNAME="tftp"TFTP_DIRECTORY="/opt/tftpboot"//填入你的tftp服务目录TFTP_ADDRESS="0.0.0.0:69"TFTP_OPTIONS= 阅读全文
posted @ 2011-01-10 09:33 张朝阳 阅读(4353) 评论(0) 推荐(0) 编辑
摘要: 使用管理员身份打开sudo gedit ~/.fcitx/config,发现该文件是乱码。ubuntu就算是安装时选择了中文,缺省值也不一定是中文。[注]~指当前路径,Terminal的默认路径是当前用户的主文件夹,即home/zcy。如果直接找到/.fcitx/config文件双击打开它不是以管理员身份,所以不能进行文件编辑。执行gedit --encoding gbk ~/.fcitx/config可解决文件乱码问题。将显示字体(中)=*改为:显示字体(中)=AR PL UMing CN #填你喜欢的中文字体$sudo apt-get install fcitx注:下载安装fcitx$su 阅读全文
posted @ 2011-01-08 18:58 张朝阳 阅读(2511) 评论(0) 推荐(0) 编辑
摘要: 窘况描述:1.PC上没有串口,并且主板上也没有预留增加串口的插孔2.虽然买了根USB转串口线,但是天嵌没有提供Windows7上的USB转串口驱动 (PS:今天才想起来,其实可以果断自己去网上下一个HL-340的驱动嘛)解决办法,用Linux,不需要另外安装USB转串口驱动!前提是你要先安装minicom输入命令:dmesg| grep usb,看到下图注意倒数第三行写着:usb2-10: ch341-uart converter now attached to ttyUSB0。现在你可以用ttyUSB0当串口了。安装minicom后重启你才能看到这句话。下面配置minicom.1.启动min 阅读全文
posted @ 2011-01-05 22:26 张朝阳 阅读(9456) 评论(0) 推荐(0) 编辑
摘要: 首先请区别一下Linux内核的编译和内核模块的编译。顶层Makefile文件(在源代码根目录下的Makefile文件)负责产生内核映像vmlinuz和模块。顶层Makefile根据内核配置,递归编译内核代码下所有子目录里的文件,最终建立内核文件映像。每个子目录下有个Makefile文件,根据上级目录的makefile配置编译指定的代码文件。这些Makefile使用.config文件配置的数据构建各种文件列表,最终生成目标文件或者内嵌模块。编译配置好之后,进入Linux源文件所在的文件夹使用make bzImage命令完成内核编译,此时会生成vmlinuz文件make modules编译内核需要 阅读全文
posted @ 2010-12-23 20:42 张朝阳 阅读(6464) 评论(0) 推荐(1) 编辑
摘要: 简单来说,在复制一个对象时并不是真的在内存中把原来对象的数据复制一份到另外一个地址,而是在新对象的内存映射表中指向同原对象相同的位置,并且把那块内存的 Copy-On-Write 位设为 1。在对这个对象执行读操作的时候,内存数据没有变动,直接执行就可以。在写的时候,才真正将原始对象复制一份到新的地址,修改新对象的内存映射表到这个新的位置,然后往这里写。这个技术需要跟虚拟内存和分页同时使用,其好处是在复制对象的时候因为并不是真的复制,而只是建了一个“指针”,因而大大提高性能。但这并不是一直成立的,前提是在复制新对象之后,进行的写操作只是在一小部分的内存分页上,大部分分页不会用到或者只是读取。不 阅读全文
posted @ 2010-12-23 11:26 张朝阳 阅读(1548) 评论(0) 推荐(0) 编辑
摘要: #include<stdio.h>#include<stdlib.h>#include<unistd.h>#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>#include<termios.h>#include<errno.h>#include<iconv.h> //编码转换#define STTY_DEV "/dev/ttyS0"#define BUFF_SIZE 512#define MSG_SIZ 阅读全文
posted @ 2010-12-22 22:00 张朝阳 阅读(6116) 评论(1) 推荐(0) 编辑
摘要: Minix进程表结构摘要:本文通过分析Minix3操作系统原代码,详细说明了与进程相关的数据结构,并在此基础上描述了Minix进程间通信和进程调度的完整过程。一些预备知识首先要明白MINIX3本身就是一组进程的集合。尽管系统任务和时钟任务被编译进了内核,但它仍然以一个独立的进程运行。include/minix/sys_config.h中定义了宏变量_NR_RPOCS指示控制进程表的大小,该值默认是64,如果用户想使用MINIX3作为一个网络服务器以便多个远程用户或者服务器进程能够并发执行,那么需要增加此常量的值。include/minix/type.h中定义了结构体kinfo,用来向系统的其他 阅读全文
posted @ 2010-12-04 21:33 张朝阳 阅读(4217) 评论(1) 推荐(0) 编辑
摘要: Minix文件系统框架摘要:本文介绍了Minix的文件系统框架,包括文件系统的布局、块高速缓存、目录管理和对文件的基本操作。文件系统布局一个Minix文件系统实体包含了i节点、目录和数据块。每个文件系统以一个引导块(bootblock)开始,其中包含可执行代码,其大小为1024字节(两个磁盘扇区)。启动计算机时硬件首先执行引导块中的代码,引导块则负责操作系统本身的加载。为防止硬件从非引导设备中启动,引导块的固定位置上有一个魔数(magicnumber),启动设备时硬件会检查该文件的引导块中是否存在该魔数。超级块(superblock)描述了文件系统的布局,它给出了文件系统各个部分的大小,其大小 阅读全文
posted @ 2010-12-04 21:31 张朝阳 阅读(6530) 评论(0) 推荐(0) 编辑
摘要: SSH实现Windows和Linux系统间的文件实现安全传输本例中使用Windows(ip:192.168.1.25)来做客户端,Linux(ip:192.168.1.26)来做服务器。在Linux中安装ssh服务,这里就不讲了。1.下载OpenSSH : http://sshWindows.sourceforge.net/ 并安装。默认安装目录为C:\Program Files\OpenSSH2.修改/home(根目录),在注册表中修改[HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/home]“native”=” 阅读全文
posted @ 2010-11-11 21:07 张朝阳 阅读(5392) 评论(0) 推荐(0) 编辑
摘要: CygwinCygwin功能强大的令我惊叹,它可将Linux下的自由软件移植到Windows系统上来应用!一、下载二、为你的Cygwin建一个目录,如D:\Cygwin三、点击setup.exe安装Install from Internet==>Root Directory选择D:\Cygwin,选择All Usres==>Local Package Directory是指你下载的安装... 阅读全文
posted @ 2010-11-11 20:25 张朝阳 阅读(19966) 评论(1) 推荐(1) 编辑
摘要: 看到这个题目,俗了,大家都在计算圆周率。不过咱们的目的是看一下并行计算的基本流程。书上计算PI用的是精确的数值计算方法,我这里再给出一种概率计算方法。OpenMP和MPI将同时亮相。计算PI的方法1.tan(PI/4)=1 => PI=4arctan1。知道arctan1转化为定积分的形式是什么吧。利用arctan(x)的幂级数展开式,可以手工地计算PI另外也可以采用正式手工计算PI#include<stdio.h>#include<time.h>#define N 1000000main(){ double local,pi=0.0,w; long i; w=1 阅读全文
posted @ 2010-11-07 19:29 张朝阳 阅读(10091) 评论(0) 推荐(0) 编辑
摘要: Dijkstra单源节点到其他所有节点的最短路径#include<iostream>#include<vector>#include<queue>#include<stack>using namespace std;const int INFINIT=32767;struct tableItem{ int prevIndex; int dist; bool found; tableItem(int p=-1,int d=INFINIT,bool f=false): prevIndex(p),dist(d),found(f){}};int main 阅读全文
posted @ 2010-11-03 22:04 张朝阳 阅读(520) 评论(0) 推荐(0) 编辑
摘要: 网络流要满足的条件:(1)除源source与汇sink外,其他节点上的注入必须等于流出;(2)各边上的实际流量不能大于容量。从源发出的实际流量总和(或者说汇收到的实际流量总和)等于网络的流量。 阅读全文
posted @ 2010-11-03 17:02 张朝阳 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 其实ubuntu下星际译王也不怎么好用,启动慢,词典不好管理。果断自己调用Google API做翻译工具,而且是在终端运行,快捷方便。(1)编译java程序时指定依赖的第三方jar包$ javac -cp /usr/local/lib/google-api-translate-java-0.4.jar MyTranslate.java-cp是在指定classpath事先下载google-api-t... 阅读全文
posted @ 2010-10-28 21:30 张朝阳 阅读(4793) 评论(0) 推荐(0) 编辑
摘要: 斐波那契数的计算公式是F(n)=F(n-1)+F(n-2),F(0)=F(1)=1任何递推的数学公式都可以直接翻译为递归的算法,于是递归的斐波那契数计算方法是这样的:int fib(int n){ if(n<=1) return 1; else return fib(n-1)+fib(n-2);}但是这样导致了大量的重复计算,造成时间和空间的极大浪费,如下图所示把递归的算法写成非递归的算法,子问题的答案记录在一个表里,这种技巧就是动态规划。在计算斐波那契数的时候我们只需要把F(n)和F(n+1)保留到计算出F(n+2)就可以了,不需要一直保存。改进后的算法如下:int fibonacci 阅读全文
posted @ 2010-10-22 11:33 张朝阳 阅读(1257) 评论(3) 推荐(0) 编辑
摘要: 现代的线程库允许不同的线程运行在不同的处理器芯片上,从而实现真正意义上的并行。换句话说,如果你的机子是单核的,用多线程也没不会提高执行效率。我的电脑是多核的,并行计算耗时0.56秒,但按照常规的串行计算方法只需要0.07秒。分析一下原因,在我的程序里计算200×300和300×200的两个矩阵的乘积,分了300个子线程去分头完成。线程数太多,每个线程的工作量太小,CPU把时间都花在线程调度上了,所以并行的结果反而还不如串行。并行程序代码:#include<stdio.h>#include<time.h>#include<pthread.h> 阅读全文
posted @ 2010-10-19 18:31 张朝阳 阅读(10636) 评论(4) 推荐(2) 编辑
摘要: C动态创建和释放二维数组#include<stdio.h>#include<stdlib.h>#define ROW 5#define COL 4main(){ int i; int **arr; arr=(int **)malloc(ROW*sizeof(int*)); for(i=0;i<ROW;++i) arr[i]=(int*)malloc(COL*sizeof(int)); printf("%d\n",arr[ROW-1][COL-1]); for(i=0;i<ROW;++i) free(arr[i]); free(arr);} 阅读全文
posted @ 2010-10-19 18:16 张朝阳 阅读(9568) 评论(6) 推荐(0) 编辑
摘要: 有两个程序:int i=10;int j=i+4;main(){}/***********************/int i=10;main(){static int j=i;}/************************/如果把文件命名为.c,用gcc去编译会出现“initializer element is not constant”错误。如果把文件命名为.cc,用g++去编译正确通过!我们知道静态变量(全局和局部的)、常量、全局变量存储在数据段(参见我的另一篇博客《Linux内存管理》),一个可执行文件(只是一个静态文件,还没有运行)有代码段、数据段和示未初始化数据段。计算机只会 阅读全文
posted @ 2010-10-17 21:16 张朝阳 阅读(2178) 评论(0) 推荐(1) 编辑
摘要: /**************************************************************************************************//***                                              ***//***                    文件管理命令               ... 阅读全文
posted @ 2010-10-17 14:38 张朝阳 阅读(637) 评论(0) 推荐(0) 编辑
摘要: Realize topological sort with adjacent matrix: 阅读全文
posted @ 2010-10-04 11:49 张朝阳 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 关于算术编码的介绍请见CSDN上Gjack的博客。http://blog.csdn.net/Gjack/archive/2010/01/15/5193754.aspx#include<iostream>#include<map>#include<string>#include<cassert>#include<utility>using ... 阅读全文
posted @ 2010-09-28 16:58 张朝阳 阅读(876) 评论(0) 推荐(0) 编辑
摘要: 输出所有给定单词所在的行号和该行的内容。用一个类来完成此功能TextQuery[代码]主函数[代码] 阅读全文
posted @ 2010-09-17 20:53 张朝阳 阅读(909) 评论(0) 推荐(0) 编辑
摘要: orisun@orisun-desktop:~/Program$size memory2text data bss dec hexfilename2074 284 16 2374 946memory2可以看到一个可执行程序在存储(没有调入内存)时分为代码区,数据区,未初始化数据区三部分。(1)代码区存放CPU执行的机器指令。通常代码区是共享的,即其它执行程序可调用它。代码段(code segment/text segment)通常是只读的,有些构架也允许自行修改。(2)数据区存放已初始化的全局变量,静态变量(包括全局和局部的),常量。static全局变量和static函数只能在当前文件中被调用 阅读全文
posted @ 2010-09-07 17:00 张朝阳 阅读(3906) 评论(2) 推荐(3) 编辑
摘要: 函数一:intrand(void);从srand(seed)中指定seed开始,返回一个范围介于[seed,RAND_MAX(0x7fff))的随机整数。默认情况下使用的是srand(1)。函数二:voidsrand(unsignedseed);参数seed是rand()的随机种子,即用来初始化rand()的起始值。for(inti=0;i<10;i++)cout<<setw(4)<<rand()%10;每次输出的都是:1740948824srand(1);for(inti=0;i<10;i++)cout<<setw(4)<<rand 阅读全文
posted @ 2010-09-01 20:59 张朝阳 阅读(561) 评论(0) 推荐(0) 编辑
摘要: 各种排序算法源代码,各种排序算法性能比较:直接插入排序,希尔排序,冒泡排序,快速排序,简单选择排序,堆排序,二路归并排序,STL排序算法 阅读全文
posted @ 2010-08-30 21:51 张朝阳 阅读(1936) 评论(0) 推荐(0) 编辑
摘要: const学习大总结1.constinti=8;常量在定义后不能更改,所以定义时必须初始化2.const对象默认为头文件的局部变量非const变量默认为extern。要使const变量能够在其他文件中访问,必须显式地指定它为extern。//file_1.ccintcounter;//file_2.ccexternintcounter;++counter;--------------------------------//file_1.ccexternconstintbufSize=fcn();//file_2.ccexternconstintbufSize;if(i<bufSize)插 阅读全文
posted @ 2010-08-30 15:10 张朝阳 阅读(442) 评论(0) 推荐(0) 编辑
摘要: 当你只需要找到最大最小值而不需要查找其他元素时,可以用二叉堆,不需要用用叉查找树。 Java版 java中的PriorityQueue就是个小顶堆(重写元素的compareTo方法可以轻易地改为大顶堆),但是它不能设置堆的最大容量,所以我自己实现了一个MinHeap。 C++版 <!--<br /> 阅读全文
posted @ 2010-08-26 21:42 张朝阳 阅读(751) 评论(0) 推荐(0) 编辑
摘要: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->//set是一个排序后的容器,该容器不容许重复.//map用来存储排序后的键值对,键必须唯一.//set和map支持在最坏情况下对基本操作insert,erase和find仅消耗对数时间.//相应的底层实现是平衡二叉树.典型的用法不是使用AVL树,而常常是使用自顶向下的红黑树.//set和map的每一个元素都是一个pair的实例. 1 #include<iostream> 2 #in 阅读全文
posted @ 2010-08-26 18:00 张朝阳 阅读(2423) 评论(0) 推荐(0) 编辑
摘要: 二分查找可以找到元素在数组中的下标位置,而查找树由于采用的是树结构,所以只能判断出元素是不是在树中以及给出最大/小值,而不能确定指定元素的确切位置。二分查找#include<vector>#include<iostream>#include<algorithm>#include<cstdlib>#include<iomanip> //cout格式化输出#include<ctime>using namespace std; const int NOT_FOUND=-1;const long MUL=16807L; const 阅读全文
posted @ 2010-08-26 11:45 张朝阳 阅读(3290) 评论(0) 推荐(0) 编辑
摘要: 首届 Google 暑期大学生博客分享大赛——2010 Android 篇android.location包下有这么一些接口和类:InterfacesGpsStatus.ListenerGpsStatus.NmeaListenerLocationListenerClassesAddressCriteriaGeocoderGpsSatelliteGpsStatusLocati... 阅读全文
posted @ 2010-08-14 17:39 张朝阳 阅读(25702) 评论(4) 推荐(1) 编辑
摘要: Button是事件源,当Click事件发生后Button把事件丢给监听器来处理。方法一下面的代码是最易懂,最直白的表示方法:[代码]我们自定义了一个类MyListener实现了Button.OnClickListener接口(因为重写了接口中的onClick方法),然后创建了一个MyListener实例ml,最后在按钮bt上安装ml监听器(也就是bt.setOnClickListener(ml)这... 阅读全文
posted @ 2010-08-10 20:05 张朝阳 阅读(3708) 评论(1) 推荐(1) 编辑
摘要: 看这么一个文件结构:[代码]上面出现的4个类都包含在包zcy.andrid中,但我们把3、7行的TextView类Button类称之为“直属”于包zcy.android,而14、18行的View和TextView类“直属”于zcy.android.widget包。如果我们另外新建了一个project,代码开头没有import任何包,而在代码中突然出现... 阅读全文
posted @ 2010-08-10 14:43 张朝阳 阅读(2828) 评论(1) 推荐(1) 编辑
上一页 1 ··· 4 5 6 7 8 9 下一页