装完linux+winXP双系统后,在linux中挂载winXP分区,有乱码现象,应该是字符编码的问题.查查资料,解决如下:
linux下挂载FAT32分区或者挂在移动硬盘时中文会出现乱码的现象(表现为中文变成一连串的问号),这是因为编码格式的问题,linux内核中默认的编码格式是codepage=417、iocharset=ascii,经过实验可以通过下面的方式来加以解决。1、挂载时增加两个参数codepage=936、iocharset=utf8。这样挂载挂文件系统时会用上述的两个指定参数替换掉默认的编码参数从而解决乱码的问题。2、 重新编译内核,在File System->DOS/FAT/NT Filesystems中可以看到Default codepage for FAT和Default iocharset for FAT两个选项。分别修改成936和utf8。重新编译内核后用新内核启动系统,可以基本上永久解决乱码的现象。
******************************************************************
******************************************************************
既然有问题,那就继续深入了解一下codepage与iocharset吧,毕竟不懂就得学嘛
作者 FireMeteor参考资料:内核文档,mount的manpage。windows部分基本上凭自己的记忆--...

>> 阅读全文

原文地址: http://www.cnitblog.com/stonestar/archive/2006/10/04/17634.html
貌似在学习一种新的编程语言的时候,通常会使用一个Hello world!作为一个入门,今天我们也用一个类似的程序,打开进入linux内核空间的大门。 要在linux的内核空间中进行程序设计,需要准备哪些准备工作呢?首先你要有一个linux的开发环境:一个linux操作系统、一套linux内核源代码和编译环境。 操作系统目前可选择的太多了,各种各样的发行版应有尽有,你可以在distrowatch.com看到各个版本的信息。目前最为流行的是ubuntu,采用debian包管理,安装配置软件非常简便,建议使用官方发布的版本,开发linux2.6内核下的驱动最好使用这个版本,如果是开发linux2.4下的驱动建议采用redhat企业版。 linux内核源代码没有选择,你的驱动运行于那个linux系统下,你就要获得这个linux系统的内核源码。例如我们开发的驱动要运行在X86 ubuntu上,你就要获得这个ubuntu的源码,版本也要一致。驱动要运行在一个嵌入式linux单板上,你就要拿到这个单板所运行的linux的源码。绝对不能在kernel.org上随便下载一个内核,如果内核不匹配可能会出现意想不到的问题,例如什么printk overflow问题。 编译...

>> 阅读全文

tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西被键盘与显示器取代,所以现在叫终端比较合适。但是如果我们远程telnet到主机或使用xterm时不也需要一个终端交互么?是的,这就是虚拟终端pty(pseudo-tty)pts(pseudo-terminal slave)是pty的实现方法,与ptmx(pseudo-terminal master)配合使用实现pty。终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。tty是Teletype的缩写。Teletype是最早出现的一种终端设备,很象电传打字机(或者说就是?),是由Teletype公司生产的。在Linux系统的设备特殊文件目录/dev/下,终端特殊设备文件一般有以下几种:1、串行端口终端(/dev/ttySn)串行端口终端(Serial Port Terminal)是使用计算机串行端口连接的终端设备。计算机把每个串行端口都看作是一个字符设备。有段时间这些串行端口设备通常被称为终端设备,因为那时它的最大用途就是用来连接终端。这些串行端口所对应的设备名称是/dev/tts/0(或/dev/ttyS0), /dev/tts/1(或/dev/ttyS1)等,设备号分别是(4,0), (4,1)等,分别对应于DOS系统下的COM1、COM2等。若要向一个端口发送...

>> 阅读全文

金步国作品列表 http://lamp.linux.gov.cn/jinbuguo_florilegium.html
王垠的个人主页: http://docs.huihoo.com/homepage/shredderyin/

>> 阅读全文

http://blog.csdn.net/azheng270/archive/2008/01/17/2048232.aspx
堆和栈的区别 一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的 全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另 一块区域。 - 程序结束后由系统释放。 4、文字常量区 —常量字符串就是放在这里的。 程序结束后由系统释放 5、程序代码区—存放函数体的二进制代码。 二、例子程序 这是一个前辈写的,非常详细 //main.cpp int a = 0; 全局初始化区 char *p1; 全局未初始化区 main() { int b; 栈 char s[] = "abc"; 栈 char *p2; 栈 char *p3 = "123456"; 123456\0在常量区,p3在栈上。 static int c =0; 全局(静态)初始化区 p1 = (char *)m...

>> 阅读全文

http://blog.csdn.net/sooqing/archive/2007/07/06/1680707.aspx
static关键字至少有下列n个作用:  (1)函数体内static变量的作用范围为该函数体,不同于auto变量,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值;  (2)在模块内的static全局变量可以被模块内所用函数访问,但不能被模块外其它函数访问;  (3)在模块内的static函数只可被这一模块内的其它函数调用,这个函数的使用范围被限制在声明它的模块内;  (4)在类中的static成员变量属于整个类所拥有,对类的所有对象只有一份拷贝;  (5)在类中的static成员函数属于整个类所拥有,这个函数不接收this指针,因而只能访问类的static成员变量。const关键字至少有下列n个作用:  (1)欲阻止一个变量被改变,可以使用const关键字。在定义该const变量时,通常需要对它进行初始化,因为以后就没有机会再去改变它了;  (2)对指针来说,可以指定指针本身为const,也可以指定指针所指的数据为const,或二者同时指定为const;  (3)在一个函数声明中,const可以修饰形参,表明它是一个输入参数,在函数内部不能改变其值;  (4)对于类的成员函数,若指定其为const...

>> 阅读全文

我已经在嵌入式在线BLOG安家了,欢迎你时常过来做客,大家多多交流哦。我会把一些新鲜有趣的东西记录下来一块与你分享。也希望你记住我的BLOG地址,常来逛逛,你可以把“她”添加到你的收藏夹,也可以把“她”复制下来告诉你的朋友们。
快来免费注册吧,马上拥有自己的网络家园。
发布文章,分享相片,创建个性化的部落,结交嵌入式行业的网友……
嵌入你的生活,嵌入你的梦想!
我的BLOG地址: http://blog.mcuol.com/AT91RM9200

>> 阅读全文