본문 바로가기

Compiler2

[C] C의 qsort는 어떻게 짰을까? (유명 석박사들의 코드 훔쳐보기), shift 연산을 해야하는 이유 반갑습니다!!! ​ 오늘은 저녁에 뭔가 인강듣기는 싫고,, 복습하기도 싫어서 C언어의 소스코드는 어떻게 생겼나 훔쳐봤습니다. ​ 여러가지를 보다가 재미있는걸 발견했는데, 공유하기 위해서 저도 씁니다^^ ​ c++의 sort는 여러가지 소트를 합친걸로 알고있습니다. Tim,intro, heap,quick 등등.. 여러개를 합쳤는데요. ​ 예전에 알고리즘 수업에서 과제 중 하나가, 어떤 숫자에서도(숫자 몇십억개가 넘는) 가장 빠른 정렬을 할 수 있는 코드를 짜는게 숙제였습니다. 그걸로 학생들의 시간을 측정해서 차등으로 성적을 매겨줬습니다. ​ 그때 굉장히 많이 찾아봤었는데, 저는 median-of-three라는 pivot 설정으로 quicksort를 짰는데, pivot 고르는걸 잘못했는지.. 어디 하자가 있.. 2021. 7. 31.
[시스템프로그램] 1. 프로그램 컴파일시 내부 동작 원리,Conccurency vs parallelism 시간이 없습니다. 이번학기 시작하기전에 하기로 했는데.. 개강 1주도 안남아서 복습하다니.. 전 사람이 아닙니다.. ​컴퓨터는 C Soruce code를 어떻게 저장할까? 2진수의 8bit로 변환하여 저장함. #include int main(void){ printf("Hello world"); } ​ 위의 소스코드를 컴퓨터는 어떻게 저장할까요? #은 ascii code로 35번입니다. 이걸 2진수 8bit로 변환해서 0010 0011 이런식으로 컴퓨터는 저장을 하게 됩니다. ​ Text file은 오직 ASCII character로만 이루어져 있습니다. ASCII character는 8bit 정수로 표현되므로 결국 컴퓨터 내부는 2진수 8bit형태로 저장이 된다고 볼 수 있습니다. ​ 리눅스에서 C언어를.. 2021. 2. 17.
728x90