cwrapper schrieb:
> status sensorPlugin_getFunctionTable(sensorPluginFunctionTable*
> functions)
> {
> functions->common.start = sensorPlugin_start; //was genau
> passiert hier?
> }
So, wie es da steht, sollte es eine Fehlermeldung wegen "undefined
symbol" geben. Könnte mir aber vorstellen, dass Du da eine
copy-n-paste-Fehler eingebaut hast.
Ansonsten verhindert das extern "C" das sog. name-mangling.
Funktionsnamen können vom C++-Compiler wegen Funktionsüberladung nicht
direkt in den Assemblertext übernommen werden, sondern werden ergänzt
mit einer Zeichenkette, die sich aus der Parameterliste zusammensetzt.
Dies unterdrückt extern "C", damit eine C-Funktion auch aus einem
C++-Kontext heraus aufgerufen werden kann.