예수, 나는 지금 나이가 들었고 펀치 카드 나 배치 처리를 엉망으로 만들지 않았습니다. 나는 대학 진학 과정에서 한두 번만 하드 카피 터미널을 사용해야했습니다.
우리가 백악기 말기 (1986 년경)에 어떻게 일을했는지 살펴 보겠습니다. 80x24 또는 132x24로 표시 될 수있는 VT220 호박색 문자 기반 터미널을 통해 VAX / VMS를 작업하고있었습니다.
먼저 텍스트 편집기를 시작했습니다.
$ EDIT/EDT HELLO.C
EDT는 vi와 동등한 VMS였으며 DOS edlin과 Notepad 사이의 기능이 떨어졌습니다. 프로그램 텍스트를 입력했습니다
#include <stdio.h>
int main(void)
{
printf("Hello, Stupid\n");
return 0;
}
파일에 파일을 저장 한 다음 편집기를 종료했습니다.
그런 다음 컴파일러를 통해 코드를 실행했습니다.
$ CC HELLO
이는 HELLO.C에서 소스 코드를 변환하고 오브젝트 파일 HELLO.OBJ를 생성했습니다. 개체 파일에 프로그램의 기계어 코드가 포함되어 있지만 아직 실행 파일 형식이 아닙니다. 우선, printf
호출에 대한 실제 이진 코드 는 존재하지 않습니다. 자리 표시 자만 있습니다. 여전히 링커를 통해 객체 파일을 실행해야했습니다. 링커 는 표준 라이브러리 (및 필요한 다른 라이브러리)의 이진 코드를 통합하고 파일을 실행 파일로 인식 할 수 있도록 형식을 지정했습니다.
$ LINK HELLO
이 단계의 결과는 프로그램의 실행 버전 인 HELLO.EXE 파일입니다.
절차는 모든 현대 시스템에서 거의 동일합니다. 특정 툴체인이 다르다는 것입니다. 예를 들어 일반적인 Linux 시스템의 명령 순서는 다음과 같습니다.
$ vi hello.c
$ gcc -o hello hello.c
또는
$ vi hello.c
$ gcc -c hello.c
$ ld -o hello hello.o -lc
이 환경에서 자랐기 때문에 코드 작성을 위해 누군가 IDE 가 필요한 방법을 전혀 이해하지 못했습니다 . 그러나 올해 초 Java로 작업하기 시작했으며 Eclipse에는 많은 결함이 있지만 누군가가 IDE를 사용하여 작업을 수행하는 방법을 이해할 수 있습니다. Java는 C와 비교할 때 매우 큰 언어이기 때문에 구문의 세부 점을 낮추려고 노력하고 있기 때문에 특정 유형의 패키지가 무엇인지 알고 가져 오기를 구성하는 데 도움이되는 현명한 개발 환경을 유지하는 데 도움이됩니다.