전체 글

Hello World
    반응형
CS/컴퓨터 시스템

CSAPP 컴퓨터 시스템 Ch3 (3.5 ~ 3.7)

3.5 산술연산과 논리연산주소 계산 명령어 leaqmovq 가 메모리 주소를 계산해서 그 위치의 값을 읽는 것과 달리, leaq 는 주소 계산만 하고 그 값 자체를 목적지 레지스터에 넣는다. 목적 지는 반드시 레지스터이다. 컴파일러는 이걸 산술 연산 용도로 전용한다. leaq 7(%rdx,%rdx,4), %rax → %rax = 5*%rdx + 7 즉 C 의 x * 5 + 7 같은 식이 곱셈 명령 없이 한 줄로 변환된다. leaq 는 조건 코드를 설정하지 않는다. 단항, 이항 연산자단항 : inc (+1), dec (-1), neg (부호 반전), not (비트 반전) → C 의 x++, -x, ~x 에 대응이항 : ADD, SUB, IMUL, XOR, OR, AND . 두번째 피연산자가 소스이자 ..

CS/컴퓨터 시스템

CSAPP 컴퓨터 시스템 Ch3 (3.1 ~ 3.4)

다른 CSAPP 글 보러가기 'CS/컴퓨터 시스템' 카테고리의 글 목록Hello Worldskylarcoding.tistory.com 3.1 역사적 관점우리가 현재 쓰는 CPU의 대부분은 x86-64라는 설계를 따른다.16 → 32 → 64 비트비트 수가 올라가면 : 한 번에 다룰 수 있는 데이터가 커지고, 쓸 수 있는 메모리도 커진다. 하위 호환성이후 세대 프로세서는 이전 세대용으로 컴파일된 코드를 계속 실행할 수 있어야 했고, 그 결과 명령어 집합에 역사적 잔재 (옛날 기능들) 가 많이 남아있다. 3.2 프로그램 인코딩⭐️ Machine-Level Code 기계수준 코드C 프로그램을 볼 때 안 보이던, 기계어 수준에서 드러나는 프로세서 상태 4가지PC (Program Counter, %ri..

Back End/C

TIL - C Debugging Lab : Use After Free

문제풀이를 위해 공부한 개념Use After Free말 그대로 free() 한 메모리를 다시 사용하는 것이다.free(p) 가 하는 일 : 이 영역 이제 안 쓴다고 할당자(allocator) 에게 반납한다.free(p) 가 하지 않는 일 : 메모리 내용을 지우지 않는다. p 값 자체도 건드리지 않는다.free 직후의 p 는 여전히 그 주소를 가리키고 있다. 이런 포인터를 dangling pointer(허상 포인터) 라고 부른다. strncpy문자열을 복사하는 함수#include char *strncpy(char *dest, const char *src, size_t n);src 에서 최대 n 바이트를 dest 에 복사반환값 : dest 의 주소동작strlen(src) strlen(src) ≥ n → ..

기록/크래프톤 정글

WIL 04 - C : Data Structure / C 언어와 친해지기

이번주 목표C 언어 학습 (포인터, 이중포인터 마스터) 기초 익히기 및 코드업 기초예제 10문제 - Linked List C 언어를 처음 접하는 것이기에, 이번주는 C 언어 익히기에 집중하는 것을 목표로 하였다. 달성률은 ... 흠 60% 정도 되지 않을까 싶다. 그래도 기반이 있으면 구현은 가능하다고 생각했는데, 아예 0부터 구현하라고 하면 막막할 것 같다 ! 시도한 접근 방식C 언어 공부 방식먼저 AI 를 통해 C 언어에서 가장 기초가 되는 지식을 알려달라고 하여 학습하였다. 그리고 code up 기초 예제 몇 문제를 풀었다. 코드업코드업은 프로그래밍을 배우고 싶은 사람들을 위한 온라인 학습 플랫폼입니다.codeup.kr 포인터까지 학습 후, Linked List 문제를 5번까지 풀었다. 6번부..

CS/자료구조·알고리즘

[C] RecursiveReverse 구현하기

문제Write a C function recursiveReverse()that recursively reverses the given linked list by changing its next pointer and its head pointer.https://github.com/yeooonee/Jungle-C-Data-Structure/blob/master/Data-Structures/Linked_List/Q7_A_LL.c Jungle-C-Data-Structure/Data-Structures/Linked_List/Q7_A_LL.c at master · yeooonee/Jungle-C-Data-StructureContribute to yeooonee/Jungle-C-Data-Structure devel..

    반응형
Lar
개발지식 저장소