용어
-
DNS와 DDNS프로그래밍/기록, 개념, 용어 2017. 5. 13. 22:47
DNS(Domain Name System)이름을 IP 주소로 바꿔주는 시스템. 우리에게 익숙한 zepeh.tistory.com 같은 사이트 주소는 이름에 불과하다.(이와 같은 이름을 도메인 네임(Domain Name)이라고 한다.) DNS는 도메인 네임을 실제 접속할 수 있는 IP 주소(IP Address)로 바꿔주는 시스템으로 역할을 해주는 컴퓨터를 네임 서버라고 부른다. 사용자: DNS! zepeh.tistory.com의 주소를 알려줘!DNS: 100.100.10.1사용자: 100.100.10.1 로 접속! DDNS(Dynamic Domain Name System)DNS에 zepeh.tistory.com에 해당하는 내 IP 주소가 등록되어 있다. 근데 내 IP 주소가 바뀌었다. DNS는 내 바뀐 IP..
-
함수 호출 규약 vectorcall프로그래밍/기록, 개념, 용어 2016. 4. 17. 02:33
글이 쓰여진 시점 visual studio 전용의 호출 규약으로(2013 이후 버전), 함수 인수가 가능한 한 레지스터에 전달되도록 지정하는 호출 규약. 비교적 최근에 추가 되었으며 레지스터를 최대한 활용하기 위한 호출 규약이다. 호출자가 오른쪽에서 왼쪽으로 스택에 푸시. x86에선 호출된 함수는 반환되기 전에 스택을 지운다지만, x64에선 호출자가 스택을 유지 관리한다고 다소 모호하게 설명 되어있다. 참고https://msdn.microsoft.com/ko-kr/library/windows/apps/dn375768(v=vs.120).aspxhttp://lunapiece.net/Article
-
포인터 에일리어스(Pointer Alias)프로그래밍/기록, 개념, 용어 2015. 2. 4. 21:20
포인터 에일리어스(Pointer Alias) 두 개 이상의 포인터 변수가 같은 메모리 위치를 담고 있을 때 그 포인터들을 에일리어스(alias)라고 부른다.컴파일러 입장에선 모든 포인터 변수가 서로의 에일리어스 일 수도 있다 생각하는 것이 안전하다. 포인터 에일리어스 발생 가능성이 높은 코드 void any_func( int* a, int* b ){ *b = *b + *a; *a = *a + 2; } 포인터 a, b가 에일리어스 상태가 아니라면 a의 값은 한 번만 로딩되면 된다. 에일리어스일 경우에는 포인터 b가 지칭하는 값에 대한 수정이 a가 지칭하는 값에 대한 수정일 수 있으므로 a의 값이 두 번 로딩되어야 한다. 포인터 에일리어싱이 가능한 코드 void func( int* a, int* b ) { ..