C
一个幽默且帅气的程序员
这个作者很懒,什么都没留下…
展开
-
C语言发送SNMP Trap消息
项目需求系统利用SNMP Trap消息上报状态给NMS,考虑使用net-snmp提供的SNMP库函数实现该功能,且需要根据不同端口使用不同的session。1)头文件为了使用 netsnmp 的 API,必须 include 以下这些头文件:12#include net-snmp/net-snmp-config原创 2018-01-15 16:06:09 · 4253 阅读 · 2 评论 -
snmp协议原理
snmp原理snmp:简单网络管理协议,Simple Network Management Protocol。用于网络管理的协议,管理员通过snmp的读操作(GET)向设备获取数据,通过snmp的写操作(SET)向设备执行设置操作;设备通过snmp的trap操作(报警)向管理员通报设备的重要状况改变事件。snmp的基本思想是为不同种类、不同厂家、不同型号的设备定义一个统一的接口和协议,使管原创 2018-01-06 11:30:14 · 5349 阅读 · 0 评论 -
/usr/bin/ld: skipping incompatible解决方案
近期需要和友商联调功能,根据友商提供的.a文件和demo实例,编写到工程项目中,编译时发现报错:/usr/bin/ld: skipping incompatible.....问题该问题实质是:链接库文件时,库文件版本与平台版本不对应。通过objdump -a/p查看友商提供的.a文件发现为为64位库文件,而我们自己bin文件为32位,且编译选项已强制为-m32...原创 2018-05-22 10:07:40 · 10272 阅读 · 1 评论 -
sqlite3数据库报错:“打不开数据库文件”
项目中因为追求执行速度和高效管理,采用了sqlite3文本数据库作为系统的数据库,几百次压力测试中出现“打不开数据库文件”错误,导致后期对数据库操作均报错,系统瘫痪。出现该问题,定位方法:1)首先sqlite登入数据库,查看数据库内容是否正确,是否是替换了数据库文件但进程未重新加载导致。经检查,排除该可能性。2)其次查看sqlite3源码执行过程中返回的错误,文件打开失败,open一个文件时失败。...原创 2018-06-26 08:22:09 · 7090 阅读 · 0 评论 -
结构体中最后一个成员数组定义0个元素的意义
数组本义不支持动态扩展,但可以通过声明结构体中最后一个成员数组定义为0个元素可巧妙的实现C语言里的数组扩展。但如果定义为指针,则需要单独申请内存,动态拷贝。struct MyData { int nLen; char data[0]; }; 在结构中,data是一个数组名;但该数组没有元素;该数组的真实地址紧随结构体MyData之后,而这个地址就是结构体后面数据的地...原创 2018-07-04 20:21:48 · 1308 阅读 · 0 评论