CKX的博客

用来记录学习和工作中常用的知识

生成树协议STP、RSTP和MSTP原理的理解

在组网中,很可能会出现环路或者称冗余链路,为避免形成广播风暴,需要一种方法来避免形成环路,并且在主链路故障中断时候,可以将冗余链路自动切换为转发状态,以恢复网络的连通性。生成树协议(STP、RSTP、MSTP)就可以实现这样的功能。   STP(802.1D,Spanning Tree Pro...

2018-12-20 22:15:17

阅读数 3847

评论数 8

C语言define替换printf

问题: 当我想要调试的时候,想直接printf输出打印 当我将代码上设备的时候,希望输出log里(下图代码里cxtlog是输出到log的函数,这里不讲实现了) 解决: 设置一个CFG_DEBUG宏定义,定义了这个宏就使用printf,没有定义就输出log 用#define来重定义 用法...

2018-11-29 16:21:03

阅读数 421

评论数 0

c语言实现两个超大数的相加(超长数据)

这几天无聊,突然想起来,大学当时有个问题困扰着我 两个超大的数怎么保存和相加呢,计算机的整形32位的最大也就4294967296,超过这个数就计算不了了哇 然后就想动手实践一下 思路: 1.超长数据怎么存呢。脑子一拍,巨长的数肯定用字符数组来存哇,没毛病。 2.要怎么运算呢。我想的是,一...

2018-11-28 23:00:07

阅读数 2742

评论数 3

sed命令替换指定字符后不固定字符串,文本信息的替换删除

有一个文本S98ifconfig 需要修改IPADDR后的ip内容,ip不固定 [root@iProc /root]#cat S98ifconfig  #!/bin/sh ETH="eth0"IPADDR="11.11.11.120&...

2018-10-31 10:35:55

阅读数 1510

评论数 0

C语言extern关键字用法和理解

extern表明变量或者函数是定义在其他其他文件中的 例如:extern int a; 显式的说明了a的存储空间是在程序的其他地方分配的,在文件中其他位置或者其他文件中寻找a这个变量。   用法 一个c文件需要调用另一个c文件里的变量或者函数,而不能从.h文件中调用变量。详见下文1 e...

2018-09-27 00:22:46

阅读数 3038

评论数 3

Linux下C程序执行shell命令并获取返回结果的方法

Linux下的C编程有以下几种方法可以执行shell命令 system()函数 exec函数簇 popen()函数 如果还需要获取返回结果,有两种较简单方便的方法 popen()函数 匿名管道 1.system()函数 所需头文件:#include<stdlib....

2018-08-29 23:56:00

阅读数 3701

评论数 0

Linux消息队列编程(简单应用)

消息队列,Unix的通信机制之一,可以理解为是一个存放消息(数据)容器。将消息写入消息队列,然后再从消息队列中取消息,一般来说是先进先出的顺序。可以解决两个进程的读写速度不同(处理数据速度不同),系统耦合等问题,而且消息队列里的消息哪怕进程崩溃了也不会消失。   最简单的消息内存的使用流程 ...

2018-08-15 23:35:51

阅读数 2650

评论数 0

Linux下共享内存编程(共享存储空间)

共享存储允许两个或多个进程共享一个给定的存储区,是进程间通信最快的一种方式。 不要同时对共享存储空间进行写操作,通常,信号量用于同步共享存储访问。 最简单的共享内存的使用流程 ①ftok函数生成键值 ②shmget函数创建共享内存空间 ③shmat函数获取第一个可用共享内存空间的地址 ...

2018-07-29 23:44:08

阅读数 6132

评论数 0

Linux时间与系统时间相差8小时的解决办法

原因是时区不同在/etc/profile文件中增加一行 export TZ='CST-8'使文件立即生效source /etc/profile 或者 . /etc/profile

2018-07-05 08:52:17

阅读数 5576

评论数 2

Linux编程三种常用线程同步

本文介绍三种常用的线程同步方法,互斥量、条件变量、信号量共同需要的头文件为#include<pthread.h>互斥量强调资源访问互斥条件变量是通过允许线程阻塞和等待另一个线程发送信号的方法弥补了互斥锁的不足信号量强调线程间同步一、互斥量(mutex)互...

2018-05-29 23:58:50

阅读数 67

评论数 0

Linux编程常用alarm定时器

写程序时经常有让程序运行几秒后退出这种需求,就需要用到定时器,个人常用的是alarm定时器,方便好用。 函数原型unsigned int alarm(unsigned int seconds);seconds为指定秒数 所需头文件#include<unistd.h&a...

2018-05-29 22:56:36

阅读数 123

评论数 0

linux编程进程与线程基本实例

1、对比    进程是资源分配的最小单位,线程是程序执行的最小单位    进程拥有自己的独立地址空间,线程间共享进程的所有资源2、进程    需要头文件 #include<stdlib.h> #include<unistd.h&am...

2018-04-20 15:04:50

阅读数 393

评论数 0

流IO和文件IO的简单使用

流文件IO(fopen....)是标准IO,包含在stdio.h中,可移植性强,使用的是文件指针而文件IO(open...)可移植性低,包含在fcntl.h中,使用的是一个整形的文件描述符 标准IO/流IO下面这个程序是用流来读写文件的,从终端输入,重复100遍的输入文件中,再读出来打印至屏幕上#...

2018-04-18 12:05:49

阅读数 71

评论数 0

shell学习积累,循环,运算,判断

需要经常注意的问题赋值不需要$,但读值必须不能忘了在变量前加上$shift可以跳过参数,如shift 2,命令行输入aaa.sh a b c d 相当于命令行输入就变成aaa.sh c dShell 运算(+、-、\*、/)expr 只对整数进行运算,且中间每一段都必须要用空格隔开语法`expr ...

2018-03-08 23:48:41

阅读数 79

评论数 0

树莓派使用Android Screen Monitor与手机同屏(adb)

环境:为官方下载的2017-11-29-raspbian-stretch硬件:树莓派3B使用adb连接与安卓手机同屏,手机需要打开usb调试(开发者选项里)1、先添加一个源来下载android-tools-adb    打开/etc/apt/sources.list这个软件源列表,末尾添加以下语句...

2018-02-12 13:19:33

阅读数 2793

评论数 0

树莓派第一次开机的使用

1、使用Win32DiskImager烧写完系统到sd卡后,打开sd卡,新建一个名为ssh空白文件2、使用putty连接树莓派    login as: pi        password : raspberry3、更新系统软件sudo apt-get installsudo apt-get u...

2018-02-11 17:13:03

阅读数 918

评论数 0

树莓派3b使用蓝牙当做A2DPsink端播放音乐

使用系统为官方下载的2017-11-29-raspbian-stretch1、需要安装一下包(时间很赶,所以不知道以下包是不是必须要装的,反正我装了后也是没问题的)sudo apt-get install bluetooth bluez-utils bluemansudosudo apt-get ...

2018-02-11 17:05:27

阅读数 3821

评论数 0

fedora的nfs服务器的安装和启动配置

安装软件包 服务端和客户端都得安装 nfs-utils: 这个是NFS服务主程序(包含rpc.nfsd、rpc.mountd、daemons) rpcbind: 这个是CentOS6.X的RPC主程序(CentOS5.X的为portmap) yum ...

2018-01-30 14:17:38

阅读数 325

评论数 0

linux常用文本字符分割分析awk和cut命令

详细文章: awk命令用法 点击打开链接 cut命令详解 点击打开链接 由passwd文件做示例,提取相关部分 [root@localhost 桌面]# cat /etc/passwd | head -10 root:x:0:0:root:/root:/bin/bash b...

2018-01-26 16:07:38

阅读数 1442

评论数 0

提示
确定要删除当前文章?
取消 删除