摘要:从上周到现在一直在完成最后的项目,自己的聊天室,所以博客就没怎么跟了,今天晚上自己的聊天室基本实现,让学长检查了,也有好些bug,自己还算满意,主要实现的功能有:登录注册附近的人(服务器端全部在线的人)好友管理(查看所有及在线好友,添加好友,删除好友)聊天(私聊群聊,查看群,建群,申...
阅读全文
摘要:从上周到现在一直在完成最后的项目,自己的聊天室,所以博客就没怎么跟了,今天晚上自己的聊天室基本实现,让学长检查了,也有好些bug,自...
阅读全文
摘要:linux&C这两天学到了网络编程这一章,自己写了一个小的”服务器”和”客户端”程序,目的在于简单理解tcp/ip模型,以及要搭建一...
阅读全文
摘要:linux&C这两天学到了网络编程这一章,自己写了一个小的”服务器”和”客户端”程序,目的在于简单理解tcp/ip模型,以及要搭建一台简单服务器,服务器和客户端最基本的事情要干什么,这篇博客就这个小程序,也简单分析了自己对”TCP-三次握手”过程的理解。因为初学网络编程,说的不对的地...
阅读全文
摘要:Q1:多线程与多进程相比有什么优势? 多进程程序耗费的资源大,因为fork()的时候子进程需要继承父进程的几乎所有东西,但是多线程程序线程只继承一部分,即自己的私有数据,例如自己的线程ID,一组寄存器,堆栈,信号屏蔽字,errno值,调度优先级 多进程的程序之间的数据相互独立...
阅读全文
摘要:Q1:多线程与多进程相比有什么优势? 多进程程序耗费的资源大,因为fork()的时候子进程需要继承父进程的几乎所有东西,但是多线...
阅读全文
摘要:这两天刚好看完linux&c这本书的进程线程部分,学长建议可以用c语言实现一个简单的线程池,也是对线程知识的一个回顾与应用。线程的优...
阅读全文
摘要:这两天刚好看完linux&c这本书的进程线程部分,学长建议可以用c语言实现一个简单的线程池,也是对线程知识的一个回顾与应用。线程的优点有好多,它是”轻量级的进程”,所需资源少,多线程共享数据空间,线程之间切换速度更快,可以减少服务器的闲置时间等。那么我们要在往高层次讲它也有一些缺点,...
阅读全文
摘要:1:文本处理工具: 1:diff and patch : diff是比较文件或者目录的不同,主要有3个用法: diff file1 file2 :比较file1和file2的不同;diff -u file1 file2 >file.path :比较他们的不...
阅读全文
摘要:1:文本处理工具: 1:diff and patch : diff是比较文件或者目录的不同,主要有3个用法: diff file1 file2 :比较file1和file2的不同;diff -u file1 file2 >file.path :比较他们的不同并且生成file.path的补丁文件;比较...
阅读全文
摘要:一:线程私有数据:线程是轻量级进程,进程在fork()之后,子进程不继承父进程的锁和警告,别的基本上都会继承,而vfork()与fork()不同的地方在于vfork()之后的进程会共享父进程的地址空间,但是有了写实复制(fork()之后的子进程也不会直接复制父进程的地址空间在另一块内...
阅读全文
摘要:一:线程私有数据: 线程是轻量级进程,进程在fork()之后,子进程不继承父进程的锁和警告,别的基本上都会继承,而vfork()与f...
阅读全文
摘要:这篇博客的形式我想以分析代码不同情况为主: 点击(此处)折叠或打开 #include #include #include #include #include #include void *child(void *arg...
阅读全文
摘要:top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法。 top - 01:06:48 up 1:22, 1 user, load average: 0.06, ...
阅读全文
摘要:一:fork()和vfork()的区别: fork()函数可以创建子进程,有两个返回值,即调用一次返回两个值,一个是父进程调用fork()后的返回值,该返回值是刚刚创建的子进程的ID;另一个是子进程调用fork()后的返回值,该返回值为0。 vfo...
阅读全文
摘要:一:五个函数的参数以及返回值。 函数 参数 返回值 open (文件名,打开方式以及读写方式,文件的权限) 读取成功返回文件描述符...
阅读全文
摘要:这两天遇到一些声明比较复杂的函数,比如signal函数,那我们先简单说说signal函数的用法:(参考《c陷阱与缺陷》)【signal:几乎所有c语言程序的实现过程中都要用到signal函数,作为捕获不同步的一种方式。我们用户要调用signal函数,可以这样使用,首先在头文件中加入:#inclu...
阅读全文
摘要:top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法。 top - 01:06:48 up 1:22, 1 user, load average: 0.06, 0.60, 0.48Tasks: 29 tot...
阅读全文
摘要:一:fork()和vfork()的区别: fork()函数可以创建子进程,有两个返回值,即调用一次返回两个值,一个是父进程调用fork()后的返回值,该返回值是刚刚创建的子进程的ID;另一个是子进程调用fork()后的返回值,该返回值为0。 vfork与fork不同的地方在于: 使用fork()创建...
阅读全文
摘要:(注意! 区分shell命令和往配置文件里加的代码不同)一:ftp服务的安装,启动和启用。 1:vim /etc/sysconfig/selinux 改为disabled后重启 :需要先关闭selinux加强防火墙。 2:yum install vsftpd lftp -y ...
阅读全文
摘要:一:typedef的用法。 写一个数据结构(计算机存储数据的一种方式,是抽象的,可以人为组织,提高算法效率),我们需要注意:接口友好,模块化,规范命名等方面,在接口友好方面,typedef是非常好用并且标准及人性化的。 点击(此处)折叠或打开 /*定义一个叫stu...
阅读全文
摘要:一:五个函数的参数以及返回值。 函数 参数 返回值 open (文件名,打开方式以及读写方式,文件的权限) 读取成功返回文件描述符f...
阅读全文
摘要:(声明:本篇博客只是博主自己的理解,加以整理,目的是总结刚学过的进程知识,不一定绝对正确,非常愿意听客官您提出宝贵意见。)Q1:进程中的全局数据段(全局变量),局部数据段(局部变量),静态数据段的分别位于哪个内存地址空间?答:对于进程的概念,我把它理解一个可执行程序进行的实体,我们c语言代码在变成可...
阅读全文
摘要:这篇博客的形式我想以分析代码不同情况为主: 点击(此处)折叠或打开 #include #include #include #include #include #include...
阅读全文
摘要:一:指针与数组 (1)指针与一维数组:数组名实际上就是指向数组第一个元素的指针,我们可以用数组名来遍历数组。看下面代码: 点击(此处)折叠或打开 #include void main(void) { int ...
阅读全文
摘要:1:如何划分区: 1:明确分区的对象:xxx :fdisk /dev/xxx 2:增加一个分区:n;选择主分区或者扩展分区,”p” or “e” ;默认地方开始,选择大小,+500M ;更改id,t,L:列出所有可能。 3:wq 退出保存,partprobe :重新读...
阅读全文
摘要:1:如何划分区: 1:明确分区的对象:xxx :fdisk /dev/xxx 2:增加一个分区:n;选择主分区或者扩展分区,”p...
阅读全文