[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입니다.