Pregunta

Ayer supe que ensamblador en línea (con la palabra clave __asm) no es compatible con Microsoft Visual C ++ cuando se compila para objetivos AMD64 e Itanium.

¿Es eso correcto? Y si es así, ¿alguien sabe por qué ellos no apoyarían ensamblador en línea para esos objetivos? Parece una característica bastante grande apenas caer ...

¿Fue útil?

Solución

correcta, todavía no está soportada en VS 2010 beta 1 . Mi conjetura es que ensamblador en línea es demasiado difícil de implementar: la forma en que Microsoft puso en práctica, se integra con el código C que rodea por lo que los datos pueden fluir dentro y fuera del código C y código de unión apropiado se inyecta de forma automática. Para ello, el compilador de C en realidad tiene que entender el código ensamblador; sólo que no han puesto en práctica que para AMD64 e Itanium.

Otros consejos

  

Parece una característica bastante grande apenas caer ...

Es muy fácil llamar a una función escrita con un ensamblador, siempre y cuando siga las convenciones C. Este tutorial explica cómo .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top