[Powered by Google Translate] NATE HARDISON : 프로그래밍에서는 라이브러리의 모음입니다 관련 prewritten 코드입니다. 도서관은 어떻게 같은 프로그래머, 공유 공통이며 다른 프로그램들과 서로 도움이 코드를, 우리 , 쓰기, 심지어 서로 다른 프로세스에서 실행과 우리 컴퓨터에서 같은 시간에. 의 좀를 둘러 보자. 아마 표시 한 더 일반적인 기능 중 하나 사용하고는 printf 함수입니다. 이제 printf 있었 마법의 기능은 없습니다 컴퓨터에 하드 코딩 - 대신에,은 C 표준 라이브러리의 일부입니다 함께 제공 기능 모음 C 프로그래밍 언어입니다. printf가 컴퓨터에 내장되지 않기 때문에, 그 의미 거기에 실제로 들어 갔어요 일부 프로그래머가이고 썼다 printf 함수와 표준의 나머지와 함께 번들로 도서관 미래의 프로그래머가 필요하지 않을 수 있도록 노력을 중복. 확인 때문에 우리는, 그런 경우 확인 감사이야 실제로 printf 구현하는 데 걸리는 얼마나 코드 아웃. printf 부분 중 C 표준 라이브러리가 있으며, 가장 중요한 도구 중 하나 당신이 CS50를 예방에 있습니다. 입력 - 출력 라이브러리 외에도 곳 printf 생활은 다른 도서관의 폭도 그 당신은 아마 CS50의 과정을 통해 사용합니다. 예를 들어, 문자열 라이브러리에 기능을 가지고 C 문자열을 비교, 자신의 길이를, 그를 연결. 그리고 수학 라이브러리가 도움 제공 파이와 전자 같은 상수. 이제 다른 프로그래밍의 표준 라이브러리에 비해 언어는 C 표준 라이브러리는 정말 작은 하지만 그들은 여전히​​ 물건이 많이 있습니다. 그래서 표준 라이브러리가 있다는 것은 아니다 만 C 라이브러리, 안에있는 많은이 있습니다 세계가 CS50 도서관을 포함하여 사용하기위한 암호화 및 해독과지도 제작 라이브러리 인코딩 및하는 기능이있는 기능, 도서관 동영상이 재생 등. 이 중요한 따로 우리를 제공합니다. 공학의 핵심 기술 중 하나는 잠을 수 있습니다 도구는 도구 상자에서 사용할 수있는 사용할 수 있도록 그들과하지 않는 휠을 reinventing 방지 당신은 그렇게해야합니다. 프로그래머로서 도서관은 가장 중요한 중 하나입니다 우리가 도구를 제공합니다. 당신이 찾아내는 경우 직접 지루한 또는 보이는 작업에 직면 평범한, C 문자열의 길이를 찾는처럼, 당신 이 경우 될 수 있으면 자신에게 물어해야한다고 사람은 이미 전에 같은 일을하던. 기회는 일부를 찾을 수 아르 도서관에서 도움이됩니다. 따라서 기술 측면에서, 도서관은 이진 파일입니다 의 컬렉션을 함께 연결하여 제작되었습니다 도구를 사용하여 객체 파일,라고하면 그, 링커를 추측. 객체 파일들입니다. O 파일을 할 때 당신이 얻을 C 소스 코드를 컴파일합니다. 프로그래머가 라이브러리를 작성하면, 그들은 일반적으로 파일의 두 가지 유형으로 자신의 C 코드를 분리 : 헤더 파일과 구현 파일. 대회의 헤더 파일은. H 파일 확장명 주어집니다 그리고 도서관의를 선언 코드를 포함 당신이 사용하실 수 있습니다 자원. 이러한 리소스는 함수, 변수, structs를 포함 타입 정의 등, 함께, 그들은 아르 일반적으로 인터페이스라고. 사실, 경우 혹시, 도서관에 뭐가 있는지 궁금 하시죠? 헤더 파일을 찾을 수있는 곳입니다. 예를 들어, USR를 당겨 / 포함 / stdio.h와 확인하실 수 있습니다 모든 아웃 혹시에 대해 알고 싶어요 표준 입출력 라이브러리. 가 여기에 일이 너무, 그리고는 약간의 걸릴 수 있습니다 을 통해 웨이드 할 시간. 그러나, 구글과 맨 페이지와 함께, 이쪽은 당신이 궁금해하는 경우 이동 배치 방법을 표준 I / O 라이브러리 함수가 작동합니다. 그래서 여기 유의 한 주요 문제는,하지만 헤더 파일 그입니다 일반적으로 함수 정의에 포함되지 않습니다 - 즉, 실제 기능 구현입니다. 이 중요한 컴퓨터 과학의 도면이다 원칙은 또한에 언급, 정보 은신처를 호출 캡슐화와 같은 시간. 라이브러리의 사용자 또는 클라이언트로, 당신은 필요 없어요 에있는 라이브러리의 내부에 대해 알고 을 사용하려면. 단지 조금 전에 printf보고 기억 나? 당신은 전에 실제 코드를 본? 음, 난 당신이 수는 없었지만, 당신이하지 않은 것으로 간주 시대의 printf 톤 사용했습니다. 당신이 알고했던 모든 함수 선언 존재 stdio.h 헤더 파일 인치 어쨌든, 좋은 정보가 숨어의 이익은 당신 및 작성 프로그램의 변경에서 절연 아르 라이브러리 함수의 구현의 코드입니다. printf 변화의 구현, 당신은되어 있지 않은 경우 가서 printf 사용하는 프로그램을 모두 변경 될 수 있습니다. 그럼 구현은 어디로 가야합니까? 음, 다시, 컨벤션에 의해 구현에갑니다 . C의 파일 확장명을 가진 파일입니다. 보통 헤더 파일과 구현 파일은 손을 이동 손에 있으므로 새로운 문자열의 무리를 선포 한 경우 mystring.h의 기능은 다음 당신은 모든 정의 mystring에 그 기능. 다. 그래서 헤더와 구현 파일 했군요 다음 링크 객체 파일을 작성, 컴파일 이진 라이브러리 파일을 생성하기 위해 함께. 도서관 작가는 바이너리 파일을 따라을 배송 할 것입니다 헤더 파일 사용하려는 프로그래머에게로 도서관. 이 시점에서. C 구현 파일은 없습니다 따라서 처음부터 라이브러리를 다시 컴파일하는 경우를 제외하고, 필요 종종 생략하고 있습니다. C 라이브러리를 사용하려면 두 가지 작업을 수행해야합니다. 첫째, # 라이브러리의 헤더 파일과 포함해야합니다 당신이 사용하고자하는 소스 코드 파일 도서관의 코드. 이 선언의 모든 컴파일러를 알려줍니다 함수, 변수, structs, 기타 등등,에 존재하는 헤더 파일 그래서 컴파일러는 하나의 보험에 가입 할 수있는 그 당신은 적절한 방법으로 라이브러리의 리소스를 사용하는 두, 해당 어셈블리 코드를 생성합니다. 도서관의 헤더 파일의 위치에 따라 자리 # 포함 구문은 다릅니다. 헤더 파일은 시스템의에있는 경우 기본값은 디렉토리를 포함 - 일반적으로 usr/include-- 포함 #에서와 같이 다음 꺾쇠 괄호 구문이 사용됩니다 . 그러나, 헤더 파일은 같은에 거주하는 경우 디렉토리는 사용자 자신의 코드와 같이 큰 따옴표 구문은 # "mylib.h '를 포함에서와 같이 사용됩니다. 당신이해야 할 두 번째는 바이너리에 연결하는 것입니다 귀하의 코드를 컴파일 라이브러리 파일입니다. 이 슈퍼 중요한 단계입니다. 헤더 방법에 대한 우리의 이전 논의를 기억 파일은 실행 코드를 포함하지 않는? 이 단계를 잊어 버린 경우, 당신은에 대한 오류를 얻을 것 undefined 기호는 코드에서 참조. 이러한 문제를 해결하기 위해, - 내가 플래그는 즉시 다음 사용 라이브러리의 이름 공간이없는. 어플라이언스에서, C 표준 등 많은 시스템에서 라이브러리가 자동으로 연결됩니다. 그러나 수학 라이브러리는 때때로 별도로 제공된다 및 LM으로 연결해야 할 수도 있습니다. 어플라이언스에, 우리는 당신이 일을 처리하며, 또한 - lcs50로 CS50 라이브러리를 연결할 수 있습니다. 당신은 make 명령을 실행 어플라이언스에이 모든을 볼 수 있습니다. 이제 사용하기 위해 필요한 지식을 가지고 있어야 C.에 도서관 탐험 즐거운 시간을 보내세요. 내 이름은 네이트 Hardison 있으며,이 CS50입니다.