![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
清城无雪
这个作者很懒,什么都没留下…
展开
-
linux中fork()函数详解
一、fork入门知识 一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中,只有少数值与原来的进转载 2017-05-02 22:52:30 · 325 阅读 · 0 评论 -
c++ assert() 使用方法
ssert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include void assert( int expression );assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。请看下面的程序清单badptr.c:#in转载 2017-11-16 13:41:57 · 543 阅读 · 0 评论 -
Linux中的shell到底是什么?
【一】 shell的含义: 首先shell的英文含义是“壳”; 它是相对于内核来说的,因为它是建立在内核的基础上,面向于用户的一种表现形式,比如我们看到一个球,见到的是它的壳,而非核。 Linux中的shell,是指一个面向用户的命令接口,表现形式就是一个可以由用户录入的界面,这个界面也可以反馈运行信息;【二】shell在Linux中的存在形式: 由于Linux不同于Win原创 2017-11-16 10:53:16 · 1288 阅读 · 0 评论 -
Linux系统目录结构以及简单说明
Linux系统目录结构以及简单说明 linux目录图:/root --- 启动Linux时使用的一些核心文件。如操作系统内核、引导程序Grub等。home --- 存储普通用户的个人文件ftp --- 用户所有服务httpdsambauser1user2bin --- 系统启动时需要的执行文件(二进制)sbin --- 可执行程序的目录,但大多存放涉原创 2017-11-16 10:43:24 · 303 阅读 · 0 评论 -
strcmp函数与strcpy函数
(一)strcmp函数 strcmp函数是比较两个字符串的大小,返回比较的结果。一般形式是: i=strcmp(字符串,字符串); 其中,字符串1、字符串2均可为字符串常量或变量;i 是用于存放比较结果的整型变量。比较结果是这样规定的: ①字符串1小于字符串2,strcmp函数返回一个负值;②字符串1转载 2017-10-09 23:41:45 · 373 阅读 · 0 评论 -
const的用法
在普通的非 const成员函数中,this的类型是一个指向类类型的 const指针。可以改变this所指向的值,但不能改变 this所保存的地址。在 const成员函数中,this的类型是一个指向 const类类型对象的 const指针。既不能改变 this所指向的对象,也不能改变 this所保存的地址。 关键字:Const,Const函数,Const变量,函数后转载 2017-09-25 18:44:51 · 199 阅读 · 0 评论 -
关于HTTP协议,一篇就够了
HTTP简介HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信转载 2017-08-04 19:59:22 · 481 阅读 · 0 评论 -
Linux 通信机制 I/O多路复用之select
select 函数作用:系统提供select函数来实现多路复用输入/输出模型。select系统调用是用来让我们的程序监视多个文件句柄的状态变化的。程序会停在select这里等待,直到被监视的文件句柄有一个或多个发生了状态改变。关于文件句柄,其实就是一个整数,我们最熟悉的句柄是0、1、2三个,0是标准输入,1是标准输出,2是标准错误输出。0、1、2是整数表示的,对应的FILE *结构的表示就原创 2017-07-31 20:33:58 · 381 阅读 · 1 评论 -
-对比线程安全和可重入函数
线程安全一个函数被称为线程安全的(thread-safe),当且仅当被多个并发进程反复调用时,它会一直产生正确的结果。反之,如果一个函数不是线程安全的,我们就说它是线程不安全的(thread-unsafe)。所以,有这么四类函数称为线程不安全的:1、不保护共享变量的函数;2、函数状态随着调用改变的函数;3、返回指向静态变量指针的函数;4、调用线程不安原创 2017-06-10 15:18:23 · 371 阅读 · 0 评论 -
Linux 中的信号
1、基本概念 软中断信号(signal,又简称为信号)用来通知进程发生了异步事件。进程之间可以互相通过系统调用kill发送软中断信号。内核也可以因为内部事件而给进程发送信号,通知进程发生了某个事件。注意,信号只是用来通知某进程发生了什么事件,并不给该进程传递任何数据。 收 到信号的进程对各种信号有不同的处理方法。处理方法可以分为三类:第一种是类似中断的处理程序,对于需要处理的信号,原创 2017-06-04 11:09:50 · 321 阅读 · 0 评论 -
g++与gcc的区别
一:gcc与g++比较编译c/c++代码的时候,有人用gcc,有人用g++,于是各种说法都来了,譬如c代码用gcc,而 c++代码用g++,或者说编译用gcc,链接用g++,一时也不知哪个说法正确,如果再遇上个extern "C",分歧就更多了,这里我想作个了结,毕竟知识的目的是令人更清醒,而不是更糊涂。 误区一:gcc只能编译c代码,g++只能编译c++代码两者都可以,但是请注意原创 2017-04-08 10:45:37 · 423 阅读 · 0 评论 -
Linux系统结构详细解读
我以下图为基础,说明Linux的架构(architecture)。(该图参考《Advanced Programming in Unix Environment》)最内层是硬件,最外层是用户常用的应用,比如说firefox浏览器,evolution查看邮件,一个计算流体模型等等。硬件是物质基础,而应用提供服务。但在两者之间,还要经过一番周折。还记得Linux启动。Linux首翻译 2017-04-22 10:34:12 · 1115 阅读 · 0 评论 -
debug和release的区别
Debug 和 Release 并没有本质的区别,他们只是VC预定义提供的两组编译选项的集合,编译器只是按照预定的选项行动。如果我们愿意,我们完全可以把Debug和Release的行为完全颠倒过来。当然也可以提供其他的模式,例如自己定义一组编译选项,然后命名为MY_ABC等。习惯上,我们仍然更愿意使用VC已经定义好的名称。 Debug版本包括调试信息,所以要比Release版本大很多(可能...原创 2018-01-02 20:00:08 · 19760 阅读 · 0 评论