본문 바로가기

소프트웨어/소스인사이트 응용

소스 인사이트와 관련한 생각들..

<같이보기>

2019/01/30 - [소프트웨어/소스인사이트 응용] - 소스 인사이트 매크로를 이용한 자동 주석(comment) 만들기..

2019/01/22 - [소프트웨어/소스인사이트 응용] - 소스 인사이트의 edit와 view 기능개선(a.k.a. trouble shoot..)

2019/01/20 - [소프트웨어/소스인사이트 응용] - 소스 인사이트의 특별한 에디트 능력들..

2019/01/17 - [소프트웨어/소스인사이트 응용] - 소스 인사이트가 가지고 있는 검색 기능들..

2019/01/17 - [소프트웨어/소스인사이트 응용] - [tip]소스인사이트 프로젝트 내에서 불필요한 파일 제거하기..

2018/12/15 - [소프트웨어/소스인사이트 응용] - 소스인사이트 설명



<소스 코드 분석 툴을 설명하는 이유>

1. 최고의 분석 툴

세상에는 많은 사람들이 있고, 의외로 많은 정보들이 인터넷으로 공유가 되어 있습니다. 따라서 내가 하려고 하는 일은 반드시 누군가가 먼저 시도해 본 적이 있는 경우가 대부분일 것입니다. 만일 그렇다면 그 정보를 보고 분석해 보는 일이 먼저가 되겠죠. 

소스코드도 마찬가지입니다. 누군가는 내가 꼭 필요한 소스코드를 만들어 놓은 것들이 많이 있습니다. 

특히나 MCU나 프로세서의 경우, 또는 특정 IC에 컨트롤이 필요한 경우에 관련 드라이버 코드는 해당 벤더에서 대부분 제공을 하고 있죠.


만일 내가 나만의 코드를 짜는 경우에도 마찬가지입니다. 오늘 내가 짠 소스코드는 내일 내가 봤을 때에는 완벽히 이해합니다. 하지만 내가 코딩 일을 10년 ~ 20년을 한다면, 만일 오늘의 내가 5년전 10년전의 코드를 이해하는데 어려움이 있을 수도 있습니다.


여기에서 우리가 중요하게 생각해야 할 부분은, 이러한 소스코드를 빨리 이해하는 능력 되겠습니다.

이를 위해 중요한 것은, visual한 화면으로 코드를 이해를 극대화 해 주는 프로그램이겠죠.


Source Insight는 제가 써 본 에디터 중에서는 단연 최고라고 할 수 있겠습니다.



2. 다른 글에서 응용될 예정

소스 인사이트를 먼저 소개하는 이유는 하나 더 있습니다.


앞으로 제가 설명드릴 소스코드의 많은 부분에서 소스 인사이트가 이용될 예정이기 때문입니다.

그 때 필요한 사항에 대해 case-by-case로 설명드리기 보다는 우선 설명을 해 놓는 것이 필요했기 때문입니다.



<이외에 유용한 툴>

1. 소스 비교 툴

 - Beyond Compare : 소스 코드의 버전 별 변경된 부분이라든지, 소스 내용을 local 에서 두 버전간의 코드 merge가 필요할 때 쓰는 툴입니다.

   가령 한 소프트웨어 프로젝트에서 1.0 버전을 갖고 1.1 버전을 만들어야 하는데, 세 명이 각자의 작업을 했다고 생각해 봅시다. 대부분 자신만 수정한 파일도 있을 테지만, 공통되는 파일을 여러 사람들이 수정하였다고 한다면? 그렇다면, 1.0 버전에서 각자의 파일들 중 변경된 파일만 받아서 한 사람이 차이나는 점들을 소스 비교 툴을 가지고 수정 할 수 있는 것이죠.


물론 현재는 대부분이 형상 관리 툴(CVS, SVN, Git, Perforce) 을 사용하여 서버에 개인이 작업을 하고 있습니다.


2. TI 컴파일러 툴

 - CCS (Code Composer Studio) : TI의 컴파일러 툴인 CCS는 MSP430을 비롯하여, MSP432, C2000, TM4C(Tiva), CC26xx 무선 칩셋 시리즈, C5000, C6000 DSP, AM335x, AM43xx, AM57xx 등의 ARM Processor 등등 TI가 제조하고 있는 대부분의 MCU/DSP/Processor 들을 컴파일 하고 디버깅 해 줄 수 있는 IDE 툴 환경입니다.



<끝>