关闭

孤儿进程、僵尸进程

    僵尸进程:一个子进程在其父进程还没有调用wait()或waitpid()的情况下退出。这个子进程就是僵尸进程。    孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被init进程(进程号为1)所收养,并由init进程对它们完成状态收集工作。    僵尸进程将会导致资源浪费,而孤儿则不会。...
阅读(313) 评论(0)

高质量编程

1.类型转换:由于派生类和基类之间的关系,C++保证了派生类对象必须保证其基类子对象的完整性.2.强制转换: 例子:double d3=1.25e+20; double d4=10.35; int i2=(int)d3; int i3=(int)d4; 上述代码的问题,i2会溢出,doubl...
阅读(345) 评论(0)

管道和有名管道

有名管道是一个存在于硬盘上的文件,而管道是存在于内存中的特殊文件。...
阅读(333) 评论(0)

切换到ROOT用户

sudo -s...
阅读(287) 评论(0)

线程的私有数据

线程的私有数据包括:线程号、寄存器(包括程序计数器和堆栈指针)、堆栈、信号掩码、优先级、线程私有的存储空间。...
阅读(313) 评论(0)

线程和进程的关系

在多进程情况下,每个进程都有自己独立的地址空间,而在多线程情况下,同一个进程内的线程共享进程的地址空间。线程的优点是:节约资源、节约时间。子进程是通过拷贝父进程的地址空间来实现的,而线程与进程内的线程共享程序代码。...
阅读(360) 评论(0)

进程控制

1.获取进程标识    #include    #include    pid_t getpid(void) 返回调用进程的进程ID    pid_t getppid(void) 返回进程的父进程ID    uid_t getuid(void) 返回进程的实际用户ID    uid_t geteuid(void) 返回进程的有效用户ID    gid_t getgid(void) 返回进程的实际组...
阅读(328) 评论(0)

堆栈的区别

堆栈是系统使用是临时存储区域。它是后进先出的数据结构。C++主要将堆栈用于函数调用。当函数调用时,各种数据被推入堆栈顶部;函数终止后的返回地址、传递给函数的参数、函数返回的结果以及函数中声明的局部变量等等。因此当函数A调用函数B调用函数C,堆栈是增长了,但调用完成后,堆栈又缩小了。堆是一种长期的存储区域。程序用C++的new操作符分配堆。对new的调用 分配所需的内存并返回指向内存的指针。与堆栈不...
阅读(424) 评论(0)

LINUX 下异常信号收藏

我们介绍一些标准信号的名称以及它们代表的事件。每一个信号名称是一个代表正整数的宏,但是你不要试图去推测宏代表的具体数值,而是直接使用名称。这是因为这个数值会随不同的系统或同样系统的不同版本而不同,但是名称还算是标准化和统一的。   这些名称定义在signal.h中。   int NSIG是一个定义的宏,它描述了定义的信号的数量。由于信号的数值是从0开始连续分配的,所以,NSIG比系统中所定义的最大...
阅读(440) 评论(0)

僵尸进程

      在fork()/execve()过程中,假设子进程结束时父进程仍存在,而父进程fork()之前既没安装SIGCHLD信号处理函数调用waitpid()等待子进程结束,又没有显式忽略该信号,则子进程成为僵尸进程,无法正常结束,此时即使是root身份kill-9也不能杀死僵尸进程。补救办法是杀死僵尸进程的父进程(僵尸进程的父进程必然存在),僵尸进程成为"孤儿进程",过继给1号进程i...
阅读(378) 评论(0)

C++中的4种类型转换方式

C++中的4种类型转换方式static_cast 静态的_cast dynamic_cast 动态的_cast reinterpret_cast 重新解释的 _cast const_cast 常量的_cast C++ 里最好杜绝使用 C 方式的强制转换, 换用以上 4 个. 我们通常用的是 static_cast 在一类东西都可以转, 但是不是一类的就不能转. 即, 语义上说不通的, 两个完全不同...
阅读(690) 评论(0)

malloc/free和new/delete

有了malloc/free 为什么还要new/delete ?malloc 与free 是C++/C 语言的标准库函数,new/delete 是C++的运算符。它们都可用于申请动态内存和释放内存。对于非内部数据类型的对象而言,光用maloc/free 无法满足动态对象的要求。对象在创建的同时要自动执行构造函数, 对象在消亡之前要自动执行析构函数。由于malloc/free 是库函数而不是运算符...
阅读(370) 评论(0)

LINUX进程

1. LINUX 进程有三部分组成,代码段:存放程序的可执行代码;数据段:存放程序的全局变量,常量,静态变量。堆栈段:存放动态分配的内存变量。2.进程的状态可分为:1.运行状态:进程正在运行或者在运行队列中等待运行。                                2.可中断状态:进程正在等待某个事件完成。等待过程中可以被信号或定时器唤醒。                3.不可中断...
阅读(332) 评论(0)

软件测试

软件测试概念  使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别.  它是帮助识别开发完成(中间或最终的版本)的计算机软件(整体或部分)的正确度(correctness) 、完全度(completeness)和质量(quality)的软件过程;是SQA(software quality assurance)的重要子域。  Gren...
阅读(372) 评论(0)

黑盒测试、白盒测试

什么是黑盒测试和白盒测试? 任何工程产品(注意是任何工程产品)都可以使用以下两种方法之一进行测试。 黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。 白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。 软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序...
阅读(359) 评论(0)

GCC指令

gcc and g++分别是gnu的c & c++编译器 gcc/g++在执行编译工作的时候,总共需要4步 1.预处理,生成.i的文件[预处理器cpp] 2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs] 3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as] 4.连接目标代码,生成可执行程序[链接器ld] [参数详解] -x language filename   设定...
阅读(1545) 评论(0)

打造Windows环境下的GCC+VIM的程序编写编译新模式

用vim编写源代码,用gcc编译连结程序几乎已成为LINUX下程序设计的标准开发模式了,(当然emacs也是非常出色和流行的),本文教你如何在Windows下做到同样的事情。  gcc和vim都有支持不同平台的版本,win32也当然不例外。此外,配合不同的库像WINAPI、GTK+等可开发出GUI程序。  安装GCC  gcc的官方主页(http://gcc.gnu.org)上好像有for win...
阅读(2070) 评论(0)

VIM 环境下的编程实例

一、在终端直接用vim编写C程序 在某路径下打开一个终端,或打开终端后进入你想存放源文件的路径,然后 [root@localhost ~]# vim hello.c 接下来就可以输入源程序了,:set nu  可以设置行数i 进入编辑模式这里我们用一个最简单的程序做例子。 #include int main() { printf("hello world!/n"...
阅读(728) 评论(0)

UBUNTU下播放RMVB文件的方法

下载mplayer和w32codecs,w32codecs的下载地址在下面,即可http://www.debian-multimedia.org/pool/main/w/w32codecs/...
阅读(315) 评论(0)

ubuntu利用配置编辑器管理桌面图标

配置编辑器是一个很好用的Gnome桌面管理工具,但是在Ubuntu中默认菜单中是不显示它的。启动配置编辑器有两种方式。一个简单的方法是用快捷键打开运行应用程序的小窗口,请同时按下这两个按键:+ 你将会看到这个窗口:输入 gconf-editor 后点击 运行。找到 apps -> nautilus -> desktop然后如果想在桌面显示下面的图标请分别勾选这几个键值:computer_icon_...
阅读(711) 评论(0)
102条 共6页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:118972次
    • 积分:1899
    • 等级:
    • 排名:千里之外
    • 原创:73篇
    • 转载:29篇
    • 译文:0篇
    • 评论:11条
    文章分类
    最新评论