Reputation: 263
I have been using RedHawk for some time and new Component Project wizard has always created a project that builds to an executable. Now when I create new Component Projects it builds a shared library. I can create a new project, generate code with no changes (no ports, properties, etc) and it builds a shared library. Have I missed some new option that defaults to building a component in the form of a shared library? I can find no option to choose shared libary vs executable when creating or building. How do I choose an executable? I recently upgraded to RedHawk 2.1 and have been working mostly with devices and new device projects do still produce an executable. I may not have tried a new component project since updating. Is this something new in 2.1?
Upvotes: 0
Views: 91
Reputation: 86
To launch a shared-library component as its own process, use the launch function in the Python sandbox, and set shared=False. There is no API to launch a shared-library component as its own process in the context of a domain/waveform.
Threads in ComponentHost (where the shared library component is hosted) are renamed to match whatever components are running on that ComponentHost.
Upvotes: 0
Reputation: 1247
The shared library output is the default in REDHAWK 2.1 and provides "Significant enhancement of Component model and BULKIO to support high performance I/O" via the new shared address space model. See the release announcement on the redhawksdr.org website or view the component model docs here for detail.
Upvotes: 2