Timeline for How to design a C++ program to allow for runtime import of functions?
Current License: CC BY-SA 3.0
16 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Nov 25, 2019 at 7:01 | history | protected | gnat | ||
Nov 24, 2019 at 19:26 | answer | added | user2195463 | timeline score: -2 | |
S Nov 8, 2017 at 20:28 | history | suggested | Robert Andrzejuk |
remove java tag
|
|
Nov 8, 2017 at 10:16 | review | Suggested edits | |||
S Nov 8, 2017 at 20:28 | |||||
Nov 2, 2017 at 15:58 | history | tweeted | twitter.com/StackSoftEng/status/926116265810374657 | ||
Nov 1, 2017 at 19:56 | answer | added | Basile Starynkevitch | timeline score: 17 | |
Nov 1, 2017 at 18:59 | answer | added | whatsisname | timeline score: 3 | |
Nov 1, 2017 at 18:42 | comment | added | candied_orange | The way I'd solve this is to compile c++ code that creates an interpreter for any language that supports an eval command. Bang problem solved using c++. :P Please think about why that isn't good enough and update the question. It helps when the real requirements are clear. | |
Nov 1, 2017 at 17:48 | comment | added | user251748 | You said: "When the framework code/program is compiled, the physical problem description, as well as the user-defined functions, are not known." So, I think that you need some kind of computer system to handle this. Maybe something as smart as a person? Or a group of specialists? Sounds like a great idea. | |
Nov 1, 2017 at 15:07 | comment | added | rwong | The hard part is that, when given a dynamic library (file), it is either: the file contains "metadata" that describes the function signature in detail, enough to allow you to call it; or - nothing. Absolutely nothing, except the starting address to a function. In the latter case, the difficulty comes from missing / omitted / scrubbed information, not from the difficulty of synthesizing the glue code (in assembly) to call the function. | |
Nov 1, 2017 at 15:00 | comment | added | Bart van Ingen Schenau | In C++ it is really hard to call a function whose signature (argument and return types) is not known at compile time. To do so, you need to know how function calls work at the assembly level of your chosen platform. | |
Nov 1, 2017 at 14:37 | comment | added | Simon B | Dynamically loading functions isn't supported by the C++ language. You're going to have to look at something platform-specific. For instance a C++ compiler on Windows should support Windows DLLs, which do support a form of reflection. | |
Nov 1, 2017 at 14:33 | comment | added | rwong | The question is too broad in the sense that it typically requires a university degree in either electrical engineering / [electronic design automation (EDA) ](en.wikipedia.org/wiki/Electronic_design_automation) or mechanical engineering / computer aided design (CAD). Comparatively speaking, calling C / C++ dynamic library is very easy, see C calling conventions for x86. It may require manipulating the stack (via CPU stack pointer) and CPU register values though. | |
Nov 1, 2017 at 13:52 | comment | added | Caleth | C++ does have function pointers and function objects. Are all the functions compiled into the executable, or are they in dynamic libraries (on what platform)? | |
Nov 1, 2017 at 13:26 | review | First posts | |||
Nov 1, 2017 at 16:45 | |||||
Nov 1, 2017 at 13:23 | history | asked | Oliver | CC BY-SA 3.0 |