어셈블리 구조체 접근
# include <stdio.h>
typedef struct _stu {
int v1;
int v2;
}stu;
int main(void) {
stu s;
printf("address(s) => %p\n", &s);
__asm
{
lea edi, s;
mov eax, edi;
mov dword ptr[eax + 0], 10;
mov dword ptr[eax + 4], 11;
}
printf("s.v1 => %d\n", s.v1);
printf("s.v2 => %d\n", s.v2);
return 0;
}
///////////////////////////////////////////////////////////////////////////////////////////
#include <stdio.h>
typedef struct _stu
{
int v1;
int v2;
int v3;
}stu;
int main(void)
{
stu s;
/*
int* p = NULL;
p = &s.v1;
*p = 10;
p += 1;
*p = 11;
p += 1;
*p = 12;
printf("s.v1 : %d\n", s.v1);
printf("s.v2 : %d\n", s.v2);
printf("s.v3 : %d\n", s.v3);
*/
void* p = NULL;
p = &s;
//int(*p) = 1;
printf("sizeof(p) => %d\n", sizeof(p));
printf("address(p) => %x\n", (int)p+4);
printf("address(s.v1) => %x\n", &(s.v2));
//p += 1;
//*p = 2;
return 0;
}
'언어 > c언어' 카테고리의 다른 글
# 네이버 문제_풀이 ( 쓸데없이 공들임 ㅋㅋㅋㅋ) (0) | 2017.10.22 |
---|---|
#네이버 문제 풀이 (0) | 2017.10.22 |
# 네이버 _ 2017_10_21 (0) | 2017.10.21 |
#네이버 문제 (0) | 2017.10.19 |
학생들 자리 랜덤 코드 (0) | 2017.10.16 |