안녕하세요, 어서 오세요
이번 강의에서는 include 진술에 관해 얘기하고 싶어요
네 다시 한번 첫 번째 과제에서 C 코드와 C 프로그램을
처음 접했는데요 여기에 질의문도 포함된다는 걸 아셨어야 합니다
네 이 예제에선 8번 라인이에요 챌린지
프로젝트 예제죠 기본 C 프로그램이요
include가 보이시죠
네 이제 프리프로세서가 뭔지 알았으니 그게
프리프로세서 지시란 걸 알죠 파운드 기호가 있으니까요
네 우물 정자로 시작하는 건
전처리 명령이에요 전처리 명령이죠
맞아요 그래서 알죠 8번째 줄에 우물 정자와 함께 특정 키워드를 넣으면
사전 처리된 지시 사항입니다
이게 정확히 뭘 하는 건지 설명해 드릴게요
이게 무슨 뜻이죠?
네 다시 말하지만 이건 C#의 기본 개념으로 초기에 얘기해야만 합니다
모든 C# 프로그램엔 그게 있거든요
jva의 수입문에 익숙하시다면 아주 유사하죠
일부 슬라이드에서 이에 관해 상세히 설명하겠지만 모든 C#
프로그램에서 보게 될 거예요
include 문장은 apreprocessor 지시입니다
파운드 기호 때문이죠
네 우린 그걸 문장이라고 불러요 지령과는 반대로요 별다른
이유 없이요 프로그래밍 언어에선 그 용어를 자주 쓰거든요 엄밀히
따지면 명령이죠
다시, ourprogam의 예제는 이 꺾쇠괄호 안에 있는
뭔가를 포함하고 있어요
include key워드and를 보면 Stdio를 볼 수 있죠 H요
이게 그 예죠
첫 번째 과제에서 썼던 거예요
실행 가능한 프로그램은 아니에요
하지만 그게 없으면 프로그램이 돌아가지 않아요
처리 후 지시인 거 알아요
프로그램이 작동하는 방식만큼 해로운 건 없어요
네 컴파일러가 실행되기 전에 알려주는 거죠 저기요 우리 이거 포함시켜서 뭔가
하고 있었어요
그런 게 없다면 컴파일러가 불평하며 오류를
낼 거예요
그러니 필요하겠죠
우물 정자는 사전 처리 지시라는 뜻이에요
네 네 아까 말씀 드렸듯이 컴파일러에게 소스 코드를
컴파일하기 전에 해야 할 일이 있죠
네 그렇죠 많은 사전 처리 지침이 있습니다 사전 처리 강의에서
몇 가지 예를 말씀드렸죠
우린 상수와 정의된 성명에 대해 얘기했죠
if and else andso는 조건부 사전 처리 명령에
관해 얘기했어요
하지만 이건 정말 명령적으로 사용된 것 중 하나죠 include요
네 다시 한 번 이런 명령은 소스 코드 어디에나 있을 수 있어요 하지만
보통 상단에 있죠
include에서요 구체적으로 이건 전처리 명령이 포함되죠 jva에서의
수입문과 아주 유사합니다 잘 아신다면요
그게 무슨 뜻이죠?
여기 위의 예제에서 우물 정자를 추가하세요 H요 컴파일러에
프로그램 콘텐츠를 포함하도록
하는 것입니다
어딘가에 stdio라는 파일명이 있어요. H요
네 디렉티브가 의미하는 건 디렉티브를 포함하는 제 현재 프로그램이
컴파일하려면 이 파일 안의 내용이 필요하단 거죠
구체적으로 includedirective는 파일 이름을 가질
거예요. H요
헤더 파일이라고 하는데요
헤더 파일이라고 하는데 보통 소스 파일의
상단에 포함되어 있어요
헤더 파일을 모두 포함하면 가장 먼저 해야 하는 것 중 하나죠
이 사전 처리 명령은 파일
안의 내용물을 원한다고 말하죠
C 파일이 아니에요
그 파일은 A로 끝나요 c는 c 소스 파일이죠
정말 짜증 나요 뭔가 더 있을 거예요
헤더 파일이에요
그런 게 있어요 H 익스텐션요
헤더 파일에 대해 얘기해보죠
헤더 파일은 해당 파일에서 제공된 일부 기능과 관련된
정보를 정의하죠
헤더 파일의 콘텐츠에 대한 예를 보여드리죠
먼저 소스 코드에 대한 정보를 정의하고 있어요
특히 Stdio를 포함한 예제에서요 h, 이건 c 표준 라이브러리 헤더를
포함하고 있어요
도서관에 대해 말씀드렸죠?
네 라이브러리는 C#을 위해 쓰여진 추가 기능입니다
여러분의 프로그램에 포함할 수 있습니다 다시 쓸 필요가
없습니다
다시 한 번 라이브러리의 예는 콘솔에 읽고 쓰기를 하는 거죠 파일을 출력하고
읽고 쓰는 거죠 네트워킹 코드와 관련된 다양한 것들이 있습니다
많은 다양한 라이브러리가 있습니다
하지만 수도원요 h는 c 표준 라이브러리예요
네 C# 프로그래밍 언어와 함께 온다는 의미죠
출력하기 위한 기능을 제공합니다 다른 많은 것들과 함께요
참 엉뚱하네요 h는 헤더 파일이에요
컴파일러가 이해해야 하는 일부 기능을 정의합니다 그걸 실제로
사용하기 전에요
정확히는 구조대군요 printf에 대한 H가 포함되어 있어요
네 다음 강의에서 printf에 관해 말씀드리겠습니다
출력을 디스플레이하는 걸 돕죠 printf는 Stdio의 함수예요
h 헤더 파일이요
다른 기능들도 포함하고 있어요
스트디오는 표준 입력 출력을 줄인 말이에요
이 라이브러리는 입력과 출력을 처리하기 위한 기능을 설명하고
있어요
이게 의미 있는 이름을 사용하는 개념이에요
그걸 Jason이나 Jason 으로 부르고 싶지는 않아요 의미가 없으니까요
구조대를 이용하죠 일반적인 io를 말하는 거예요
표준 입력과 출력 라이브러리는 가져오기 위한 모든 종류의
기능을 갖고 있죠 알파
네 네 구체적으로 챌린지 프로그램에서 사용하고자 하는 기능이죠
첫 번째 예제 프로그램은 printf라는 함수를
이용하는 것입니다 콘솔에 결과물을 보여줍니다
이 요새를 포함해서요 h 소스 코드에서 이렇게 말하죠 이 printf의 기능을
사용하기 위해서는 이 파일을 포함해야 한다고요
네 헤더 파이어스는 컴파일러가 프로그램 내의 어떤 코드나
함수들을 재사용하고 통합하기 위해 사용하는 정보를 명시화합니다
네 그래서 아주 다양한 표준 라이브러리 헤더 파일을 사용할 수도 있습니다.
Stdio에는 많아요. h는 하나일 뿐이죠
네 여기 또 헤더 파일이 있네요 네트워킹 코드와 소켓 코드를 위한 기능이나
함수 프로토타입을 정의하는 헤더 파일이죠
다시 한 번 그것들을 검토할 거예요 문자열, 완전한 단어
같은 거요
하지만 C 표준 라이브러리에 추가로 C 프로그래밍 언어와 함께 오는 다양한 라이브러리에서
자신만의 헤더 파일도 만들 수 있어요 여러분은 헤더 파일을
생성하게 될 것입니다 헤더 파일은 소프트웨어의 재사용을 허용하기
때문입니다
C로 재사용할 수 있어요
네 C#의 디자이너들은 데이터를 읽고 쓰며 입력과 출력을 처리하는
C# 코드를 작성합니다
새로운 C# 프로그래머가 자신만의 것을 만드는 것을 원하지 않죠
당신을 위해 코드를 작성하고
사용할 수 있다고 할 거예요
이걸 사용하는 방법은 헤더 파일을 포함하는 거죠
네 그래서 여러분이 여러분의 개발자로서 여러분은 큰, 큰 큰 프로그램에 다른
파일에서 사용되길 원하는 수천 개의 파일을 작성할 수도 있죠
그래서 고유 헤더 파일을 작성하게 되죠
헤더 파일도 역시 함수 프로토타입을 정의할
겁니다 다양한 상수와 온갖 다양한 것들이 여러분의
프로그램을 사용할 수 있는 다른 파일을 돕죠 프로그램 편성에
도움이 될 겁니다
소프트웨어 reusetechnic이죠
그래서 thisStard io를 포함할 거예요 프로그램 내의 헤더 파일이죠 표준
라이브러리에서 printf 기능을 사용해야
할 때마다 요구됩니다
그걸 포함시키지 않으면 컴파일되지 않아요
그러니 Confirm 기능을 사용할 때마다 include를
사용해야 해요
헤더 파일고 같은 구문은 대소문자를 구분해요
케이시 민감성 의미uppercase나 소문자요
어느 쪽을 하느냐가 중요하죠
그러니 항상 소문자로 써야 해요
네 네 그래서 소문자 파일로
되어 있어야 해요
프로그램에 헤드헤더 파일을 포함하는 방법은 두 가지예요
제이슨을 포함해 꺾쇠괄호 세척기를 쓸 수
있어요 h와 꺾쇠괄호예요
네 이것은 프리프로세서에게 시스템 디렉터리에서
파일을 찾으라고 말합니다
보통 C 프로그래밍 언어를 다루는 표준 라이브러리예요
큰따옴표를 사용해도 돼요
큰따옴표는 보통 사용자 정의 헤더 파일이란 뜻이에요
네 개발자로서 당신이 만든 거죠 C# 프로그래밍
언어와 함께 오진 않았지만 저 헤더를 둬야죠 코드를 재사용해야
하니까요
현재 디렉터리에서도 볼 수 있어요
네 네 C11 표준과 일치하는 모든 C 컴파일러는
표준 헤더 파일 세트를 갖게 됩니다
이건 라이브러리를 나타내는 헤더 파일이에요
언어와 함께 작동하는 C# 기능이죠
네 include 지침을 사용할 때 include 지침을 사용할 때는 다른 프리프로세서 지침을
사용하는 것이 일반적입니다 파일을 한 번 이상 포함하지 않도록 찾고
정의해야 하죠
효율성을 위해서죠
여러분 프로그램이 printf를 사용하는 경우 예를 들어서요 화면에
출력을 표시하는 경우 여러분은 프로그램에 이렇게 말하는 거죠 표준 라이브러리에
이 추가 기능을 포함시켜야 해
네 한 번 이상 포함시키면 안 돼요 사전 처리기가
불필요한 일을 많이 할 테니까요
정의되지 않았다면 일반적으로 사용하죠
제가 제공하는 예제에서 이 중 일부를 보시게 될
겁니다 여기에 포함을 시켰어요 정의와 정의문을요
콘텐츠에 어헤더 파일의 예가 있네요
헤더 파일이나 주석이 있을 수도 있고 다른 것들이
있을 수도 있죠
주로 기능 프로토타입이지만 상수나
형식이 있을 수 있어요
아직 이해가 안 되는 개념이에요
그렇군요 저는 그저 여러분께 다양한 요소를 표현하고
이해시키려는 거예요
구조대를 위해서요 h printf라는 게 있어요 printf 함수를 정의하는
거죠 그래서 링크를 할 때 그걸 위한 구현 코드를 찾을
수 있어요
기능 프로토타입이에요
기능 프로토타입은 기능의 이름을 바꾸는 거예요
이제 어떤 함수인지 잘 압니다 코드를 그룹화하는
방법일 뿐이죠
기능에 관해선 나중에 더 자세히 얘기하죠
헤더 파일은 많은 것들을 포함할 수 있어요.
명령, 상수, 구조 선언을 포함할 수 있어요
이건 변수성을 그룹화하는 방법입니다 다른 데이터를 그룹화하는 거죠
Typedef 문장은 데이터 형식과 관련이 있어요
나중에 더 얘기하죠
하지만 기능적인 시제품이 가장 중요하죠
네 함수가 어떻게 정의되었는지 알려줍니다 컴파일러가 필요한 코드를
생성할 수 있도록요
실행 가능한 코드는 소스 코드 파일로 가죠
소스 코드 파일은 에서 끝나죠 C 익스텐션요
실행 가능한 코드는 보통 헤더 파일로 안 가죠
예외도 있어요
어떤 것을 인라인으로 하고 싶을 때 헤더 파일에 소스
코드를 넣으면 효율성이 생깁니다.
하지만 일반적으로 그렇죠. h 파일, aheeader 파일은 구현 코드를 포함하지 않아요
정의들을 위한 라인오프 코드를 포함하고 있어요.
거기엔 논리가 없을 거예요
정의만 남겠죠
이 함수는 존재해요
그 기능은 존재해요
이 상수들은 존재해요
다양한 구조물이 존재해요
코디스가 어떻게 작동하는지는 안 나와 있어요
그냥 존재한다고 말해주는 거예요
컴파일러가 연결을 생성하기 위해 필요한 거죠
이제 여러분의 헤더 파일을 생성할 거에요.
시스템 headerfiles를 추가 기능으로 사용할 수 있고요.
네 C# 프로그램을 작성하기 전에 여러분이 이해해야
할 개념입니다 모든 프로그램에 지침이
포함된 걸 보게 될 테니까요
어딘가에 추가적인 코드를 포함하고 있다고 Programagain에
알려주는 거죠
네 추가적인 definition 코드를 포함하고 있습니다
C# 프로그램의 다른 코드에서 다른 기능들을 호출할 수 있습니다
이해가 되면 좋겠네요
그렇게 복잡한 개념은 아니에요
추가 코드를 포함하고 있어요
꽤 직관적이지만 앞으로 살펴보면서 더 많은
예제를 제공하도록 하죠
고마워요