La personalización de plugins de puntuación necesita una interfaz estándar.
Utilice objetos primitivos para eliminar una dependencia de versiones de biblioteca y opciones de compilador. Así permitirá que los plugins se utilicen con múltiples versiones de interconexión sin tener que recrear el plugin cuando la interconexión cambie la biblioteca, las versiones de compilador u otras opciones. Se deben incluir los prototipos de interfaz C o C++ siguientes:
#ifdef _WIN32 #define _DLEXPORT __declspec(dllexport) #else #define _DLEXPORT #endif extern "C" { _DLEXPORT const int initPlugin(const char *configInfo, const uint configSize, char *errorStr, const uint maxStrSize); _DLEXPORT const char *getVersion(); _DLEXPORT const int score(const char *thresholdStr, const uint thresholdSize, const char *inboundStr, const uint inboundSize, const char *candidateStr, const uint candidateSize, char *result, const uint resultSize); };