`
文章列表
无法创建快速启动栏 在开始菜单 “运行”中输ie4uinit.exe   快速启动创建显示桌面 两种方法: 1):点击"开始"->"运行"输入"regsvr32 /n /i:u shell32"回车 在弹出框点“确定”,快速启动栏里的“显示桌面”又回来啦 注:32后面有个空格 2):打开“记事本”: 把下面内容复制上去: [Shell] Command=2 IconFile=explorer.exe,3 [Taskbar] Command=ToggleDesktop 然后,文件→另存为→文件名→“显示桌面.SCF ...
/*  * 字符串分解函数。注意strtok比较复杂。要妥善运用!  * 也可以不用strtok函数,但要实现字符串靠字符串分割比较困难!  * 注意str指向的空间必须是可读可写的(如数组或动态分配的空间),  * 不能为字符串常量的指针,因为strtok改变了其中的内容。  */ #include <stdio.h> #include <string.h> /* * 功能:将str中的字符串按照elemone,elemtwo分割, * 注意分隔符的顺序从后至前,原因在strtok上 * strtok会改变str中的数据! * ...

组文件

Linux中的组文件为/etc/group 写道 [canlynet@dc ~]$ head /etc/group root:x:0:root bin:x:1:root,bin,daemon daemon:x:2:root,bin,daemon sys:x:3:root,bin,adm adm:x:4:root,adm,daemon tty:x:5: disk:x:6:root lp:x:7:daemon,lp mem:x:8: kmem:x:9:   看/usr/include/grp.h中的定义: /* The group structure. */ struct group ...
 ========================= 实验平台:Fedora 11 Linux平台信息: [canlynet@dc include]$ uname -a Linux dc 2.6.29.4-167.fc11.i686.PAE #1 SMP Wed May 27 17:28:22 EDT 2009 i686 i686 i386 GNU/Linux  =========================   Linux系统运行时需要大量数据文件提供配置等信息。由于历史原因,这些文件都是ASCII文本文件(也就是可以用vim查看)。 Linux系统的口令文件为/etc/ ...
一、注意缓冲类型:全缓冲、行缓冲和不带缓冲。 1.标准出错流stderr通常是不带缓冲的。 2.涉及终端设备的流,比如stdin,一般是行缓冲的。 3.其它情况都是全缓冲。 可以更改缓冲类型,通过setbuf和setvbuf函数。 可以 ...
在c语言编程时,core文件可以帮助我们查找内存原因引起的程序故障。 我们先看看如下英文并翻译: 引用In computing, a core dump consists of the recorded state of the working memory of a computer program at a specific time, generally when the program has terminated abnormally (crashed).[1] In practice, other key pieces of program state are usually dum ...
引用大家注意!这篇文章的思考有问题。当dest < source的时候,采取从高位向低位赋值,是有问题的,如果dest+count-1 > source && dest < source的情况。 先看实现: void* memcpy(void* dest, void* source, size_t count) { void* ret = dest; //copy from lower address to higher address while (count--) *dest++ = *source++; return ret; ...
引用 ...     ext2文件系统采用的索引节点(inode):     索引节点采用了多重索引结构,主要体现在直接指针和3个间接指针。直接指针包含12个直接指针块,它们直接指向包含文件数据的数据块,紧接在后面的3个间接指针是为了适应文件的大小变化而设计的。 ... 根据http://linux.chinaunix.net/techdoc/beginner/2007/12/06/973887.shtml的讲解,我制作了一张图片,更直观的描述一下索引结构怎样决定了单个文件的存储大小:
【转载自】http://blog.csdn.net/aaa6695798/archive/2009/12/22/5057476.aspx 由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这个原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个 FIN只意味着 ...
linux中的信号是一种异步通信,所谓“异步”,就是指这个事件发生的时间是无法确定的,他有可能在任何时刻发生。 之所以把标题写成“进程排队问题”,是我对我要提到的问题的思考而已,如果有高人能否决我的观点,我诚心接受。 请看如下c程序: #include <stdio.h> #include <stdlib.h> //exit() is used #include <string.h> #include <signal.h> #include <unistd.h> int wait_mark = 1; //if == ...
下述段落摘自:http://linux.chinaunix.net/techdoc/net/2009/06/15/1118762.shtml 引用 【三次握手的过程】     第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;对应客户端的connect函数(Linux)。   第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;对应服务器端的accept函数。   第三次握手:客户端收到服务器的SYN+ACK包,向服务 ...
一、为什么要采用链式存储(链表)存在的意义 为什么要采用链式存储: 与数组相比,链式存储(即链表)有如下两个优点: 1、数据元素的个数不确定,随时可能增减。采用固定大小的数组浪费空间。 2、方便排序,对于数组来说,每次插入一个元素都可能导致大量数据的移动。 有缺点吗: 与素族相比,链式存储有一个很大的缺点——读取数据! 对于读取其中指定第N个数据,链表必须从头结点用p = p-&gt;next(头结点不存储数据);一直遍历N次或N-1次(头结点存储数据)。所以在需要频繁索取某些指定数据的情况下,牺牲空间为代价换取更优的性能就需要采取数组这种数据结构了。 二、链表的定义和操 ...
MMU即Memory Management Unit(内存管理单元)的缩写,百度搜索“MMU”您将看到对MMU的较为准确和全面的描述。那么我们的程序在多任务环境下加载运行时,MMU起到什么作用作用呢?如何理解每个程序都运行在独立的空间呢?这就是本 ...
struct结构体由于包含了不同的数据类型,而数据结构类型之间存在占用空间大小的问题,比如char型占用1字节,short int占用2字节,int、long int、指针、float占用4字节、double占用8字节(windows和linux中)。但计算机系统对基本数据类型可能允许地址做出了限制,要求某种类型的对象必须是2、4或8的倍数(为了简化处理器和存储系统之间的硬件设计——可以节省至少1根地址线)。 那么对于给出的一个struct类型数据,我们如何判断它占用多少空间呢? 很简单!我们按照对齐原则即可做出正确判断。但记住:即不是像某些教程说的用struct结构体中占用空间最大的那 ...
转载自: http://linux.chinaunix.net/techdoc/beginner/2008/01/21/977152.shtml Linux最早由Linus Benedict Torvalds在1991年开始编写。在这之前,Richard Stallman创建了Free Software Foundation(FSF)组织以及GNU项目,并不断的编写创建GNU程序(此类程序的许可方式均为GPL: General Public License)。在不断的有杰出的程序员和开发者加入到GNU组织中后,便造就了今天我们所看到的Linux,或称GNU/Linux。 Linux的发行版本可 ...
Global site tag (gtag.js) - Google Analytics