As a result of my previous questions, I asked myself: is it useful to configure the C ++ interface in general for the plugin? The following points speak to him:
- There is no common ABI between different compilers and their versions, there is no general layout of objects in memory
- No direct export of classes. You must export plants and destructors. Problems arise if your objects are stored by other objects that only
delete them, for example, smart pointers. - Various STL implementations, you cannot pass
std::list<T> plugin - Different versions of libraries used, such as Boost
If you hold back on the rest of the C ++ language, you almost get a "subset of C". Are there any points for using C ++? How does the Qt-Toolkit solve these problems?
Note. I mean mainly the Linux system. However, I am interested in solutions on other platforms.
Additional question: what are the problems using the C interface? Memory layout struct s? Which language parts of C should be avoided?
c ++ c plugins
phlipsy
source share