Linux
文章平均质量分 50
曾家河
一个执着于技术的爱好者,好好学习、稳步成长
展开
-
虚拟机安装redhat 9.0后,解决屏幕不能全屏以及避免鼠标来回切换的方法
这个问题我看了网上好多解决的方法都是修改什么XFree86文件。然后让你注销并重新启动。但是在不安装 Vmware Tolls,这是不可行的。所以我最后的解决办法是就是:安装Vmware Tolls虚拟机安装REDHAT9.0时,在状态栏中一直提醒你安装VMware Tools.因为虚拟机是默认使用自带的虚拟显卡,只有正确安装了VMware Tools后,才能在虚拟机中正确启动REDHAT转载 2011-10-21 14:19:21 · 6372 阅读 · 0 评论 -
栈中变量的存放-strcpy
函数形参和局部变量是保存在栈中的,而栈是从高地址向低地址扩展的。#include int main(void){char s[]="123456789";char d[]="123";strcpy(d,s);printf("%s,/n%s",d,s);return 0;}结果输出:123456789,56789。解析:栈是从高地址向低地址扩展的,因此先原创 2012-09-12 20:01:04 · 3049 阅读 · 2 评论 -
Linux 链表学习
对于链表,我想每一个程序员都很了解。结构就像一根链条一样,一节接一节,而对它的访问有点像冰糖葫芦,如果你要吃第二个,你必须先吃掉第一个。这就是单向链表。当然它也有更高级的,比如,循环链表,双向链表,双向循环链表。Linux内核的标准链表就是环形双向循环链表。 Linux中的链表有点特殊,它没有头节点,它的尾节点就直接指向首节点。于是构成了一个很大的环,所以每一个节点都是头节点,你可转载 2012-08-01 15:48:53 · 5014 阅读 · 0 评论 -
连接标准I/O的管道模型
管道在shell中最常见的应用是连接不同进程的输入输出,比如使A进程的输出变成B进程的输入等。考察shell命令“cat pipe3.c | more”,进程“more”使用了进程“cat pipe3.c”的输出。例1. 分别重定向标准输入、标准输出、标准错误输出到文件描述符fd1、fd2和fd3中。答:复制文件描述符fd1到文件描述符0中即可重定向标准输入,其它的类似,如以下语句所示:转载 2012-08-17 09:44:08 · 1103 阅读 · 0 评论 -
up与dup2函数介绍----转载
up与dup2函数介绍----转载dup和dup2也是两个非常有用的调用,它们的作用都是用来复制一个文件的描述符。它们经常用来重定向进程的stdin、stdout和stderr。这两个函数的 原形如下:#include int dup( int oldfd ); int dup2( int oldfd, int targetfd ) 利用函数du转载 2012-08-16 23:16:00 · 979 阅读 · 0 评论 -
虚拟机+ubuntu 图形界面和终端界面的切换
虚拟机环境,在图形界面和文本界面间切换:1 VMWare虚拟机下,由图形界面切换到文本界面,和虚拟机设置有关,默认VM占用Ctrl+Alt为热键,所以由图形界面切换到文本界面的组合键为: Ctrl+Alt+Shift+F(n) ,其中F(n)为F1-F6 ; 由文本界面切换回图形界面的组合键为: Alt+F7 ; 在文本界面不同控制台界面之间切换: Alt+F(n) , 其中F原创 2012-08-15 16:41:30 · 16611 阅读 · 1 评论 -
80x86为什么要求数据段的起始地址必须为16的倍数?
计算机的内存管理单元是以“字节”为最小单位进行线性编址的,字节是80x86CPU对内存管理的基元。为了标识每个存储单元,就给每个存储单元规定一个编号,该编号就是内存单元的物理地址。存储单元的物理地址是一个16位的二进制数,物理地址通常采用16进制书写。16位CPU内部拥有20根地址线,它的寻址范围就是2的20次方,也就是1M的内存空间。但是16位CPU存放存储单元偏移量的寄存器(IP,原创 2012-07-30 22:12:54 · 5826 阅读 · 0 评论 -
linux 根目录存储空间不够
首先你要关掉系统,把分配的硬盘空间变大,或者重新建立一个虚拟硬盘(这时下面的就不是sda了,而是sdb1了)。这两种方法都可行,我都试过了。其次用root用户登录到你的linux系统,查看你系统的分区 #fdisk -l 会出现以下的信息: Device Boot Start原创 2012-07-26 16:08:40 · 17684 阅读 · 2 评论 -
一个函数判断你的计算机是小端存储还是大端存储
今天看unix网络程序设计看到一个小程序,很受启发。int check_cpu(){union{short a;char b;}c;c.a=1;return c.b == 1;}如果是小端存储返回1,大端存储返回0.感觉这个函数很巧妙,利用union的特点,来判断内存的存储形式。union用途:是不同类型的变量占用同一内存;结构体长度:等于最长的原创 2012-05-21 17:37:22 · 3729 阅读 · 0 评论 -
一个简单的内核模块编写到测试的全过程testmodule 之内核版本2.4.20.8
一个简单的内核模块编写到测试的全过程。由于是初学者,第一次接触内核模块编写,所以今天花了5个小时才完全搞通。本文针对的linux内核版本号是:linux-2.4.20.81. 模块程序的编写建立testmodule.c 文件,输入以下代码#ifndef __KERNEL__#define __KERNEL__#endif#ifndef MODULE#defi原创 2011-11-17 19:53:35 · 1940 阅读 · 0 评论 -
内核符号表解释
本文是摘抄而来,看里面的理解对自己的学习帮助很大所以摘抄而来,供自己以后学习参考之用!在编写驱动的过程中,常会使用到EXPORT_SYMBOL宏来将定义的函数名导出到内核符号表。以前只是简单的知道如果一个模块中定义的函数要提供给其他模块调用,就必须进行导出。这段时间在编译单个模块的时候,因为没编译成功造成了函数没定义而报警的情况,因此让我有一个机会对内核符号表的问题进行了一个深入的学习和认识。转载 2011-11-16 19:31:00 · 604 阅读 · 0 评论 -
shell中的cut命令
cut是以每一行为一个处理对象的,这种机制和sed是一样的。(关于sed的入门文章将在近期发布)2 cut一般以什么为依据呢? 也就是说,我怎么告诉cut我想定位到的剪切内容呢?cut命令主要是接受三个定位方法:第一,字节(bytes),用选项-b第二,字符(characters),用选项-c第三,域(fields),用选项-f3 以“字节”定位,给个最简单的例子?举个转载 2011-10-24 14:08:31 · 526 阅读 · 0 评论 -
Video4Linux
找了一篇比较入门的文章,记在这里,以作日后复习和了解!感觉对于初学者还是很不错的。。原文:http://hi.baidu.com/xiaojian009/blog/item/99a0610876cacd35b1351d26.html前言:目前正在忙于ARM平台的Linux应用程序的开发(其实是刚刚起步学习啦)。底层的东西不用考虑了,开发板子提供了NAND Bootloader,和L转载 2012-09-20 19:28:11 · 744 阅读 · 0 评论