- 博客(21)
- 资源 (5)
- 收藏
- 关注
原创 【C语言】使用库和手动导入c源文件的区别
之前编写一类功能,封装fun.c fun.h文件放在同一个目录下面,然后在mian.c文件里 include "fun.h"。以为这样就叫做使用库,其实不然。这样的方式仅仅编写了库的源码,而没有生成库文件。什么意思呢?如果仅编写源码,然后引用。这样只相当于是把源码复制大man.c文件中,把所有代码链接到了一起。实际上效率没有提高。 如果将库的源码生成库文件(有静态库和动态库两种区别),...
2018-08-30 10:42:37 3661
转载 Linux系统中对umask命令的使用
转至:https://blog.csdn.net/xiazhiyiyun/article/details/59663334umask命令umask命令是bash中自带的一个命令。在理解umask之前呢需要了解linux系统下的文件权限相关知识。umask值umask命令可以设置用户创建文件的默认权限,直接输入umask命令得到的输出结果是设置的文件权限掩码。如下...
2018-08-24 07:35:40 1875
原创 【Shell编程】批量创建用户
从文件中导入用户名,用户指定统一密码,批量创建用户。 users.txtzhangsanlisiwangwu adduser.sh#! /bin/bash#add user read -p "please input passwd:" PASSSWDfor UNAME in `cat users.txt`doid $UNAME &> ...
2018-08-21 10:13:22 2156
原创 TCP三次握手与四次挥手
我们都知道TCP是一种可靠的,面向连接的传输层协议。如何理解TCP底层的运作机制,对于应用开发者而言,socket内部封装了tcp协议,不用操心,但却是面试环节中常考的问题之一。目的 熟练三次握手建立连接过程 了解数据传输过程 熟练四次挥手断开连接过程常见标志位 SYN 请求建立连接 ACK 应答 FIN 断开连接...
2018-08-20 20:11:51 666 1
转载 网络抓包工具 wireshark 入门教程
Wireshark(前称Ethereal)是一个网络数据包分析软件。网络数据包分析软件的功能是截取网络数据包,并尽可能显示出最为详细的网络数据包数据。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。网络管理员使用Wireshark来检测网络问题,网络安全工程师使用Wireshark来检查资讯安全相关问题,开发者使用Wireshark来为新的通讯协定除错,普通使用者使用...
2018-08-19 19:57:14 798
转载 Linux还是Windows的威胁吗?
曾经有一段时间Windows和Linux是激烈的敌人,开源世界的粉丝讨厌微软的操作系统。毋庸置疑,许多人将Linux描述为Windows杀手,因为他们认为开源操作系统是没有微软的世界未来。但是,正如我们现在都能看到的那样,这种情况从未发生过, Windows仍然主宰桌面世界。例如,我记得在Windows上发生的最后一次大规模过渡发生在2015年下半年,当时微软发布了Windows 10,并为W...
2018-08-14 18:27:09 606
原创 【C语言】共用体判断大小端
看下处理器是大端还是小端,代码如下 #include <stdio.h>int main(int argc, const char *argv[]){ union { char data[2]; short int b; }t; t.b = 0x0102; printf("addr:%p\tdata:%d\n",&t.data[0]...
2018-08-12 16:00:24 1347
原创 【Shell编程】 (函数)判断用户是否存在
要求用户输入一个用户名,查询系统中是否存在该用户,若有打印用户存在,若不存在添加该用户 #!/bin/bash check_user(){ #判断用户是否存在passwd中 i=`cat /etc/passwd | cut -f1 -d':' | grep -w "$1" -c` if [ $i -le 0 ]; then echo "User $1 is not in ...
2018-08-12 09:04:53 13767
原创 【Shell编程】 测试文件为字符设备文件
用Shell编程,判断一文件是不是字符设备文件,如果是将其拷贝到 /dev 目录下。 #!/bin/bash if [ ! $# -eq 1 ]then echo "please add right arg"else #判断文件为字符文件 if [ -c $1 ] then #拷贝到 /dev 下 echo "$1 is a char-type file" ...
2018-08-12 09:03:17 3024 1
原创 Linux系统开发 | 进程通信之信号量
概述概述若是一个多线程的进程,由于各个线程共享一个地址空间,可以直接通过变量的形式进行通信。而进程,由于各个进程独占一个地址空间,我们需要一种通信机制来完成进程间的数据交互。本章介绍的是信号灯机制,进程间的通信机制有以下几种:无名管道(pipe)有名管道 (fifo)信号(signal)共享内存(share memory)消息队列(message queue)信号灯集(semaphore set)套接字(socket)
2018-08-10 20:36:56 1030
原创 【Python】 如何动态添加类属性与方法
一些概念涉及到一些基础概念,本章要讨论的相关术语。但是有些概念又是一时半会讲不清楚,所以笔者尽量找到简练形象的描述,并附上参考链接。 对象 属性 方法 类 实例 类(1) - 《零基础学python》(第二版):https://docs.pythontab.com/learnpython/206/ 对象(object):在面向对象编程中(OOP),万物都是对...
2018-08-08 15:29:37 20504 2
转载 【Ubuntu】 解决中文输入问题 --- 安装搜狗拼音输入法
使用 Linux 最大的烦恼就是中文输入法了,但是在 Ubuntu 下面,这都不是事!搜狗拼音已经有 Ubuntu 版本了,所以我们虽然安装的是英文版的 Ubuntu,不过照样可以使用中文输入法。 (1)下载在 Ubuntu 下打开搜狗输入法 Linux 版的官网 http://pinyin.sogou.com/linux/?r=pinyin,并下载你需要...
2018-08-06 12:11:24 1243
原创 Linux系统开发 | 进程通信之消息队列
概述概述若是一个多线程的进程,由于各个线程共享一个地址空间,可以直接通过变量的形式进行通信。而进程,由于各个进程独占一个地址空间,我们需要一种通信机制来完成进程间的数据交互。本章介绍的是消息队列,进程间的通信机制有以下几种:无名管道(pipe)有名管道 (fifo)信号(signal)共享内存(share memory)消息队列(message queue)信号灯集(semaphore set)套接字(socket)
2018-08-05 23:02:19 1296 1
原创 Linux系统开发 | 进程通信之共享内存
概述概述若是一个多线程的进程,由于各个线程共享一个地址空间,可以直接通过变量的形式进行通信。而进程,由于各个进程独占一个地址空间,我们需要一种通信机制来完成进程间的数据交互。本章介绍的是共享内存,进程间的通信机制有以下几种:无名管道(pipe)有名管道 (fifo)信号(signal)共享内存(share memory)消息队列(message queue)信号灯集(semaphore set)套接字(socket)
2018-08-05 23:01:53 1552 1
转载 物联网+人工智能+5G:时代抛弃你, 连个招呼都不打
当前大热的人工智能、5G与物联网之间有什么关系呢?通信网络是人工智能爆发的基础, 人工智能将大幅提升通信网络能力。5G、人工智能和物联网,正在时代的路口交汇,注定会携手同行,开启一场通信变革。 人工智能与物联网IoT的关系:我认为物联网技术会应用于所有行业,是所有行业的工具。而每一次工具的革命都会在人类进化史上留下一个里程碑,也会促进人类文明的一次巨大变革。 物...
2018-08-05 07:18:01 3442
原创 【C语言】if分支
if 是C语言中的条件判断语句,可以构成三种分支结构。单分支结构,双分支结构,多分支结构。此外if可以嵌套使用,可构成更加深层次的逻辑结构。 单分支判断为真则执行if语句,否者跳过该语句#include <stdio.h>int main(void){ int a=0; if(1 == a) { printf("a = 1\n"); } prin...
2018-08-04 21:01:51 6324
原创 Linux系统开发 | 进程通信之信号机制
概述拥有梦想是一种智力,实现梦想是一种能力概述若是一个多线程的进程,由于各个线程共享一个地址空间,可以直接通过变量的形式进行通信。而进程,由于各个进程独占一个地址空间,我们需要一种通信机制来完成进程间的数据交互。之间有区分与各自的运用场景,其中套接字通常使用在网络服务,其他只能在本地场景下使用。笔者以后会逐一学习,本章介绍信号机制。
2018-08-04 21:01:43 1265 1
原创 Linux系统开发 | 进程通信之有名管道
概述拥有梦想是一种智力,实现梦想是一种能力概述若是一个多线程的进程,由于各个线程共享一个地址空间,可以直接通过变量的形式进行通信。而进程,由于各个进程独占一个地址空间,我们需要一种通信机制来完成进程间的数据交互。之间有区分与各自的运用场景,其中套接字通常使用在网络服务,其他只能在本地场景下使用。笔者以后会逐一学习,本章介绍有名管道。
2018-08-03 22:13:41 930 1
原创 web服务器、应用服务器、web应用框架的关系
概念web服务器:负责处理http请求,响应静态文件,常见的有Apache,Nginx以及微软的IIS. 应用服务器:负责处理逻辑的服务器。比如php、python的代码,是不能直接通过nginx这种web服务器来处理的,只能通过应用服务器来处理,常见的应用服务器有uwsgi、tomcat等。 web应用框架:一般使用某种语言,封装了常用的web功能的框架就是web应用框架,flas...
2018-08-03 14:53:15 3009
原创 Linux系统开发 | 进程通信之无名管道
概述拥有梦想是一种智力,实现梦想是一种能力概述若是一个多线程的进程,由于各个线程共享一个地址空间,可以直接通过变量的形式进行通信。而进程,由于各个进程独占一个地址空间,我们需要一种通信机制来完成进程间的数据交互。之间有区分与各自的运用场景,其中套接字通常使用在网络服务,其他只能在本地场景下使用。笔者以后会逐一学习,本章介绍无名管道。
2018-08-02 23:02:16 1084 1
原创 Linux系统开发 | 线程同步与互斥
拥有梦想是一种智力,实现梦想是一种能力。概述线程共享同一进程的地址空间,线程间通过全局变量交换数据进行通信。为了避免多个进程同时访问同一个共享资源而引发冲突,多个线程访问共享数据时需要同步或互斥机制同步机制:指的是多个任务按照约定的先后次序相互配合完成一件事情互斥机制:一次只允许一个任务(进程、线程)访问的共享资源同步机制信号量:代表某一类资源,其值表示...
2018-08-01 22:49:39 1921 1
在线词典项目
2018-09-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人