Zanimljivo, sve ovo sto smo pricali oko procesiranja sa Lidara je stalo u nekih 20-ak linija C++ code-a.
Ova "data." struktura je ustvari shared-memory instanca, postoji samo jedna u programu tj sistemu, to je najbrzi nacin za inter-proces komunikaciju i razmenu podataka na *nix. Drugi programi mogu da citaju i pisu u tu data strukturu isto tako, sve sto treba je da se samo upotrebi zajednicki header fajl koji definise strukturu i to se zakaci na /dev/shm pod nekim predefinisanim indexom, to radi bas dobro!
Takodje posto postoji samo jedna instanca tog memoriskog objekta, to je prakticno i najefikasnije resenje po pitanju zauzeza RAM-a, dakle nema drugih kopija, sve se radi preko pointera koji ukazuje na tacnu memorisku lokaciju.
U mom slucaju je ta data struktura velika oko 30kB sto je zanemarljivo malo na *nix koji imaju obicno >1GB RAM, nema "curenja memorije" i ostalih problema. Dodatno cela struktura moze da se smatra kao fajl i da se u taku procita ili kopira u na primer backup fajl i da se kasnije vrati.
Vise o tome ovde:
POSIX Shared Memory in Linux
https://www.softprayog.in/programming/in...y-in-linux
Ova "data." struktura je ustvari shared-memory instanca, postoji samo jedna u programu tj sistemu, to je najbrzi nacin za inter-proces komunikaciju i razmenu podataka na *nix. Drugi programi mogu da citaju i pisu u tu data strukturu isto tako, sve sto treba je da se samo upotrebi zajednicki header fajl koji definise strukturu i to se zakaci na /dev/shm pod nekim predefinisanim indexom, to radi bas dobro!
Takodje posto postoji samo jedna instanca tog memoriskog objekta, to je prakticno i najefikasnije resenje po pitanju zauzeza RAM-a, dakle nema drugih kopija, sve se radi preko pointera koji ukazuje na tacnu memorisku lokaciju.
U mom slucaju je ta data struktura velika oko 30kB sto je zanemarljivo malo na *nix koji imaju obicno >1GB RAM, nema "curenja memorije" i ostalih problema. Dodatno cela struktura moze da se smatra kao fajl i da se u taku procita ili kopira u na primer backup fajl i da se kasnije vrati.
Vise o tome ovde:
POSIX Shared Memory in Linux
https://www.softprayog.in/programming/in...y-in-linux