Incrustado archivos de ensamblado en Visual Studio
-
21-09-2019 - |
Pregunta
Voy a hacer este corto y al grano. El bloque _asm ha sido completamente despojado al crear código de 64 bits en Visual Studio. Mi pregunta es, ¿dónde puedo encontrar información sobre cómo utilizar el montaje en algún código que puedo llamar a mi proyecto. Al igual que un archivo de ensamblaje supongo que tiene alguna función "optimizado" en la que puedo llamar directamente en mi fuente de C ++.
Solución
Un enfoque consiste en escribir una plantilla de C para su función ensamblador, a continuación, utilizar /FAs
para generar fuente en ensamblador para esa plantilla de función. A continuación, debería ser capaz de utilizar la fuente de ensamblador generado en lugar de la fuente de la plantilla C y construir desde allí. De esa manera usted toma el cuidado de todo el material desordenado ABI propenso a errores automágicamente.
Otros consejos
Si se escribe un archivo de ensamblaje externa, entonces usted necesita para asegurarse de que es compatible con la convención de llamada del compilador. No es demasiado difícil, aunque. Se podría, por supuesto, sólo tiene que utilizar los intrínsecos y dejar que el compilador de hacer algún registro y la instrucción de reordenamiento para usted ...