上一页 1 ··· 3 4 5 6 7 8 下一页
摘要: 李家凯老师结合教学案例和一些网上的资料整理了如下一文一、预备知识—程序的内存分配由C/C++编译的程序占用的内存分为以下几个部分1、栈区(stack):由编译器自动分配释放,存放函数的参数值,局部变量等。其操作方式类似于数据结构中的栈。2、堆区(heap):一般由程序员分配释放(malloc/free、new/delete),若程序员不释放,程序结束时可能由操作系统回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。3、全局区(static):全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域,程序结束 阅读全文
posted @ 2012-05-27 13:51 Jeakon 阅读(2835) 评论(0) 推荐(0) 编辑
摘要: 信号量的数据类型为结构sem_t,它本质上是一个长整型的数。函数sem_init()用来初始化一个信号量。它的原型为: extern int sem_init __P ((sem_t *__sem, int __pshared, unsigned int __value)); sem为指向信号量结构的一个指针;pshared不为0时此信号量在进程间共享,否则只能为当前进程的所有线程共享;value给出了信号量的初始值。 函数sem_wait( sem_t *sem )被用来阻塞当前线程直到信号量sem的值大于0,解除阻塞后将sem的值减一,表明公共资源经使用后减少。函数sem_trywai.. 阅读全文
posted @ 2012-05-27 12:22 Jeakon 阅读(1665) 评论(0) 推荐(0) 编辑
摘要: 有两个网站关于vim讲的非常好:http://www.vimer.cn/http://easwy.com/blog/ 很敬佩这位大牛!!下载插件的官网是:搜一下想找的插件立马就会出来,官网很强大。http://www.vim.org/scripts/vim 默认安装在/usr/share/vim 里面vim73 和 vimfiles 两个文件夹,vim73中有一些.vim文件vim配置文件为 /etc下的vimrc文件Vim 中使用Cscope+taglist1,Cscope 以及Ctag索引文件的建立:为了方便使用,编写了下面的脚本来更新cscope和ctags的索引文件:#!/bin/sh 阅读全文
posted @ 2012-05-26 23:32 Jeakon 阅读(1378) 评论(0) 推荐(0) 编辑
摘要: 一、fork入门知识一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来的进程的值不同。相当于克隆了一个自己。 我们来看一个例子:/**fork_test.c*version1*Createdon:2010-5-29*Author:wangth*/#include<unistd.h>#i 阅读全文
posted @ 2012-05-26 12:54 Jeakon 阅读(46943) 评论(2) 推荐(7) 编辑
摘要: 1.df -hl 查看磁盘剩余空间2.查找文件 find 目录 -name 匹配文字 ,如 find . -name libstdc++3.挂载windows分区 先建立要挂在的目录 /mnt/d sudo mount -t ntfs /dev/sda5 /mnt/d -o iocharset=utf8,umask=0 卸载:umount /dev/sda54.rpm 安装:1)用RPM安装软件包,最简单的命令如下:# rpm -ivh foo-1.0-l.i386.rpm (这里讲的软件包是foo-1.0-l.i386.rpm,以下都是)2)拆除已安装的软件包# rpm -e foo注意:. 阅读全文
posted @ 2012-05-25 17:49 Jeakon 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 摘要: 硬盘和硬盘分区在Linux都表示为设备,但这种描述应该是科学和具体的;比如IDE硬盘,在Linux 可以表示为 /dev/hda、/dev/hdb ... ;SCSI 接口的硬盘、SATA接口的硬盘表示为/dev/sda、/dev/sdb ... ... ;而IDE接口的硬盘/dev/hda,也可以表示为hd0 , SCSI 接口的如果是 /dev/sda ,另一种表示方法是sd0;理解两种表示方法有何用?至少GRUB引导管理器用到这些知识;另外我们mount (挂载)文件系统(分区),也会用到这些知识;目录索引一、对于IDE接口的硬盘的两种表示方法;1、IDE接口硬盘,对于整块硬盘的 阅读全文
posted @ 2012-05-20 00:29 Jeakon 阅读(6025) 评论(1) 推荐(1) 编辑
摘要: Win7下硬盘安装Ubuntu 12.04下面本人将介绍适合新手、简单易懂的硬盘安装方法:1、在Windows7中下载并安装EasyBCD(目前最新版2.1.2)2、将ubuntu-12.04-desktop-i386.iso文件复制到C盘根目录,用压缩软件打开,再打开casper目录,把initrd.lz、vmlinuz这两个文件解压到C盘根目录下。3、运行EasyBCD 进入操作窗口后,点Add/Remove Entries再点右下边的NeoGrub再点Install NeoGrub选中NeoGrub Bootloader,再点Configure(以上操作看似复杂其实简单,具体操作请看附件 阅读全文
posted @ 2012-05-18 16:58 Jeakon 阅读(407) 评论(0) 推荐(0) 编辑
摘要: 一、关于Linux的分区情况 虽然硬盘分区表中最多能存储四个分区,但我们实际使用时一般只分为两个分区,一个是主分区(Primary Partion)一个是扩展分区(extended partition)两种,主分区可以马上被使用但不能再分区,扩展分区必须再进行分区后才能使用。扩充分区再分下去就是逻辑分区(Logical Partion),况且逻辑分区没有数量上限制。 对Linux用户来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构。Linux中每个分区都是用来组成整个文件系统的一部分,它采用了一种叫“挂载点”的处理方法,它的整个文件系统中包含了一整套. 阅读全文
posted @ 2012-05-17 21:49 Jeakon 阅读(21917) 评论(0) 推荐(0) 编辑
摘要: (标题都用标题3格式)1.VIM简单替换表达式替换命令可以在全文中用一个单词替换另一个单词,如把“four”换为“4”::%s/four/4/g“%” 范围前缀表示在所有行中执行替换。如果仅仅对当前行进行操作,那么只要去掉%即可“g” 标记表示替换行中的所有匹配点。要实现完整匹配,可以用 “\<” 来指定匹配单词开头,用 “\>” 来指定匹配结尾: :%s/\<four\>/4/g可以在替换命令中加一个 “c” 标记,Vim 会在每次替换前提示你: :%s/\<four\>/4/gc2.显示行号: :set nu3.跳到屏幕的上中下:H M L4.tags文 阅读全文
posted @ 2012-05-09 14:25 Jeakon 阅读(191) 评论(0) 推荐(0) 编辑
摘要: C语言文件操作函数大全clearerr(清除文件流的错误旗标)相关函数 feof表头文件 #include<stdio.h>定义函数 void clearerr(FILE * stream);函数说明 clearerr()清除参数stream指定的文件流所使用的错误旗标。返回值 fclose(关闭文件)相关函数 close,fflush,fopen,setbuf表头文件 #include<stdio.h>定义函数 int fclose(FILE * stream);函数说明 fclose()用来关闭先前fopen()打开的文件。此动作会让缓冲区内的数据写入文件中,并释放 阅读全文
posted @ 2012-05-07 19:38 Jeakon 阅读(211) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 下一页