Re: Передать массив в функцию по значению
От: stas19t  
Дата: 01.09.10 08:17
Оценка:
Так тоже не получается:


    public struct Array {
        int el[2];
    } ar;
    ar.el[0] = 1;
    ar.el[1] = 2;
    void* result = userFunc(ar);



В окне Disassembly выглядит это вот так:


    public struct Array {
        int el[3];
    } ar;

    ar.el[1] = 1;
0000015e  mov         dword ptr [rsp+000000F4h],1 
    ar.el[2] = 2;
00000169  mov         dword ptr [rsp+000000F8h],2 
    void* result = userFunc(ar);
00000174  mov         r11,83CD720h 
0000017e  mov         r10,qword ptr [rsp+28h] 
00000183  lea         rcx,[rsp+000000F0h] 
0000018b  mov         rax,qword ptr [rcx] 
0000018e  mov         qword ptr [rsp+60h],rax 
00000193  mov         eax,dword ptr [rcx+8] 
00000196  mov         dword ptr [rsp+68h],eax 
0000019a  lea         rcx,[rsp+60h] 
0000019f  call        000000000867A524
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.