![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
咔酷咿赤影
坚持住你的坚持,成功就在拐弯处.
展开
-
搭建内核态与用户态通信机制
Netlink相对于其他的通信机制具有以下优点:使用Netlink通过自定义一种新的协议并加入协议族即可通过socket API使用Netlink协议完成数据交换,而ioctl和proc文件系统均需要通过程序加入相应的设备或文件。 Netlink使用socket缓存队列,是一种异步通信机制,而ioctl是同步通信机制,如果传输的数据量较大,会影响系统性能。 Netlink支持多播,属于一个...原创 2020-05-06 11:18:25 · 324 阅读 · 0 评论 -
net-snmp agent开发(用net-snmp扩展MIB库)
注:本文经过http://blog.csdn.net/hepeng597/article/details/8782868原文以及网上资料进行归纳整理用net-snmp扩展MIB库,实现方法可归结为四种:1)一是静态库方式,通过修改配置头文件,在相应地方包含新引入的mib模块的.c和.h文件,然后重新编译库文件和扩展代码;这种方式不够灵活,每次修改扩展的MIB后,都需要重新编译snm原创 2016-06-06 15:17:44 · 9275 阅读 · 0 评论 -
结构体中char a[0]用法——柔性数组
有如下定义:typedef struct{ char a; char b[0]; }; 其中元素Char b[0];叫做柔性数组,主要用于使结构体包含可变长字段。详细内容如下:柔性数组; 【柔性数组结构成员 C99中,结构中的最后一个元素允许是未知大小的数组,这就叫做柔性数组成员,但结构中的柔性数组成员前面必须至少一个其他成员。柔性数组成员允许结构中包含一个大小转载 2016-05-21 10:27:18 · 4597 阅读 · 0 评论 -
linux获取当前系统时间与启动时间
linux当前系统时间:#include #include void main(){ time_t rawtime; struct tm * timeinfo; time(&rawtime); timeinfo = localtime(&rawtime); printf("The current date/time is:%d-%d-%d %d:%d:%d\n",timei原创 2016-06-30 11:00:57 · 1460 阅读 · 0 评论 -
net-snmp中载入第三方mib库
Management Information Base(管理信息库,MIB)是一组对象,定义可对某个设备提出的查询。 我们所 用的snmp监控主机如果要轮询一个支持snmp的设备的某项数据,它必须发出被查询设备所能理解的查询命令,这个就需要监控主机载入被查询设备对应的 MIB,这个MIB将通知snmp监控主机有关由 MIB 模块化的数据的布局和组成。 Linux 中所使用的net-转载 2016-06-15 10:20:51 · 14178 阅读 · 3 评论 -
Makefile选项CFLAGS,LDFLAGS,LIBS
CFLAGS 表示用于 C 编译器的选项,CXXFLAGS 表示用于 C++ 编译器的选项。这两个变量实际上涵盖了编译和汇编两个步骤。CFLAGS: 指定头文件(.h文件)的路径,如:CFLAGS=-I/usr/include -I/path/include。同样地,安装一个包时会在安装路径下建立一个include目录,当安装过程中出现问题时,试着把以前安装的包的include转载 2016-07-04 10:37:42 · 290 阅读 · 0 评论 -
关于C语言中的#if等
当注释掉大块代码时,使用"#if 0"比使用"/**/"要好,因为用"/**/"做大段的注释要防止被注释掉的代码中有嵌套的"/**/",这会导致注释掉的代码区域不是你想要的范围, 当被注释掉的代码很大时容易出现这种情况,特别是过一段时间后又修改该处代码时更是如此。 在这里顺便对条件编译(#ifdef, #else, #endif, #if等)进行说明。以下分3种情况: 1. 情转载 2016-06-20 10:45:56 · 534 阅读 · 0 评论