- 博客(18)
- 资源 (3)
- 收藏
- 关注
原创 Linux C编程(十二) 之sourceinsight4使用总结
前言随着学习的不断深入,代码量以及代码文件个数也越来越多,此时代码的有效编辑就成了一个棘手的问题,在此向大家推荐一款功能强大的代码阅读和编辑工具-----sourceinsight4。下面来讲讲如何使用这款神器。1. 软件的安装(不再赘述,可自行百度或查阅其他资料)2. 先创建一个工程project—》new project 选择路径 工程名称 创建 并加入源文件,完成后如下, 以...
2019-05-11 17:53:49
855
原创 Linux C编程(十一) 之 I/O复用-----epoll机制
基础知识I/O多路复用有很多种实现。在linux上,2.4内核前主要是select和poll,自Linux 2.6内核正式引入epoll以来,因为其可以轻松的处理上万个连接,性能卓越,已经成为了目前实现高性能网络服务器的必备技术。函数解释1. epoll_create int epoll_create(int size);创建一个epoll的句柄,size用来告诉内核这个监听的数目一共...
2019-05-11 17:11:20
473
转载 Linux C编程(十) 之 I/O复用-----poll机制
poll和select对比不同:select使用三个位图来表示三个fdset的方式,poll使用一个 pollfd的指针实现。pollfd结构包含了要监视的event和发生的event,不再使用select“参数-值”传递的方式。pollfd并没有最大数量限制(但是数量过大后性能也是会下降)。相同:和select函数一样,poll返回后,需要轮询pollfd来获取就绪的描述符。从上...
2019-05-11 11:54:27
361
原创 Linux C编程(九) 之 I/O复用-----select机制
基础概念IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取,它就通知该进程。IO多路复用适用如下场合:当客户处理多个描述字时(一般是交互式输入和网络套接口),必须使用I/O复用。当一个客户同时处理多个套接口时,而这种情况是可能的,但很少出现。如果一个TCP服务器既要处理监听套接口,又要处理已连接套接口,一般也要用到I/O复用。如果一个服务器即要处理TCP,...
2019-05-11 10:21:50
274
原创 Linux C编程(八) 之 网络编程(下)
这里运用前两篇的内容做出以下实例代码server:#include<stdio.h>#include<sys/socket.h>#include<netinet/in.h>#include<string.h>#include<unistd.h>#include <arpa/inet.h>#include<...
2019-05-10 18:06:56
200
原创 Linux C编程(七) 之 网络编程 (中)
Linux下网络编程相关APIsocket()函数 int socket(int protofamily, int type, int protocol);//返回sockfd sockfd是描述符。socket函数对应于普通文件的打开操作。普通文件的打开操作返回一个文件描述字,而socket()用于创建一个socket描述符(socket descriptor),它唯一标识一...
2019-05-10 16:07:52
251
原创 Linux C编程(六) 之 网络编程 (上)
网络协议栈网络基础在Linux网络编程中,网络协议主要分为五层应用层传输层网络层链路层物理层TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,是一个工业标准的协议集,它是为广域网(WANs)设计的。TCP/IP协议存在于OS中,网络服务通过OS提供,在OS中增加支持TCP/IP的系统调...
2019-05-09 21:55:31
247
原创 Linux C编程(五) 之 gdb详解
GDB调试gdb是gnu项目组开发的一款Unix下功能强大的调试器 主要用来调试C/C++程序基于命令行的调试方法 可以随心所欲的运行程序所有的调试都是可以进行脚本编写的能够调试所有架构的代码有三种调试方法供大家选择 可安装插件gdb 可以下多种类型的断点GDB支持远程调试,支持与IDA进行联调可动态改变程序的运行环境gdb调试前提若想使用gdb进行程序调试,...
2019-05-08 21:35:15
544
原创 Linux C编程(四) 之 静态库和动态库
概述linux下有两种库:动态库和静态库 二者的不同点在于代码被载入的时刻不同。静态库的代码在编译过程中已经被载入可执行程序,因此体积比较大。动态库(共享库)的代码在可执行程序运行时才载入内存,在编译过程中仅简单的引用,因此代码体积比较小。不同的应用程序如果调用相同的库,那么在内存中只需要有一份该动态库(共享库)的实例。静态库和动态库的最大区别,静态情况下,把库直接加载到程序中,而动态...
2019-05-07 20:34:44
392
转载 Linux C编程(三) 之 makefile详解
转自陈皓:https://blog.youkuaiyun.com/haoel/article/details/2886什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTM...
2019-05-07 19:04:27
1162
原创 Linux C编程(一) 之 系统基本操作
linux虚拟机安装可参考:https://blog.youkuaiyun.com/u013142781/article/details/50529030linux 基础快捷键和工具说明Ctrl+alt+t 图形界面中呼出控制终端alt+shift+ = 放大终端ctrl + - 缩小终端ctrl + alt +F1~F6 切换至无图形界...
2019-05-07 08:48:41
461
原创 使用frp实现内网穿透
要实现内网映射,首先需要准备以下工具: vps kali(一台linux机器) frp xshell步骤一进入vps修改frps.ini文件如下 [common]bind_port = 7000#供客户端连接的端口dashboard_port = 777...
2019-05-06 21:31:29
705
原创 Linux下AIO服务设计框架
一. 对于异步I/O的概述aio异步读写是在Linux内核2.6之后才正式纳入其标准。之所以会增加此模块,是因为众所周知我们计算机CPU的执行速度远大于I/O读写的执行速度,如果我们用传统的阻塞式或非阻塞式来操作I/O的话,那么我们在同一个程序中(不用多线程或多进程)就不能同时操作俩个以上的文件I/O,每次只能对一个文件进行I/O操作,很明显这样效率很低下(因为CPU速度远大于I/O操作的速度,所...
2018-04-08 18:41:07
4589
3
原创 nmap使用详解
nmap简介:nmap Network Mapper(网络映射器)是一个开源并且为了Linux系统管理员或者网络管理员的万能的工具。Nmap用于浏览网络,执行安全扫描,网络审计以及在远程机器找到开放端口。它可以扫描在线主机,操作系统,滤包器和远程主机打开的端口。nmap安装方式: yum install nmap [基于Red Hat系统] $ sudo...
2018-04-03 22:41:16
1327
原创 kali-2017安装更新源和vmtools安装
一些更新源:#autodeb http://http.kali.org/kali kali-rolling main non-free contrib#中科大deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contribdeb-src http://mirrors.ustc.edu.cn/kali kali-rollin...
2018-04-01 21:45:30
1007
原创 处理机调度之FCFS
本程序旨在使大家对先来先服务的处理机调度机制有更加深入的了解,步骤如下:1.创建PCB结构体代表对相应进程的唯一标识,内含以下数据:进程名 要求运行时间 状态 指针 2.创建相应队列和链表deque<PCB_STRU*>Ready_Queue; //就绪队列deque<PCB_STRU*>Block_Queue; //阻塞队列PCB_STRU* Ready_list =...
2018-03-30 13:09:38
950
原创 生产者消费者问题VC语言实现
源代码如下://宏定义#define BUFFER 20 //缓冲区大小//头文件#include<windows.h>#include<stdio.h>#include<iostream>#include<stdlib.h>unsigned short ProductID = 0; //产品号unsigned ...
2018-03-23 12:50:42
1690
原创 操作系统中进程同步问题的几个经典问题与解答
1、用记录型信号量解决以下问题,用类C语言编写进程同步算法。司机 P1 售票员 P2 REPEAT REPEAT 启动 关门 正常运行 售票 到站停 开门 UNTIL FALSE UNTIL FALSE semaphore s1,s2;...
2018-03-21 14:44:21
16300
3
java-jdk和eclipse编译环境 安装包的网盘链接 可直接下载安装
2018-03-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人