Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

consider loadable individual sensor modules #17

Open
garyjg opened this issue Nov 22, 2024 · 0 comments
Open

consider loadable individual sensor modules #17

garyjg opened this issue Nov 22, 2024 · 0 comments

Comments

@garyjg
Copy link
Member

garyjg commented Nov 22, 2024

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant