- 博客(38)
- 收藏
- 关注
原创 win32masm 环境
需要5个文件:io32.lib,io32.inc,m.bat,ml.err,ml.exe建立win32 console application空项目,把*.asm加入project-->settings-->*.asm-->custom bliud||Commands:m $(InputName)Outputs:$(InputName).obj 准备好以后就和C语言一样了
2009-11-29 11:05:00
809
转载 设备驱动中环形缓冲区数据存储和读写同步的实现[转自:http://hi.baidu.com/whandsome/blog/item/3834e32a9994692cd52af1f9.html]
设备驱动中环形缓冲区数据存储和读写同步的实现先通过自定义数据结构,对缓冲区做几个基本的指针和参数进行定义:char * buffer_start, *buffer_end 指向buffer起始端和结束端的指针char *wp ,*rp
2009-09-21 17:03:00
850
转载 do...while(0)的妙用[转自:http://www.yuanma.org/data/2007/0209/article_2271.htm]
1. do...while(0)消除goto语句。通常,如果在一个函数中开始要分配一些资源,然后在中途执行过程中如果遇到错误则退出函数,当然,退出前先释放资源,我们的代码可能是这样:version 1bool Execute(){ // 分配资源 int *p = new int; bool bOk(true); // 执行并进行错误处理 bOk = func1(
2009-09-21 11:34:00
675
原创 ARMSYS2410-MULTIUAR 如何让系统启动时自动运行用户程序
如何让系统启动时自动运行用户程序 如果您希望系统启动时自动运行您的用户程序,则需要修改启动脚本文件rcS。进入ARMSYS2410-MULTIUAR的控制台,输入:cd /etc/init.dvi rcS 进入rcS文件,按PC机的 I 键进入编辑插入状态,在rcS文件里增加一行(可以添加到最后):Hello保存退出reboot观察串口的输出,系统启动后自动执行
2009-09-10 15:23:00
477
转载 ARM Linux开机后自动运行特定程序的方法[转载自:http://linux.chinaitlab.com/administer/744766.html]
开机后自动运行用户的应用程序或启动系统服务的命令保存在开发板根文件系统的/usr/etc/rc.local文件中。有的开发板开机后自动运行图形界面程序,需要按住ctrl+c让开发板进入到linux的SHELL提示符界面。其实可通过注释掉rc.local文件中调用图形界面的命令,增加运行用户应用程序的命令,达到开机自动运行用户应用程序的目的。 下面以我做的实验为例,描述具体的实现步
2009-09-10 14:14:00
1671
转载 安装arm-linux-gcc环境变量的设置[转载自:http://wenwen.soso.com/z/q30906555.htm]
1.export PATH=/usr/local/arm/2.95.3/bin:$PATH 2.PATH=$PATH:/usr/local/arm/2.95.3/bin 3.在出现pathmunge 的语句段后添加pathmunge /usr/local/arm/2.95.3(版本号)/bin; 以上3个其实都是一样的作用,都是通过改变PATH环境变量。不同的是:/etc/pr
2009-09-08 09:49:00
3282
原创 typedef 的优点
1.书写方便 typedef stuct student{...};2.使用时使变量的作用很明显,程序可读性强,例 int a,b; 不如写成 typedef int LENGTH,WIDTH; LENGTH x; WIDTH y; 好3.可移植性好,比如在甲机器上 int 为2位long 为4位,在乙机器上int 为4位, 把乙上的程序移植到甲上时,如果在此之前,乙上的程序是typed
2009-09-07 16:34:00
1317
转载 ARM与51通信【转自:http://www.ivchen.cn/read.php/183.htm】
一边是ARM板,另一边是51,两边都使用蓝牙模块,原理上等同于串口。虽然说起来这么简单,但动起来还是有些问题的,中间有几个小问题记下:1)S3C2410中没找到ttyS1,只有ttyS0,我用mknod也不行,郁闷死了。本就只用过串口0,没用过串口1。还以为板子有问题,跑开发板厂商上去看,上BBS一搜才知道原因。ttyS0也相当于一个快捷方式,实际上用的是 /dev/tts/0 1 2 三
2009-09-03 16:04:00
12300
转载 嵌入式linux WEB服务器BOA的移植方法 【转自:http://hi.baidu.com/549800946/blog/item/6f9a7b31d07268a05edf0ebf.html】
嵌入式linux WEB服务器BOA的移植方法2009年04月07日 星期二 16:10作者:李驹光、郑耿随着Internet技术的兴起,在嵌入式设备的管理与交互中,基于Web方式的应用成为目前的主流,这种程序结构也就是大家非常熟悉的B/S结构,即在嵌入式设备上运行一个支持脚本或CGI功能的Web服务器,能够生成动态页面,在用户端只需要通过Web浏览器就可以对嵌入式设备进行管理和监控,非常
2009-09-03 15:48:00
1504
转载 Linux文件权限[转载自:http://dengyin2000.javaeye.com/blog/444175]
Linux文件权限关键字: linux 引用-rwxrwx---第一个属性代表这个文件是目录,文件或链接文件: 1. 若为[d],则是目录. 2. 若是[-],则是文件. 3. 若是[l],则是链接文件. 4. 若是[b],则表示为设备文件建中可供储存的接口设备. 5. 若是[c],则表示为设备文件中的串行端口设备,例如键盘,鼠标. 接下来的属性3个为一组,且均为"rwx
2009-09-01 22:20:00
658
原创 VMware 下 物理机windows xp 和 虚拟机Redhat 9.0 之间通过 VMware tools共享文件的设置
VMware安装完成后, VMware Tools 默认是没有安装的,启动Linux后,在VMware 的状态栏提示WMware Tools is not installed on this guest. Choose “Install WMware Tools” from VM menu.(没有安装虚拟工具, 可以通过 [VM]->[ Install WMware Tools] 菜单来安装).
2009-09-01 20:58:00
1873
原创 VMware+Redhat9.0 串口配置
1.在Redhat9.0关机状态下,VM->settings ,添加一个串口COM12.开机,打开一个终端,在其中输入:minicom -s, serial port setup中 a:/dev/ttyS0 e:115200 8N1 f:no3.modem and dialing 清除A B K的值4.save setup as df15.
2009-09-01 20:45:00
816
原创 armsys2440+Redhat 9.0 的从nfs启动的配置
建立NFS开发环境 嵌入式linux的NFS开发环境包含着两个方面:一是linux server端的NFS Server支持;二是target board的NFS Client支持。 1.1 linux server端 1.1.1 以root的身份登录,编译共享目录的配置文件exports,指定共享目录及其权限。 #vi /etc/exports
2009-09-01 20:17:00
778
原创 在Rad Hat Linux下安装VMware Tools
VMware安装完成后, VMware Tools 默认是没有安装的,启动Linux后,在VMware 的状态栏提示WMware Tools is not installed on this guest. Choose “Install WMware Tools” from VM menu.(没有安装虚拟工具, 可以通过 [VM]->[ Install WMware Tools] 菜单来安装)
2009-08-30 21:01:00
1544
转载 使用Visual C++直接读写巨型数据的方法。
使用Visual C++直接读写巨型数据的方法。 在MFC的CFile类中提供了两个未载入文档的函数,其原型声明在AFX.H中。函数原型如下:DWORD CFile::ReadHuge(void FAR *lpBuffer,DWORD dwCount);void CFile::WriteHuge(const void FAR*lpBuffer,DWORD dwCount);
2009-08-27 21:30:00
1204
转载 Strchr()函数是用来判断一个字符是否在一个字符串中出现 strtok
给你个中文解释: #include函数strchr()在字符串中定位最后出现的某个字符,返回指向以该匹配字符开始的字符串的指针。 char* strchr(const char* str,wint_t c);在字符串str中查找字符c。 #include函数strtok()提取字符串中的记号。 char* strtok(char* str,
2009-08-27 21:29:00
1617
转载 CString、wchar和char类型的相互转换(转载)
CString、wchar和char类型的相互转换(转载)2009-03-03 23:131.头文件中要定义宏; #define UNICODE #define _UNICODE 2.char转换成wchar const char *pFilePathName
2009-08-27 21:27:00
494
转载 一位软件工程师的总结【转载】
一位软件工程师的总结【转载】 2009-04-09 09:24 | (分类:产业动态) 气风发、踌躇满志,不觉感叹万千……本文是自己工作6年的经历沉淀或者经验提炼,希望对所有的软件工程师们有所帮助,早日实现自己的人生目标。本文主要是关于软件开发人员如何提高自己的软件专业技术方面的具体建议,前面几点旨在确定大的方向,算是废话吧。 1、分享第一条经验:“学历代表过去、能力代表现在、学习力代表未来。
2009-08-27 21:26:00
466
原创 istringstream用法
istringstream用法 istringstream对象可以绑定一行字符串,然后以空格为分隔符把该行分隔开来。#include#includeusing namespace std;int main(){ string str, line; while(getline(cin, line)) { istringstream stream(l
2009-08-27 21:24:00
2663
转载 C/C++ 日期 时间 time_t与struct tm转换收藏
C/C++ 日期 时间 time_t与struct tm转换收藏 本文从介绍基础概念入手,探讨了在C/C++中对日期和时间操作所用到的数据结构和函数,并对计时、时间的获取、时间的计算和显示格式等方面进行了阐述。本文还通过大量的实例向你展示了time.h头文件中声明的各种函数和数据结构的详细使用方法。关键字:UTC(世界标准时间),Calendar Time(日历时间),epoch
2009-08-27 21:23:00
497
转载 内存分配
内存分配原文:http://biao3730.spaces.msn.com/PersonalSpace.aspx 1 栈结构分配(Frame Allocation)栈结构用于存放调用函数传递的参数和函数中的局部变量的内存块。编译器自动为堆栈分配和回收内存空间。堆栈有一定的作用域,当程序执行离开堆栈的作用域的时候,堆栈空间自动释放。 2 堆内内存分配堆是为了程序运行保
2009-08-27 21:22:00
395
转载 C语言中typedef的用法(转)
C语言中typedef的用法(转) 1. 基本解释 typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。 在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明。 至于typedef有什么微妙之处,请你接着看下面
2009-08-27 21:22:00
478
原创 C语言的各种格式化输出
C语言的各种格式化输出 双精度浮点(长双精度)型数据用%lf输出 短整型数据用%u输出 %d 有符号10进制整数 %i 有符号10进制整数 %o 有符号8进制整数 %u 无符号10进制整数 %x 无符号的16进制数字,并以小写abcdef表示 %X 无符号的16进制数字,并以大写ABCDEF表示 %F/f 浮点数 %E/e 用科学表示格式的浮点数 %g 使用%f和%e表示中的
2009-08-27 21:21:00
675
原创 volatile的作用
volatile的作用 一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子: 1). 并行设备的硬件寄存器(如:状态寄存器) 2). 一个中断服务子程序中会访问到的非自动
2009-08-27 21:21:00
394
原创 如果我们使用的整数常量超出了 int 的表示范围
5. long 型常量和 long long 型常量 一般来说,整数常量是被当作 int 类型来存储的。如果我们使用的整数常量超出了 int 的表示范围,C 语言规定编译器自动使用 unsigned int 来处理这个常量。如果 unsigned 也不足以表示这个常量的话,编译器就会用 long。如果还表示不了的话,那就依次用 unsigned long,long long,unsigne
2009-08-27 21:20:00
8311
原创 C 使用 int 类型来处理字符常量,而不是 char 类型
有趣的是,C 使用 int 类型来处理字符常量,而不是 char 类型。例如,在使用32位 int 的ASCII 系统中,以下代码 char ch = C; C 的编码值 67 被存储于 32 位的内存单元中;不过 ch 仍然存储于 8 位的内存单元中,只是它的值变成了 67。因此,我们可以定义形如 good 的古怪字符常量。因为每个字符
2009-08-27 21:20:00
2093
转载 两个大数相乘(转)C
两个大数相乘(转)C Question:(1),用一个整型数组表示一个大数,数组的每个元素储存大数的一位数字,则实际的大数d表示为: d=a[k]*10的k-1次幂+a[k-1]*10的k-2次幂+......+a[2]*10+a[1] 其中a[0]保存该大数的位数.(2),实现两个大数相乘.(3),再此基础上实现两个大数相除Solution
2009-08-27 21:19:00
2888
转载 C++ BigInterger(加减乘除)
C++ BigInterger(加减乘除)#include #include #include #include #include using namespace std;class DividedByZeroException ...{};class BigInteger...{ private: vector digits; bool s
2009-08-27 21:18:00
1261
原创 strtok
#include #include int main() { char *p; char str[100]="This is a test ,and you can use it"; p = strtok(str," ");
2009-08-27 21:17:00
345
原创 一道c的面试题,大数相乘(转)
一道c的面试题,大数相乘(转)这是我亲身经历的一个面试题目,并且表现的是整个面试里面最为糟糕的环节,令我十分恼火。回来以后我在tc2.0上写它,发现依然花费了我相当多的时间用于改错和调试(从这一点来看,我面试里的表现也算正常了)。尽管这个问题看起来是如此的简单。当然,这里面有我对c 和c++的生疏和不熟练也有很大关系,此外是对算法的学习和研究还没有完成,还处于一个准备阶段。题干:输入两个较大的
2009-08-27 21:15:00
1045
1
原创 Dijkstra重点看注意
/*要注意的地方有两个:1.如果是动态确定的数作数组大小,则需要动态申请内存!!!2.运行程序的时候严格按照输入的格式进行输入!!!*/#include #include #define MaxVertexNum 100 /*最大顶点数设为100*/#define INFINITY 10000 /*设置一个大于所有边权值的一个边界值*/typedef i
2009-08-27 21:15:00
363
转载 提取()内数据
提取()内数据 转载于优快云 suiyi2006 请教高手,我现在有多段数据。打算用C语言提取有用信息。 NAME: |SC301|CN1|MP1-MODN:105(%100.0)|AM5484|PC47|SN27|WD1.2|TA2.6|TR1138.3|FR299-302|RT4.9961|MN0.091|RA0.0739|IS67280|MO20: 105 120
2009-08-27 21:14:00
437
转载 LINUX启动过程详解[转载自http://roclinux.cn]
转载自http://roclinux.cn启动第一步--加载BIOS当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它。这是因为BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、PnP特性等等。在此之后,计算机心里就有谱了,知道应该去读取哪个硬件设备了。启动第二步--读取MBR众所周知,硬
2009-08-27 20:11:00
502
原创 PWM 及定时器(定时器初始化成自动装填)
涉及到的寄存器:TCFG0(DEAD ZONE ;PRESCALER1,PRESCALER0) TCFG1(DMA MODE;MUX4,3,2,1,0) TCON TCNTB0,TCMPB0,TCNTO0
2009-08-25 22:14:00
1271
转载 linux for arm的中断处理流程[转载自:http://hi.baidu.com/wudx05/blog/item/5314935c834f4e41fbf2c0dc.html]
linux for arm的中断处理流程2007-06-24 20:54Armor的中断向量表放在内存的什么位置?中断向量表放在arch/arm/kernel/entry-armv.S这个文件里 __vectors_start: #swi SYS_ERROR0 b vector_addrexcptn + stubs_
2009-08-23 09:40:00
880
转载 S3C2410的外部中断 [转载]
S3C2410的外部中断 [转载自:http://blog.youkuaiyun.com/denlee/archive/2008/06/24/2582406.aspx] S3C2410有24个外部中断引脚:EINT0~EINT23,但是对于EINT0~EINT3这4个外部中断而言,使用比较简单;对于其它20个而言,使用稍稍复杂一些。首先,来看S3C2410的中断控制器,有6个中断裁决器分为2级,第1级
2009-08-19 14:38:00
860
转载 s3c2410之clock [转载]
s3c2410之clock clock部分比较容易,现在按照datasheet的思路梳理一下。 一、对clock的基本认识 第七部分是“clock & power management”,总结如下: 1 s3c2410的clock & power management模块包含
2009-08-18 20:35:00
389
转载 写给C语言初学者的话【转载】
写给C语言初学者的话【转载】 写给C语言初学者的话 --www.chinaunix.net(ldap) 前些天我写了一篇“Unix C语言值得注意的地方”一贴,回贴中谈到学习国外的开源软件中的高质量代码的问题,但是有朋友跟我说,在看代码的过程中感觉
2009-08-18 20:32:00
383
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人