Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8569269
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 11, 20262026-06-11T18:17:41+00:00 2026-06-11T18:17:41+00:00

I am developing a software that has its core, plugins and GUI modularly separated.

  • 0

I am developing a software that has its core, plugins and GUI modularly separated. I load the modules dynamically on demand.

I need to determine which kind of inter-communication would be best suited for a software modularized this way so the different parts can exchange events and information, considering that the plugins or a GUI using a different toolkit would eventually be developed by third parties.

For now I have considered to simply load the symbols from the shared objects and work with them knowing their types and functions signatures. I have also considered using an IPC like DBus but I am not sure if this would be overkill or totally unnecessary.

Being cross-platform is not much of a concern right now but it might be in the future.

What are the pros and cons of one vs the other? are there any other solutions to consider which I have not found about?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-11T18:17:42+00:00Added an answer on June 11, 2026 at 6:17 pm

    IPC is overkill for components loaded in-process. All the extra annotations concerning size of buffers and direction of copy are unnecessary when the caller and callee can share pointers directly.

    If you ever want to move to Windows, consider that the shared libraries might have different allocators and different class layout. The best thing to do is export a factory function, return a pointer to an interface (abstract class having only pure virtual member functions and no data, the data and implementations are all in a subclass), and let the object free itself (one of the virtual member functions destroys it).

    For an example, you can look at COM IUnknown. You don’t need all the complexity of interface queries and so on, but using pure virtual functions and reference counting is a very flexible, very scalable, and extremely portable pattern.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I am developing a part of a software which has two modules(mail and web-service).But
Suppose you're developing a software product that has periodic releases. What are the best
I'm developing a commercial software project that has some sensitive JavaScript code. I know
When developing software that records input signals (numbers) in real time, how can this
I am developing software that loads information from XML files using Android's implementation of
This is something that I don't see much discussed. I'm developing a software that
I am developing a software package that transmits messages. Currently I have a header
I´m developing a software in C# that uses static functions from a C++ .dll
I am developing some convenience wrappers around another software package that defines a bash
I am developing a software with vb6.0 :( . I wanna to know that

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.