나는이 방법이 무엇인지 알아낼뿐입니다.이 줄을 한 줄씩 올리는 방법이 있어야한다는 것을 알고 있습니다. 제발 도와 줄 수 있습니까?C 반환 및 비교 인라인
감사
int
conditional (int n, EXPRESSION * * o)
{
return (evaluateExpression(*o++)? evaluateExpression(*o) : evaluateExpression(*++o));
}
UPDATE :이 evaluateExpression 코드입니다
int
evaluateExpresion (EXPRESSION * e)
{
__asm
{
mov eax,dword ptr [e]
movsx ecx,byte ptr [eax]
test ecx,ecx
jne salto1
mov eax,dword ptr [e]
mov eax,dword ptr [eax+4]
jmp final
salto1:
mov esi,esp
mov eax,dword ptr [e]
mov ecx,dword ptr [eax+8]
push ecx
mov edx,dword ptr [e]
movsx eax,byte ptr [edx]
push eax
mov ecx,dword ptr [e]
mov edx,dword ptr [ecx+4]
call edx
add esp,8
final:
}
}
evaluateExpression 함수의 코드가 필요합니다. –
코드 넣기 Blaenk – Sheldon