You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is an old idea and a low priority but I didn't want to throw it out while cleaning up old notes
Rather than combining all the dynld modules into a single nidas_dynld DSO, consider compiling them into individual DSOs, allowing for simpler and more consistent dynamic plugin support for sensors and outputs.
Few nidas runtimes do not need all of the sensors, so loading the whole library is unnecessary. It may be memory-mapped anyway, but it's not clear that combining them all into one library serves any purpose, and it means the whole library may have external dependencies that only one module needs. Those more specialized plugins may also be better built outside the nidas source tree and installed into the NIDAS DSO search path. Since that works for some modules, it seems more consistent to do it for all of them.
The GCC web page about visibility is a relevant read, to use hidden visibility but export the right symbols from the DSOs (including plugin subclasses for typeinfo, exceptions, and the factory function). Boost has a DLL library that could help too.
This is an old idea and a low priority but I didn't want to throw it out while cleaning up old notes
Rather than combining all the dynld modules into a single
nidas_dynld
DSO, consider compiling them into individual DSOs, allowing for simpler and more consistent dynamic plugin support for sensors and outputs.Few nidas runtimes do not need all of the sensors, so loading the whole library is unnecessary. It may be memory-mapped anyway, but it's not clear that combining them all into one library serves any purpose, and it means the whole library may have external dependencies that only one module needs. Those more specialized plugins may also be better built outside the nidas source tree and installed into the NIDAS DSO search path. Since that works for some modules, it seems more consistent to do it for all of them.
The GCC web page about visibility is a relevant read, to use hidden visibility but export the right symbols from the DSOs (including plugin subclasses for typeinfo, exceptions, and the factory function). Boost has a DLL library that could help too.
The text was updated successfully, but these errors were encountered: