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 6476703
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 25, 20262026-05-25T06:51:26+00:00 2026-05-25T06:51:26+00:00

When I want to call a function from a dynamic linked library, I’m using

  • 0

When I want to call a function from a dynamic linked library, I’m using dlopen then dlsym from <dlfcn.h>.

But what is the right way to call functions from the main executable module from within dll functions? Is the only correct way to pass function-pointers into dll module and calling them (for progress reporting purposes, special logging, etc.)?

  • 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-05-25T06:51:26+00:00Added an answer on May 25, 2026 at 6:51 am

    Libraries that you link at run-time should really not be too central to your program flow; rather, they should be at the “leaf ends”, if you will. Especially general purpose libraries usually exhibit only functions that accomplish one particular task (e.g. encrypt something).

    Think about it, all you can import from a library at runtime is a single function. The library cannot possibly know your entire program state and interact with it meaningfully.

    It all boils down to design. If you design the library yourself, and you want integral parts of your program to be loaded at runtime, then you have to supply a thorough amount of callback interfaces. But if the library is that tightly coupled, you might consider linking it into your main program directly.

    Finally, since the dlopen-style interface only handles C-style function pointers, you’re essentially limited to a C-style interface. You could pass function pointers through, if you like, but see above on considerations whether this leads to good design. Having a C++ interface (e.g. exporting functions that take classes by references) is a lot trickier because you’ll have to ensure that the library (and all future incarnations of 3rd-party supplied libraries) conform to the same ABI, and the C++ ABI is a lot more complex and subject to change than the C ABI.

    Think about it like this: Use run-time loading if you want a plugin architecture for which third parties can at later times write code that can be used by your program. If that doesn’t make sense, use normal linking at compile time.

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

Sidebar

Related Questions

I want to call a function from a .NET DLL (coded in C#) from
I want to call a c# function from my javascript function. I have a
I want to call a controller function from a view. Is that possible in
I want to call a copyFile function from within the source file to be
Summary I want to be able to call a JavaScript function from a Flex
I want to call a function for every half minute. i am using the
I have a void pointer returned by dlsym(), I want to call the function
I want to call java function from c++ which takes multiple parameters , I
I want to call the following function from my managed code: short LS_LoadConfig(LS_ID SensorID,LPVARIANT
I want to call jQuery function from server. The server side button that calls

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.