Avatar billede Swift Praktikant
16. september 2003 - 14:58 Der er 16 kommentarer og
2 løsninger

Findes der en gratis SNMP pakke / lib til C++

Jeg skal igang med SNMP i C++.
Jeg vil lave målinger af en række ting på en server.
Jeg har OID'er IP'er og communities...

Alt jeg mangler et et fancy C++ library eller wrapper til SNMP at udføre kaldene.

Er der nogle i cyberspace med en række gode ideer ??
Avatar billede arne_v Ekspert
16. september 2003 - 15:10 #1
Avatar billede Swift Praktikant
16. september 2003 - 15:10 #2
Jeg vil også gerne have et par simple kodeeksempler på brugen af et library eller C++ API.
Avatar billede Swift Praktikant
16. september 2003 - 15:11 #3
Jeg har lige selv fundet lidt:
http://www.agentpp.com
Det ser fornuftigt ud...

Men vil stadig gerne have et par kodeeksempler - hvis der er nogle der har...
Avatar billede Swift Praktikant
17. september 2003 - 09:12 #4
Jeg har fundet et lib der hedder libsnmp++ og tilhørende headerfiles.

Mit sidste problem er linkningen - jeg ved ikke hvilken -l option jeg skal bruge...(jeg kan godt kompilere enkeltkomponenter - men ikke linke)

g++ snmpGet.cpp -L/tmp/snmp++/lib/libsnmp++.a -l????????? -o snmptest

Hvad skal der stå i stedet for ????????? ?
Avatar billede soreno Praktikant
17. september 2003 - 09:16 #5
Noter den/de metoder compileren brokker sig over ved at undlade at linke med det ukendte library(!).

Søg inde i dine .a filer efter disse metodenavne - så får du (formentlig) svaret.

Sådan har jeg gjort flere gange med heldig udfald (godt nok til Windows, men mon ikke det også kan gøres gældende for *nix).
Avatar billede Swift Praktikant
17. september 2003 - 10:31 #6
Jeg har kigget i inde i libraryet...det gav ingen forbedring...

Problemet var at -l specificerer navnet på et library der findes i /usr/lib
Og der lå libsnmp++ ikke.

Så sådan skal det gøres:
g++ snmpGet.cpp -L/tmp/snmp++/lib/libsnmp++.a -lsnmp++ -o snmptest
(når altså libraryet er kopieret til /usr/lib)
Avatar billede arne_v Ekspert
17. september 2003 - 10:39 #7
Hvis du skal link med et library som ikke ligger i et af de normale
libs skan du bare angive det som input:

g++ foobar.o /wherever/something.a -o foobar
Avatar billede olennert Nybegynder
17. september 2003 - 11:38 #8
arne_v>> Nu angiver du godt nok at something er et archive lib, men jeg vil alligevel advare lidt mod at angive et lib på den måde. Det giver problemer med shared libs (i hvert fald på HPs aCC oversætter på PA-RISC).

Brug i stedet -L og -l, det er mere flytbart.
Avatar billede Swift Praktikant
18. september 2003 - 16:30 #9
Hm...er der nogle der ved hvorfor brugen af snmp++ resulterer i en memory leak ????

Selvom jeg bruger:
Snmp::socket_cleanup();
Er der stadig memory leak....!

Kan man ikke gøre andet for at rydde op??
Avatar billede arne_v Ekspert
18. september 2003 - 18:13 #10
Det er meget svært at sige.

Der kan være en memory leak ilibrary. Der kan være en memory leak i
din kode.

Og memory leaks kan være svære at finde.
Avatar billede Swift Praktikant
18. september 2003 - 18:57 #11
Jeg synes jeg har gjort alt for at undgå memory leaks....

Det vigtigste er vel at have en DELETE for hver NEW!

Men er der andre ting - man nemt kan glemme??
Avatar billede arne_v Ekspert
18. september 2003 - 19:00 #12
Det er vel det. Borset fra hvis du også bruger malloc & free.

Men en ting er at have kaldene - noget andet er at få kaldt
dem.
Avatar billede arne_v Ekspert
18. september 2003 - 19:01 #13
Men der finde værktøjer til at hjælpe med at finde den slags
problemer.
Avatar billede Swift Praktikant
18. september 2003 - 19:18 #14
Jeg benytter KUN en enkelt new og en enkelt delete i mit kode.
Men noget tyder på at det er libsnmp++ der lækker...
Der er egentlig også lidt underligt at man ikke skal rydde op efter at have foretaget en SNMP.get()

Der er blot en SNMP::socket_clean() (ikke helt sikker på funktionsnavnet), men den gør ingen forskel.

Kender du et af de smarte værktøjer der kan køre UDEN grafik - under Redhat?
Avatar billede arne_v Ekspert
18. september 2003 - 19:22 #15
Nej det gør jeg godt nok ikke.
Avatar billede arne_v Ekspert
18. september 2003 - 19:24 #16
Avatar billede arne_v Ekspert
18. september 2003 - 19:26 #17
Avatar billede arne_v Ekspert
18. september 2003 - 19:26 #18
Jeg understreger at jeg ikke kender de pågældende produkter.

Men der er andre end dig som har kæmpet med memory leaks og selvfølgelig
er der tools.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester