프로그래밍

 3198, 1/160 회원가입  로그인  
   오티
   링크와 컴파일 개념?

http://www.hackerschool.org/HS_Boards/zboard.php?AllArticle=true&no=3215 [복사]




프로그래밍 과정이

1.코딩
2.컴파일
3.링크
4.exe실행파일 생성


인건 알겠습니다.
컴파일은 뭐 통역사개념으로
기계어(010101010101110...)가능한 컴퓨터와
C언어가능한 사람과의 이어주는 뭐 이런 역할..?
인것도 대충 개념이 알겟는데


링크의 개념은 모르겟네요;?

알려주시면 감사하겟습니다 .
(링크와 컴파일의 차이점??)

  Hit : 4394     Date : 2011/11/20 11:32



    
BrokenPipe 컴파일은 기계어 코드로 바꿔주는거구요
링크는 파일을 생성해주는겁니다
컴파일하면 목적파일이 생성되고
링크과정에서 목적파일을 사용해서 프로그램을 생성합니다
2011/11/21  
BrokenPipe 컴파일 + 링크 과정을 빌드라고 부르고요 2011/11/21  
민타비 C언어로 소스를 코딩하면 생기는 파일이 C파일이지요
그런데 프로그램 한개가 C파일 한개로만 이루어지기엔 너무 빈약하잖아요 ㅎㅎ?
물론 간단한 거야 가능하겠지만 좀 구색을 갖추려면 소스가 많이 필요하니, C파일도 여러 개가 필요하죠.
그 여러 개의 C파일들을 '컴파일'하게 되면서, 그 안에 있던 C언어들을 컴퓨터가 이해할 수 있는 기계어로 바꾸어 주어, 각각 새로운 파일들을 생성하게 됩니다.
그 생성된 파일들이 Object 파일'들'이 됩니다.

그런데 프로그램은 여러 개가 아니라 한개잖아요~
그래서 그 여러 개의 Object 파일'들'을 하나로 묶어서 exe파일로 바꾸어 주는 과정이 링크입니다!
이해가 되셨으면 좋겠네요~~
2011/11/21  
hgsung76 프로그램 소스를 작성해서 컴파일하면 일단 기계어로 번역이 되는데요

물어보신 링크는 변역된 부분을 한개의 실행가능한 파일로 묶는다고
보시면 됩니다.

예를들면

파일시작 ---------------------------------
코드부 -> 작성한 프로그램의 코드부분
---------------------------------
변수부 -> 프로그램 변수들
---------------------------------
데이터 -> 문자열등 미리 적어놓은 데이터들
파일끝 ---------------------------------

알기쉽게하느라 정확한 표현을 쓰지못했지만

번역된 프로그램을 미리 정의된 실행파일 규격에 맞춰
함수와 변수들 메모리의 영역을 배치해서 묶는것을
링크라고 합니다.

2011/11/26