logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

网络协议篇之SNMP协议(二)—— 管理信息库MIB及OID

上篇文章提到一套完整的SNMP系统主要包括管理信息库(MIB)、管理信息结构(SMI)及SNMP报文协议。       本篇我们来学习管理信息库(MIB)一、管理信息库MIB       任何一个被管理的资源都表示成一个对象,称为被管理的对象。MIB是被管理对象的集合。它定义了被管理对象的一系列属性:对象的名称、对象的访问权限和对象的数据类型等。每个SNMP设备(Agent)都

#网络协议
深入了解scanf() getchar()和gets()等函数之间的区别

----------------------------------------------------| 问题描述一:(分析scanf()和getchar()读取字符)   |--------------------------------------------------scanf(), getchar()等都是标准输入函数,一般人都会觉得这几个函数非常简单,没什么特殊的。但是有

linux多线程编程——同步与互斥

我们在前面文章中已经分析了多线程VS多进程,也分析了线程的使用,现在我们来讲解一下linux多线程编程之同步与互斥。现在,我们不管究竟是多线程好还是多进程好,先讲解一下,为什么要使用多线程?一、 为什么要用多线程技术?1、避免阻塞,大家知道,单个进程只有一个主线程,当主线程阻塞的时候,整个进程也就阻塞了,无法再去做其它的一些功能了。2、避免CPU空转,应用程序经常会涉及到RPC,数

#linux
Linux DBUS总线

D-Bus三层架构D-Bus是一个为应用程序间通信的消息总线系统, 用于进程之间的通信。它是个3层架构的IPC 系统,包括:1、函数库libdbus ,用于两个应用程序互相联系和交互消息。2、一个基于libdbus构造的消息总线守护进程,可同时与多个应用程序相连,并能把来自一个应用程序的消息路由到0或者多个其他程序。3、基于特定应用程序框架的封装库或捆绑(wrapp

#网络协议
Linux C 中断言assert()使用简介

assert()是一个调试程序时经常使用的宏,在程序运行时它计算括号内的表达式,如果表达式为FALSE (0), 程序将报告错误,并终止执行。如果表达式不为0,则继续执行后面的语句,它的作用是终止程序以免导致严重后果,同时也便于查找错误。所需头文件:#include报告错误的条件:assert(0);void assert(int expression);参

Linux time()函数解析

time() 函数语法如下:所需头文件#include函数原型time_t time(time_t * timer)参数说明timer=NULL时得到机器日历时间;timer=时间数值时,用于设置日历时间;函数返回值机器日历时间    功能: 获取当前的系统时间,返回的结果是一个time_t类型,其实

#linux#c语言
静态库和动态库的分析

在Linux操作系统中,普遍使用ELF格式作为可执行程序或者程序生成过程中的中间格式。ELF(Executable and Linking Format,可执行连接格式)。     ELF文件格式包括三种主要的类型:可执行文件、可重定向文件、共享库:1、可执行文件(应用程序)可执行文件包含了代码和数据,是可以直接运行的程序。2、可重定向文件(*.o)可重定向文件又称为目标文件,

#linux
linux C 学习 简单字符串逆序输出

看了下网上的字符串逆序输出,都相对复杂,下面给一个简单的字符串逆序输出小程序实现:#include#include#includeint main(){int i;int n;char *q="I am a coder";n=strlen(q);char buffer[n];printf("The string is:%s\n",q);for

#c语言#linux
内联函数 —— C 中关键字 inline 用法解析

一、什么是内联函数       在C语言中,如果一些函数被频繁调用,不断地有函数入栈,即函数栈,会造成栈空间或栈内存的大量消耗,为了解决,特别的引入了inline修饰符,表示为内联函数。       栈空间就是指放置程式的局部数据也就是函数内数据的内存空间,在系统下,栈空间是有限的,假如频繁大量的使用就会造成因栈空间不足所造成的程式出错的问题,函数的死循环递归调用的最终结果就是导致栈内存空

#c语言
到底了