- 과제 설명
- 과제 풀이
[과제 설명]
[과제 풀이]
1. 구름 IDE 꼭 안 써도 됨 (본인이 원하는 리눅스 개발환경 가능)
멘토님께서 원하는 리눅스 개발환경에서 진행해도 된다고 하셔서 KALI LINUX 개발환경을 택했다.
2. Sizeof 연산 타이핑해보기(선택)
멘토님께서 구름 IDE 개발 환경에 신나는 타이핑이라는 게 있다고 한번 해보라고 선택형 과제로 내주신 것이다.
나는 리눅스 환경이지만 실습해 볼 겸 코드를 작성하고 컴파일해서 실행결과를 확인해 봤다.
3. 오버플로 예제를 언더플로로 바꿔서 해보기
-CHAR_MIN의 값에서 -1
char 자료형 범위의 최솟값에서 -1을 해 언더플로를 발생시키는 코드를 짜는 문제이다.
4. 비트 연산 프로그램 바꿔보기
-특정 위치의 비트를 끄는 함수 구현
멘토님께서 설명하신 대로 다음과 같이 그대로 수행만 하면 된다.
`특정 위치만큼 1을 시프트 해야 함 (1 << position)
`1에서 만든 수를 NOT 연산으로 비트 반전 ~ (1 << position)
`비교하고 싶은 수와 ~ (1 << position) AND 연산해서 원하는 위치 비트만 끄기
-사용자의 입력(특정 위치 -int값)을 받도록 수정(선택)
clear_bit로 2라는 값을 입력하여 2번째 위치의 비트를 끄고 결과를 확인해봤다.
5. C언어가 기계어가 되는 과정 직접 해보기
-소스 코드(*.c), 헤더 파일(*.h)
-전처리 과정
-전처리 된 소스 코드 파일(*.i)
-컴파일 과정
-어셈블리어 파일(*.s)
-어셈블리 과정
-오브젝트 파일(*.o)
-링킹 과정
-실행 파일
'Educations > WhiteHat School' 카테고리의 다른 글
[WhiteHat School] 수료증 (0) | 2024.04.02 |
---|---|
[WhiteHat School] 화이트햇 스쿨 (0) | 2024.01.23 |