컴파일링은
전처리 -> 컴파일 -> 어셈블 -> 링크
순서로 진행된다.
소스코드는 전처리를 거치고 컴파일을 거쳐 '어셈블리어'로 되고 이는 '어셈블'과정을 거쳐 오브젝트코드(컴퓨터가 이해하는 언어 0,1)로 바꿔준다. 이후 프로그램이 여러 파일로 이루어져있다면 '링크'를 통해 하나의 오브젝트코드로합쳐준다.
디버깅은 프로그램을 특정 지점에서 멈춘 후 스텝 바이 스텝으로 진행해 볼 수 있다. 이를통해 어디서 문제가 생겼는지 알 수 있게 됨.
코드는 유지보수가 쉽게 작성되어야한다.
최소한 내가 만든 코드를 며칠 뒤에 봤을 때 '아니 이게뭐지?'라는 반응은 나오면 안된다.
다른 사람이 봐도 읽기쉬운 코드를 작성하기위해 노력해야한다.
+여러 도구의 도움을 받아 코드를 잘 작성할 수 있다.
+러버덕 디버깅이라는 방법을 통해 버그를 해결할 수도 있다.
배열은 왜 필요했을까? 생각해 본적은 없었다.
해당 강의를 통해 어떤 필요에 의해 생기게 되었는지 생각해 볼 수 있었다.
c라는 언어는 js보단 불편해 보인다. float 또는 int라고 꼭 명시를 해줘야 하고, number로는 되지 않나보다.
또 특이한 것은 함수 앞에 어떤 값이 return될지 선언하고 시작된다. (float, int, etc..) 그리고 sefl 호이스팅까지.