我正在尝试使用Visual Studio编写一个程序,该程序调用包含一些优化汇编代码的C ++函数。我对大会很新。
我生成了一些装配,我看到了:
PUBLIC ?MYFUNCTION@@YAXQAHH@Z ; MYFUNCTION<br />
; Function compile flags: /Odtp /RTCsu /ZI
; COMDAT ?MYFUNCTION@@YAXQAHH@Z
_TEXT SEGMENT
_i$66807 = -8 ; size = 4
_arr$ = 8 ; size = 4
_size$ = 12 ; size = 4
...
我想用
替换它void myOptimizedAssemblyFunction (int arr[], int size)
__asm {
_i$66807 = -8 ; size = 4
_arr$ = 8 ; size = 4
_size$ = 12 ; size = 4
但编译器抱怨
error C2400: inline assembler syntax error in 'opcode'; found 'bad token'
我应该怎么处理这个错误? 这些生成的程序集是什么意思? 我应该将几个寄存器设置为-8,8,12并使用它们吗?