Al usar Microsoft Visual C++ (no CLI, solo C++ nativo estándar) el ensamblaje en línea causa que la optimización se deshabilite para la función?¿Puede un bloque de montaje en línea (__asm) evitar la optimización de funciones?
Cuando revisé el uso de IDA, parte del código de función fuera del bloque parece cambiar, pero no estoy seguro de cuál es la causa. La función es (relativamente) simple, contiene manipulación de bits y algunas operaciones matemáticas, pero no llamadas externas.
Otras causas posibles que podía pensar son:
- provisión adicional para habilitar la depuración en ensamblador en línea.
- Alteraciones en el manejo de excepciones (aunque realmente no se ve así)
- Inline parcial de otra cosa debido a una lógica de compilación desconocida.
¿Alguna idea?
Ah, entonces desactiva la optimización de * algunos * pero no * todos *. Eso responde mi pregunta perfectamente. Gracias. – Polynomial