您的位置:首页 > 运维架构

snmp++开发包开发基于snmp的ups监控程序

2011-05-15 20:22 218 查看
受老师之命开发一个基于snmp的网络监控程序。作为snmp的初学者,在完成的过程中参考了很多前人的经验,也走了一些弯路。在此将学习过程记录下来。
1.基于snmp的开发包有net-snmp和snmp++、agent++等,在此使用snmp++开发。首先编译snmp++的开发包。生成它的.lib文件。
 
首先从官网(http://www.agentpp.com/snmp_pp3_x/download_snmp_ppv3/download_snmp_ppv3.html

LIBDES-l-4.01a    SNMP++v3.2.25       MS VC++7.0 Project Files下载下来放在一个文件夹里。 建立一个生成名为snmp_pp的静态库工程。





将上一步解压的的三个文件拷贝到工程目录下。



打开工程。在头文件目录下添加现有项,添加的是开发包给的头文件。







在源文件目录下添加现有项,即开发包里的.c和.cpp文件。







设置工程头文件的包含目录(使用相对路径,便于移植)



由于不需要提示bebug信息,故打开config_snmp_pp.h 文件,将#define _NO_LOGGING宏定义打开。



ok,编译,木有错!
运行。出现



 
取消即可。然后在工程的debug目录下就生成了snmp++包的snmp_pp.lib文件。第一步工作完成!
第二步。生成实现监控功能的DLL,供上层程序调用。
首先新建一个名为UPS的DLL工程


点击完成。
然后将上一步生成的snmp_pp.lib添加到项目中,在项目的属性配置中添加对库的依赖。



将snmp++/include/snmp_pp 文件夹拷贝到工程的项目目录下,在项目头文件文件夹下通过添加现有项将这些头文件加入。



新建UPS.h头文件,打开该文件将需要导出的函数的函数头在这里声明。



将实现这些函数的代码添加到UPS.cpp文件中。这里注意添加两个头文件
#include "snmp_pp/snmp_pp.h"
#include "Ups.h"
其他头文件视程序需要而加。代码不再贴。
接下来就是编译了,没有错误。运行,出现



 
此时可以在工程目录的debug文件夹中看到生成的UPS.lib和UPS.DLL文件。有了他们就可以提供给别人调用了。第二步完成!
第三步,写一个简单的程序测试DLL的调用效果。
新建一个项目



将UPS.lib,UPS.DLL,UPS.h拷贝到工程的项目目录下。将UPS.h添加到头文件文件夹中。在配置属性中添加UPS.lib



在源文件文件夹中添加UPS_Test.cpp源文件,在mian函数中调用UPS.dll的导出函数



编译并运行,结果如下:



至此,整个过程结束。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: