CS:APP - 프로그램 최적화 2 Posted on March 22, 2017 저번 글에 이어서 계속한다. 1. 예제 및 복습 여기서는 책, 강의에서 제시해주는 예제를 쓰자. vector 자료형에 대한 연산이 정의된 combine 함수를 여러 기법을 사용해 최적화시키겠 [Read More]
CS:APP - 프로그램 최적화 1 Posted on March 21, 2017 오늘은 인강도 참고했다. 이어폰 안가져와서 교수님 목소리 못듣고 페이지만 봄ㅜㅜ https://scs.hosted.panopto.com/Panopto/Pages/Viewer.aspx?id=4b1da67c-2980-4b96-82e7-2f99139a2c0d 1. 비효율적인 함수 호출 아래 코드의 문제점은 무엇일까? void lower(char *s) { for (size_t i = 0; i [Read More]
CS:APP - 기계어, 부동소수점 Posted on March 14, 2017 이 내용 이전에 gdb 사용법, 버퍼 오버플로, 메모리 보호기법, 가변 크기 스택프레임에 대한 내용이 있었다. 그런데 글로 정리하려니 잘 안되서 그냥 생략하고 부동소수점 [Read More]
CS:APP - 기계어, 배열과 정렬 Posted on March 13, 2017 1. 배열과 포인터 연산 배열에 대한 포인터 연산은 다음과 같은 어셈블리 코드로 구현된다. Expression Type Value Assembly code E int * x movl %rdx, %rax E[0] int M[x] movl (%rdx), %eax E[i] int M[x + 4i] movl (%rdx, %rcx, 4), %eax &E[2] int * x + [Read More]
CS:APP - 기계어, 프로시저 Posted on March 9, 2017 오늘은 프로시저(Procedure)에 대해 정리한다. 먼저 프로시저에 대해 알아보자. 나는 프로시저는 인자를 받을 수 있고 값을 리턴할 수 있는 코드 블럭(특정 [Read More]