본문 바로가기

전체 글

가변길이 구조체(flexible array member) 커널 코드를 살펴보다, 아래 예제와 같이struct 선언 마지막에 size가 0인 array를 선언하는 코드를 발견하였다. 1234567struct account { int age; int gender; int name_length; char name[];} cs정확한 이름은 C99에서는 flexible array member 라고 한다. (이전에는 struct hack, zero length array라고도 했다는데 아직까지도 다양하게 불리는 것 같다.) [목적]배열의 크기를 고정시키지 않고 동적으로(dynamic) 선택하고 싶을 때 사용한다. name의 경우, 대략 문자10개로 #define MAX_NAME_LEN 10 으로 하고 char name[MAX_NAME_LEN]으로 할 수 있으나, name.. 더보기
그레이 코드(gray code) 와 이진 코드(binary code) 변환 그레이 코드란 숫자를 표기하는 2진 표기법 중 하나이다. 10진수2진수(바이너리 코드)그레이 코드0000000001000100012001000113001100104010001105010101116011001017011101008100011009100111011010101111 [2진수와 그레이 코드 차이점]10진수 3 --> 4 로 값이 1이 증가하는 경우에 바이너리코드 0011 --> 0100 즉 [2:0]번 bit들의 값이 바뀌었다.(물론, 10진수 4 --> 5로 값이 1 증가하는 경우에 바이너리코드 0100 --> 0110 [1]번 bit의 값만 바뀌기도 한다.)즉, 값이 1씩 증가하거나, 1씩 감소할 때 바뀌는 bit의 갯수는 그때그때마다 다르다. 반면에그레이 코드의 경우엔 항상 하나의 bit만.. 더보기
YouTube 광고 없이 보는 방법 해당 글은 google chrome의 확장 프로그램을 사용하는 것이므로.chrome에서만 적용이 된다. 구글에서 native adblocker 를 검색하면 위 그림처럼 "광고 추가됨 Native AdBlocker 102 - Google Chrome"를 발견 할 수 있다 혹은 아래 링크를 클릭하여 들어간다.https://chrome.google.com/webstore/detail/native-adblocker/camfdpcgapdnbokfgemmhdjeoajendmk?hl=ko 오른쪽에 보이는 "Chrome에 추가" 버튼을 클릭한다 "확장 프로그램 추가" 를 클릭한다. 그러면 확장 프로그램 설치가 완료되고, youtube를 광고없이 시청할 수 있게 된다. 더보기