关闭
当前搜索:

学习Linux C编程之网络编程(一)

1. 网络中进程之间如何通信 网间进程通信要解决的是不同主机进程间的相互通信问题(可把同机进程通信看作是其中的特例)。为此,首先要解决的是网间进程标识问题。同一主机上,不同进程可用进程号(process ID)唯一标识。但在网络环境下,各主机独立分配的进程号不能唯一标识该进程。 其次,操作系统支持的网络协议众多,不同协议的工作方式不同,地址格式也不同。因此,网间进程通信还要解决多重协议...
阅读(1) 评论(0)

学习Linux C编程之操作系统基础训练

1、简述Linux进程内存空间分为哪几个段?作用分别是什么? 3个段,数据段,代码段,堆栈段 数据段:存放全局变量,静态变量static,其中BSS数据段存放为初始化的全局变量和static,数据段存放初始化的全局变量。 代码段:存放程序的代码的数据。 堆栈段:存放子程序的返回地址,子程序的参数以及程序的局部变量等。 2、如何查看进程的信息(线程数): 1.使用top命令,具体用法是 ...
阅读(1) 评论(0)

学习Linux C编程之多线程编程

1. 线程和进程的区别: 进程是系统中程序执行和资源分配的基本单位。每个进程有自己的数据段、代码段和堆栈段。 线程通常叫做轻型的进程。线程是在共享内存空间中并发执行的多道执行路径,他们共享一个进程的资源。 线程和进程比起来很小,所以相对来说,线程花费更少的CPU资源。   2.pthread_exit和exit的区别什么? 当初始线程从main()调用返回时或调用exit()时,整个进...
阅读(19) 评论(0)

学习Linux C编程之进程间通信(二)

信号量    信号量又称为信号灯,它是用来协调不同进程间的数据对象的,而最主要的应用是前一节的共享内存方式的进程间通信。本质上,信号量是一个计数器,它用来记录对某个资源(如共享内存)的存取状况。一般说来,为了获得共享资源,进程需要执行下列操作:   (1) 测试控制该资源的信号量。   (2) 若此信号量的值为正,则允许进行使用该资源。进程将信号量减1。   (3) 若此信号量为0,则该资...
阅读(5) 评论(0)

学习Linux C编程之进程间通信(一)

Linux进程间通信的目的: 数据传输:一个进程需要将他的数据发送给另一个进程,发送的数据量在一个字节到几兆字节之间; 共享数据:多个进程想要共享数据,一个进程对共享数据的修改,别的进程应该立刻看到; 通知事件:一个进程需要向另一个或一组进程发送消息,通知它发生了某种事件(如进程终止前要通知父进程); 资源共享:多个进程之间共享同样的资源。为了做到这一点,需要内核提供锁和同步机制; 进程...
阅读(6) 评论(0)

学习Linux C编程之进程控制编程

创建进程 fork fork 的定义 在 Linux 中,我们使用 fork 来创建一个子进程 fork 的返回值 fork 函数有些特殊,成功它返回 2 次,失败返回 -1,利用这个特性可以判断当前的进程是子进程还是父进程:  1. 在子进程中返回 0  2. 在父进程中返回子进程的进程 ID fork 的写时复制技术 通过执行 fork,子进程得到父进程...
阅读(40) 评论(0)

学习Linux C编程之文件操作

1)fopen函数 fopen函数类似于系统调用中的open函数。和open一样,它返回文件的标识符,只是这里叫做流(stream),在库函数里实现为一个指向文件的指针。如果需要对设备的行为进行明确的控制,最好使用底层系统调用,因为这可以避免使用库函数带来的一些非预期的副作用,如输入/输出缓冲。 函数原型: #include FILE *fopen(const char *file...
阅读(12) 评论(0)

学习Linux C编程之栈

栈是限制在一段进行插入操作和删除操作的线性表(俗称堆栈),允许进行操作的一端称为“栈顶”,另一固定端称为“栈底”,当栈中没有元素称为“空栈”。特点:先进后出(FILO)。 栈顶即top,这里top有两种定义方式: 1、满栈(Full Stack),top指向最后一个使用的空间; 2、空栈(Empty Stack),top指向下一个可用的空间;      栈也是线性表...
阅读(33) 评论(0)

数据库基础知识

第一章 基本知识 数据和信息 信息:关于现实世界事物存在方式和运动状态的反映。 数据:通常指用符号记录下来的、可以识别的信息。 数据处理和数据管理 数据处理是指从某些已知的数据出发,推导加工出一些新的信息。 数据管理是指数据的收集、整理、存储、维护、检索、传送等操作。这部分操作是数据处理业务的基本环节,而且是任何数据处理业务中必不可少的共有部分。...
阅读(63) 评论(0)

学习Linux C编程之预处理与结构体

1、宏定义的位置及作用域?  宏定义必须写在函数之外,其作用域为宏定义命令起到源程序结束,也可以用“#undef”命令终止。 2、文件包含命令“”与 使用 使用“”表示首先在当前的源文件目录中查找,若未找到才到包含目录中查找。 3、什么是结构体  将一些相关联的数据打包成一个整体,方便使用,这种多个数据组合起来的一个整体其表现形式就是一个结构体 结构体的一般定义形式为: ...
阅读(28) 评论(0)

学习Linux C编程之线性表

1、概念 线性表:是具有相同属性的数据元素的一个有限序列 线性表的逻辑结构示意图: 线性表的存储结构分为:顺序、链接、索引和散列等,常见的是顺序存储和链接存储(单链表和双链表)。 2、线性表的顺序存储结构 线性表的顺序存储结构:把线性表中的所有元素按照其逻辑顺序依次存储到计算机存储器中从指定存储位置开始的一块连续的存储空间中,可直接用数组表示。 线性...
阅读(39) 评论(0)

学习Linux C编程之函数

C 源程序由多个函数组成,main函数是主函数,有且只能有一个main函数。它可以调用其他函数,调用结束后返回main函数,最后由main函数结束整个程序。 在 C 中函数的定义可以在main函数之前也可以在main函数之后。 如果在main函数之后定义,则在main函数之前进行函数的声明。函数的声明 即 你定义函数的第一行,在最后加上一个分号即可; 函数的声明与定义 无...
阅读(61) 评论(0)

学习Linux C编程之数组与指针

1.    指针类型分析 分析指针,可以从变量名处起,根据运算符优先级结合,一步一步分析.  int p;  //这是一个普通的整型变量  int *p;  //首先从P处开始,先与*结合,所以说明P是一个指针,然后再与int结合,说明指针所指向的内容的类型为int 型.所以 P是一个返回整型数据的指针  int p[3]; //首先从P处开始,先与[]结合,说明P 是一个数组,然后与in...
阅读(38) 评论(0)

学习Linux C编程 strlen及unsigned问题

strlen 用法:#include 功能:计算字符串s的(unsigned int型)长度 说明:返回s的长度,不包括结束符NULL。 注意点遇到\0终止,例如: int a[1000]={0,1}; printf("%d",strlen(a[0])); 输出为0,因为是\0 unsigned 直接举例: #include  int...
阅读(35) 评论(0)

学习他人经验之循环语句深入学习(转载)

C语言有三种循环结构:while、for和do while。下面依次讲解 一、while循环 1、while介绍 while(逻辑表达式) //布尔值为1 真 { 反复执行的语句 }                             只要逻辑表达式结果为真就反复不停执行大括号里的语句,直到逻辑表达式结果为假循环结束 只要把逻辑表达式写成1则循环成为死循环,wh...
阅读(27) 评论(0)

学习Linux C编程之语句 问题-break和continue

break和continue都是用来控制循环结构的,主要是停止循环。 1.break 有时候我们想在某种条件出现的时候终止循环而不是等到循环条件为false才终止。 这是我们可以使用break来完成。 break用于完全结束一个循环,跳出循环体执行循环后面的语句。 2.continue continue和break有点类似,区别在于continue只是终止本次循...
阅读(26) 评论(0)

学习Linux C编程之运算符、表达式 问题-逻辑运算符短路问题

逻辑运算符 “||”前面为false,无论“||”后面是true还是false,结果都返回“||”后面的值。 “||”前面为true,无论“||”后面是true还是false,结果都返回“||”前面的值。 “&&”前面是false,无论“&&”后面是true还是false,结果都将返“&&”前面的值; “&&”前面是true,无论“&&”后面是true还...
阅读(152) 评论(0)

学习Linux C编程之数据类型 问题-extern及static修饰全局变量的区别

在实际开发C++项目的时候,一个项目里面往往会包含多个cpp文件,多个头文件,有时还会有c文件。由于变量的声明可以有多次,但定义只能有一次,这就不可避免地要使用extern,static关键字。弄清楚这几个关键字之间的用法和区别,能节省很多调试项目的时间,尤其是对于一些难以定位的链接错误。下面分别介绍: 一、extern关键字 这个关键字可能是最容易用错的一个,一方面可能是因为平时写的小程序不...
阅读(32) 评论(0)

学习Linux C编程之语句

一、空语句 由分号“;”构成,作用:1.消耗cpu,起延时作用 2.使程序结构清楚,可读性好 二、基础语句 1.表达式+; 2.函数名+; 三、语句if     注意:1.不可将布尔量直接与TRUE、FALSE或者1、0作比较,例如VC++将TRUE定义为1,而VB将TURE定义为-1.           2.整型变量应当用==或!=直接与0比较。           3.浮点变...
阅读(34) 评论(0)

学习Linux C编程之运算符、表达式

一、运算符优先级 优先级 运算符 名称或含义 使用形式 结合方向 说明 1 [] 数组下标 数组名[常量表达式] 左到右 () 圆括号 (表达式)/函数名(形参表) . 成员选择(对象) 对象.成员...
阅读(179) 评论(0)
24条 共2页1 2 下一页 尾页
    个人资料
    • 访问:1374次
    • 积分:237
    • 等级:
    • 排名:千里之外
    • 原创:22篇
    • 转载:2篇
    • 译文:0篇
    • 评论:0条
    文章存档