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 ??
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
16. september 2003 - 15:10
#1
16. september 2003 - 15:10
#2
Jeg vil også gerne have et par simple kodeeksempler på brugen af et library eller C++ API.
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...
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 ????????? ?
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).
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)
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
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.
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??
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.
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??
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.
18. september 2003 - 19:01
#13
Men der finde værktøjer til at hjælpe med at finde den slags problemer.
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?
18. september 2003 - 19:22
#15
Nej det gør jeg godt nok ikke.
18. september 2003 - 19:24
#16
18. september 2003 - 19:26
#17
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.
Kurser inden for grundlæggende programmering