Los sistemas de complemento en C++ son difíciles porque el ABI no está definido correctamente, y cada compilador (o versión del mismo) sigue sus propias reglas. Sin embargo, COM en Windows muestra que es posible crear un sistema de complemento mínimo que permita a los programadores con diferentes compiladores crear complementos para una aplicación host utilizando una interfaz simple.¿Qué es seguro para un sistema de complemento C++?
Seamos prácticos, y dejemos el estándar C++, que no es muy útil a este respecto, aparte de un minuto. Si quiero escribir una aplicación para Windows y Mac (y opcionalmente Linux) que admita plug-ins de C++, y si quiero dar a los autores de plug-in una amplia selección de compiladores (digamos versiones de Visual C++ de menos de 2 años) , GCC o el compilador C++ de Intel), ¿con qué características de C++ podría contar?
Por supuesto, supongo que los complementos se escribirán para una plataforma específica.
De la parte superior de mi cabeza, aquí están algunas de las características de C++ que se me ocurren, con lo que creo que es la respuesta:
- disposición vtable, utilizar objetos a través de las clases abstractas? (sí)
- tipos incorporados, punteros? (sí)
- ¿estructuras, uniones? (sí)
- ¿excepciones? (no)
- funciones "C" externas? (sí)
- stdcall funciones "C" no externas con tipos de parámetros incorporados? (sí)
- no stdcall no-extern Funciones "C" con tipos de parámetros definidos por el usuario? (no)
Agradeceré cualquier experiencia que tenga en esa área que pueda compartir. Si conoce alguna aplicación moderadamente exitosa que tenga un sistema de complemento C++, también es genial.
Diario Carl
Esta respuesta sería mejor si hiciera que el enlace "Aquí" fuera un poco más descriptivo. En este momento, no puedes decir a qué estás vinculando. –
¡Gracias por el consejo!Punto tomado – Serge