me gusta obtener el código de C++ dll, sé que podemos obtener fácilmente .Net dll por reflector. ¿Hay algún método disponible en C++ para esto?¿Hay algún concepto en C++ como reflector en .Net?
Gracias de antemano
me gusta obtener el código de C++ dll, sé que podemos obtener fácilmente .Net dll por reflector. ¿Hay algún método disponible en C++ para esto?¿Hay algún concepto en C++ como reflector en .Net?
Gracias de antemano
C++ se compila directamente en el código de máquina. No hay un lenguaje intermedio como en .NET. Hay some C++ disassemblers que puede consultar. Hex-Rays decompiler es particularmente bueno.
En resumen, no. Cualquier 'reflexión' debe ser a través de algún mecanismo codificado a mano.
Creo que Qt es compatible con algo como esto. – mpen
Creo que estás hablando de C++ no administrado. En ese caso, no es posible. C++ se compila en código máquina a diferencia de los lenguajes administrados que compilan en un lenguaje intermedio que contiene los metadatos sobre el código que se compiló.
No, C++ no tiene nada como el reflector RedGate, y es incapaz de tal cosa. Un desensamblador no se acercará a lo que está buscando.
El código para capacidades introspectivas se puede generar a partir de Gcc-XML, o inyectado con OpenC++, pero el estándar C++ no requiere ninguna instalación particular para esto y no hay instalaciones/utilidades para esto se incluyen con ningún popular compiladores. También es posible que un programa C++ lea la información de depuración en su propio archivo ejecutable, pero definitivamente no es particularmente portátil, rápido o probable para una solución sólida.
+1 para Hex-Rays, parece excelente! – Francesco
+1 también para Hex-Rays! Acabo de ver el video (en su sitio web) y realmente se ve como algo que he estado buscando durante mucho tiempo. ¡Gracias! – Poni