Как правильно написать систему для работы с плагинами ? 1. управлять ими 2. если происходит segfault по вине плагина, то вся система не падала. 3. запретить выполнять функции, не предоставляемые системой плагинов (сдается мнечтоне реально).
т.е. написание системы работы с плагинами: core + plugins :)
Тут нужен интерпретируемый язык. lua, например, популярен для таких целей. Однако в топике стоит задача -- язык Си, поэтому http://www.softintegration.com/
Ch is an embeddable C/C++ interpreter for cross-platform scripting, 2D/3D plotting, numerical computing, shell programming and embedded scripting.