-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1 from Seong-Myeong/by_myeong_gcc
hello world, gcc and recent summary.md
- Loading branch information
Showing
6 changed files
with
223 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
### gcc κΈ°λ³Έ 컀맨λ μ€λͺ | ||
|
||
gccλ! GNU μ»΄νμΌλ¬ λͺ¨μ(GNU Compiler Collection, μ€μ¬μ GCC)λ GNU νλ‘μ νΈμ μΌνμΌλ‘ κ°λ°λμ΄ λ리 μ°μ΄κ³ μλ μ»΄νμΌλ¬μ λλ€. μμ μννΈμ¨μ΄ μ€μ κ°μ₯ μ μλ €μ§ κ²λ€ μ€ νλμ΄μ£ . | ||
μλ GCCλ Cλ§μ μ§μνλ μ»΄νμΌλ¬λ‘ μ΄λ¦λ "GNU C μ»΄νμΌλ¬"μΏμ§λ§, νμ C++, Java, Fortran, Ada λ± μ¬λ¬ μΈμ΄λ₯Ό μ»΄νμΌν μ μκ² λλ©΄μ, νμ¬μ μ΄λ¦μΌλ‘ λ°λμμ΅λλ€. | ||
GCCλ 리μ²λ μ€ν¨λ§μ΄ 1987λ GNU νλ‘μ νΈμ μ»΄νμΌλ¬λ‘ μμ±νμλλ€. GNU νλ‘μ νΈμ μ»΄νμΌλ¬κ° μμκΈ° λλ¬Έμ μ΄ κ°λ°μ μμ μννΈμ¨μ΄ μ¬λ¨μ΄ νμνμμ΅λλ€. 1997λ κ°λ° κ³Όμ μ 곡κ°λμμΌλ©°, μλ λν λΉ¨λΌμ‘μ΅λλ€. 199λ 첫 λ²μ μ΄ λμλλ° νμ¬ GCCλ μ μΈκ³μ μΌλ‘ κ΄λ¦¬λκ³ μμΌλ©°, λ€μν μ€μ μ²λ¦¬ μ₯μΉλ₯Ό μ²λ¦¬ν μ μκ² λμμ΅λλ€. | ||
GNU μμ€ν μ 곡μ μ»΄νμΌλ¬μ΄λ―λ‘ GCCλ λ§μ μ»΄νμΌλ¬μ μ΄μ 체μ λ₯Ό λ§λλλ° μ¬μ©λμμ΅λλ€. ννΈ, μμ€ν λ€μ΄ν°λΈ μ»΄νμΌλ¬λ₯Ό μ¬μ©νμλ λΉν΄μ GCCλ₯Ό μ¬μ©νλ©΄ κ°μ νμλ‘ μ½λλ₯Ό μ²λ¦¬νλ―λ‘ μ΄μμ±μ ν₯μμν¬ μ μμμ΅λλ€. GCCλ μμ© μ»΄νμΌλ¬μ λΉν΄μ λλ¦° μ½λλ₯Ό μμ±νμ§λ§ μ΅κ·Ό λ§μ΄ κ°μ λμμ΅λλ€. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
### gccμ λν κΈ°λ³Έ μ΄ν΄ | ||
|
||
gccλ₯Ό μμ€λ₯Ό κ°μ Έλ€ μμ μ€μΉν΄λ³΄μ μ μ μμ κ²μ λλ€. 보ν΅μ λ°μ΄λ리 ν¨ν€μ§λ‘ λ κ²μ κ°μ Έλ€ μ€μΉλ₯Όν΄μ! gcc ν¨ν€μ§κ° μ΄λ€ κ²μΌλ‘ ꡬμ±λμ΄μλμ§! gccκ° μ λλ‘ μ€μΉλμ΄ μλμ§ μλ³΄λ΄ μλ€ | ||
|
||
/lib/cpp ----> /usr/lib/gcc-lib/i386-linux/2.7.2.1/cpp (λ§ν¬) | ||
/usr/bin/cc ----> gcc (λ§ν¬) | ||
/usr/bin/gcc C μ»΄νμΌλ¬ 'front-end' | ||
/usr/bin/protoize | ||
/usr/bin/unprotoize | ||
/usr/info/cpp.info->.gz GNU info μμ€ν μ μ΄μ©νλ νμΌλ€ | ||
/usr/info/gcc.info->.gz | ||
/usr/lib/gcc-lib | ||
|
||
λ§μ§λ§ /usr/lib/gcc-lib λλ ν 리μ gccμ κ΄ν λͺ¨λ λ΄μ©μ΄ μ€μΉλ©λλ€. | ||
|
||
보ν΅μ μ΄λ¬ν νμμΌλ‘ λλ ν 리 ꡬ쑰λ₯Ό κ°μ§λλ€. | ||
/usr/lib/gcc-lib/<νλ«νΌ>/<gcc λ²μ > | ||
|
||
/usr/lib/gcc-lib λ°μ λ΄μ©μ μ΄ν΄λ³΄κ² μ΅λλ€ | ||
|
||
/usr/lib/gcc-lib/i386-linux/2.7.2.1/cc1 | ||
/usr/lib/gcc-lib/i386-linux/2.7.2.1/cpp | ||
/usr/lib/gcc-lib/i386-linux/2.7.2.1/include/*.h | ||
/usr/lib/gcc-lib/i386-linux/2.7.2.1/libgcc.a | ||
/usr/lib/gcc-lib/i386-linux/2.7.2.1/specs | ||
|
||
cc1μ μ§μ§ C μ»΄νμΌλ¬ 본체μ λλ€. gccλ λ¨μ§ μ μ νκ² CμΈμ§ c++μΈμ§ μλλ©΄ μ€νΈμ ν°λΈ C μΈμ§λ₯Ό κ²μ¬νλ©° μ»΄νμΌ μμ λ§ μλλΌ __"λ§ν¬"__ λΌλ μμ κΉμ§ C μΈμ΄λ‘ νλ‘κ·Έλ¨ μμ€λ₯Ό λ§λ λ€μ, νλ‘κ·Έλ¨ λ°μ΄λλ¦¬κ° λ§λ€μ΄μ§κΈ°κΉμ§μ λͺ¨λ κ³Όμ μ κ΄μ₯ν΄μ£Όλ "μ‘°μ μ"μν μ ν΄μ€λλ€. | ||
|
||
C μ»΄νμΌλ¬λ cc1, C++ μ»΄νμΌλ¬λ cc1plus, μ€λΈμ ν°λΈ C μ»΄νμΌλ¬λ cc1objμ λλ€. μ¬λ¬λΆμ΄ C++/μ€λΈμ ν°λΈ C μ»΄νμΌλ¬λ₯Ό μ€μΉνμ ¨λ€λ©΄ cc1plus, cc1obj λΌλ μ€ννμΌλ μ°Ύμλ³Ό μ μμ΅λλ€. cppλ "ν리νλ‘μΈμ"μ λλ€. #include λ±μ 본격μ μΈ cc1 μ»΄νμΌμ λ€μ΄κ°κΈ°μ μμ λ¨Όμ (pre) μ²λ¦¬(process)ν΄μ£Όλ λ μμ λλ€. | ||
|
||
g++ μ¦ C++ μ»΄νμΌλ¬μ λν ν¨ν€μ§λ λ€μκ³Ό κ°μ΅λλ€. | ||
/usr/bin/c++ ---------------------------------> (λ§ν¬) | ||
/usr/bin/g++ | ||
/usr/bin/gcc-lib/i386-linux/2.7.2.1/cc1plus (μ§μ§ C++ μ»΄νμΌλ¬) | ||
|
||
μ€λΈμ ν°λΈ C μ»΄νμΌλ¬ ν¨ν€μ§λ λ€μκ³Ό κ°μ΅λλ€. | ||
|
||
/usr/lib/gcc-lib/i386-linux/2.7.2.1/cc1obj | ||
/usr/lib/gcc-lib/i386-linux/2.7.2.1/include/objc/*.h | ||
/usr/lib/gcc-lib/i386-linux/2.7.2.1/libobjc.a |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
### gcc μ¬μ©νκΈ° | ||
|
||
``` c | ||
#include <stdio.h> | ||
|
||
int main (void) { | ||
printf("Hello World!"); | ||
|
||
retrun 0; | ||
} | ||
``` | ||
μμ μ½λλ‘ Hello World!λ₯Ό μΆλ ₯ν΄λ΄ μλ€. μ»΄νμΌμ νκΈ°μ μ | ||
ν€λμ mainν¨μ, μ μΆλ ₯μ λν΄μ μμλ΄ μλ€ | ||
μμ μ½λμμλ stdio.hλΌλ ν€λ ν¨μλ₯Ό μ¬μ©νλλ°μ μλμμ μ΄ printfν¨μ μλ κΈ°λ³Έ νμ printf()μ λλ€. κ΄νΈκ° λΆμ΄μμΌλ©΄ λλ€μ ν¨μλΌκ³ λ³Ό μ μμ΅λλ€. μ¬κΈ°μ μ€μν μ μ μ΄λ ν¨μλΌλ μ μΈλ°μ. λ³΄ν΅ μ΄λ κ² μκ°ν©λλ€. __"μ°λ¦¬λ μ ν¨μλ₯Ό μ μΈν΄μ€ μ μ΄ μλλ°?"__ λΌκ³ μκ° ν μ μλλ°μ. μλμμ! μ¬μ€ μ ν¬λ ν¨μλ₯Ό μ μΈνλ΅λλ€~ | ||
λ°λ‘ #include <stdio.h> μ΄ λΆλΆμμ μ¬μ©νμ΄μ. | ||
#include<stdio.h>μμ printfλ₯Ό ν¬ν¨ν μ¬λ¬ ν¨μλ€μ μ μΈνλ€λ μλ―Έμ λλ€. λ€λ₯Έ ν€λ νμΌλ μλλ° μ΄λ κ°κ°μ'~.h'μ κ°μ λ°©μμΌλ‘ μ¬λ¬κ°μ§ ν¨μλ€μ΄ __'μ μΈ'__ λμ΄μμ΅λλ€! μ΄λ₯Ό #includeμμ λ£μΌλ©΄ λ©λλ€. | ||
λν μ¬κΈ°μ μ¬μ©λ printfλ μΆλ ₯ ν¨μλ‘ μΆλ ₯ λ΄μ©μ νμκ³Ό κ°μ΄ λνλκ² λλ©΄ μ¬μ©ν μ μκ² λ©λλ€. scanfλ μλλ° μ΄λ μ λ ₯ ν¨μμ΄λ©° printfμ κ°μ΄ νμκ³Ό κ°μ΄ νννλ©΄ μ λ ₯μ λ°μ μ μκ²λ©λλ€. | ||
μ΄μ ν€λμ μ μΆλ ₯ ν¨μμ λν΄ μμμΌλ main ν¨μμ μ리μ λν΄ μμλ³΄κ² μ΅λλ€ | ||
``` c | ||
int main() { | ||
λ΄μ© | ||
return 0; | ||
} | ||
``` | ||
μ΄λ mainν¨μμΈλ°μ cμΈμ΄μμλ mainμ΄λΌλ ν¨μλ₯Ό μ°λ©΄ νλ‘κ·Έλ¨μ΄ μ€νλ¨μ μλ―Ένλ©°, __'0μ κ°μ΄ λ°νλ κ²½μ°, νλ‘κ·Έλ¨μ΄ μ μμ μΌλ‘ λ§μ³€μΌλ μ’ λ£ν΄λΌ'__ λΌλ μλ―Έλ₯Ό κ°κ³ μμ΅λλ€. | ||
|
||
μ΄μ μ»΄νμΌνκ³ μ€ν νμΌμ λ§λ€μ΄ λ΄ μλ€. | ||
|
||
gcc hello.c -o hello.out μ΄λ₯Ό ν΅ν΄μ μ»΄νμΌμ ν μ μμ΅λλ€. | ||
|
||
μ΄λ₯Ό μ€ν ν λλ ./hello.out μ΄λ κ² μΉλ©΄ λμ€λλ°μ μ λμ€λ κΈ°λ³Έμ μΌλ‘ PATHλΌλ νκ²½λ³μμ μλ λλ ν 리μμλ§ μ€ννμΌμ μ°Ύμ΅λλ€. | ||
|
||
λ§μ½ PATHλΌλ νκ²½λ³μμ νμ¬λλ ν 리λ₯Ό μλ―Ένλ λνΈ λ¬Έμ(.)κ° λ€μ΄μμ§ μλ€λ©΄ νμ¬ λλ ν 리μ μ€ννμΌμ μ λ μ€νλμ§ μμ΅λλ€. κ²λ€κ° νμ¬ λλ ν 리λ₯Ό PATH νκ²½ λ³μμ λ£μ΄μ€λ€ ν μ§λΌλ λμ€μ²λΌ νμ¬ λλ ν 리λ₯Ό λ¨Όμ μ°Ύλ μΌμ΄ μκ³ PATHμ μ§μ ν μμλλ‘ μνν©λλ€. | ||
|
||
μ€κ°μ -oμ λν΄μ λ³Ό μ μμλλ°μ μ΄λ μΆλ ₯ νμΌλͺ μ μ νλ μ΅μ μ λλ€. μΌλ°μ μΌλ‘λ νμΌλͺ κ·Έλλ‘μλ€κ° .outμΌλ‘ μΆλ ₯ νμΌμ΄λΌλ κ²μ μλ―Ένλ©° μ΄ μ΅μ μ μ¬μ©νμ§ μκ³ gcc hello.cλ₯Ό μ λ ₯νμ λλ a.outμΌλ‘ μΆλ ₯ νμΌμ΄ μμ±λ©λλ€. | ||
|
||
μ΄μΈμλ -c, -l, -L μ΅μ μ΄ μ‘΄μ¬νλλ°μ. μ΄λ μ’λ μ¬νλ κ²μΌλ‘ μ΄λ² μ±ν°μμλ λ€λ£¨μ§ μλλ‘ ν©λλ€! λμ€μ μ¬νλ₯Ό νκ²λλ€λ©° λ°°μ°λλ‘ νκ² μ΅λλ€!! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
### κ°λ¨νκ² c++λ‘ Hello World μΆλ ₯νκΈ° | ||
|
||
``` c++ | ||
#include <iostream> | ||
|
||
int main(Void) { | ||
cout << "Hello World!"; | ||
return 0; | ||
} | ||
``` | ||
c++μλ stdio.hμ λΉμ·νκ² iostreamν€λκ° μ μΆλ ₯ ν΄λμ λ€λ₯Έ ν¨μλ€μ κ°μ§κ³ μμ΅λλ€. printfμ λΉμ·ν κ²μ coutμ΄λ©° μ΄μΈμλ cμμ λ°°μ΄ κ²κ³Ό κ°μ΅λλ€ | ||
μ΄λ₯Ό μ»΄νμΌ ν΄λ΄ μλ€ | ||
g++ hello.cpp -o hello.out | ||
c++μ νμ₯μλ cppμ΄λ―λ‘ μ΄λ₯Ό μ¬μ©ν΄μ£Όκ³ c++μ΄λ―λ‘ g++μ ν΅νμ¬ μ»΄νμΌμ ν μ μμ΅λλ€!! | ||
__cμ c++ μΈμ΄μμμ Hello Worldλ₯Ό μΆλ ₯νλ λ°©λ²μ λν΄μ μμ보μμΌλ©° μ΄μ λ€μμ±ν°λ‘ λμ΄κ°λ΄ μλ€!!__ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,113 @@ | ||
# C++κ³Ό gccλ₯Ό μ΄μ©νμ¬ hello, world μ½μμ μΆλ ₯보기!! | ||
|
||
κ·Έμ μ gccμ λν΄μ μμλ΄ μλ€. | ||
|
||
### gcc κΈ°λ³Έ 컀맨λ μ€λͺ | ||
|
||
gccλ! GNU μ»΄νμΌλ¬ λͺ¨μ(GNU Compiler Collection, μ€μ¬μ GCC)λ GNU νλ‘μ νΈμ μΌνμΌλ‘ κ°λ°λμ΄ λ리 μ°μ΄κ³ μλ μ»΄νμΌλ¬μ λλ€. μμ μννΈμ¨μ΄ μ€μ κ°μ₯ μ μλ €μ§ κ²λ€ μ€ νλμ΄μ£ . | ||
μλ GCCλ Cλ§μ μ§μνλ μ»΄νμΌλ¬λ‘ μ΄λ¦λ "GNU C μ»΄νμΌλ¬"μΏμ§λ§, νμ C++, Java, Fortran, Ada λ± μ¬λ¬ μΈμ΄λ₯Ό μ»΄νμΌν μ μκ² λλ©΄μ, νμ¬μ μ΄λ¦μΌλ‘ λ°λμμ΅λλ€. | ||
GCCλ 리μ²λ μ€ν¨λ§μ΄ 1987λ GNU νλ‘μ νΈμ μ»΄νμΌλ¬λ‘ μμ±νμλλ€. GNU νλ‘μ νΈμ μ»΄νμΌλ¬κ° μμκΈ° λλ¬Έμ μ΄ κ°λ°μ μμ μννΈμ¨μ΄ μ¬λ¨μ΄ νμνμμ΅λλ€. 1997λ κ°λ° κ³Όμ μ 곡κ°λμμΌλ©°, μλ λν λΉ¨λΌμ‘μ΅λλ€. 199λ 첫 λ²μ μ΄ λμλλ° νμ¬ GCCλ μ μΈκ³μ μΌλ‘ κ΄λ¦¬λκ³ μμΌλ©°, λ€μν μ€μ μ²λ¦¬ μ₯μΉλ₯Ό μ²λ¦¬ν μ μκ² λμμ΅λλ€. | ||
GNU μμ€ν μ 곡μ μ»΄νμΌλ¬μ΄λ―λ‘ GCCλ λ§μ μ»΄νμΌλ¬μ μ΄μ 체μ λ₯Ό λ§λλλ° μ¬μ©λμμ΅λλ€. ννΈ, μμ€ν λ€μ΄ν°λΈ μ»΄νμΌλ¬λ₯Ό μ¬μ©νμλ λΉν΄μ GCCλ₯Ό μ¬μ©νλ©΄ κ°μ νμλ‘ μ½λλ₯Ό μ²λ¦¬νλ―λ‘ μ΄μμ±μ ν₯μμν¬ μ μμμ΅λλ€. GCCλ μμ© μ»΄νμΌλ¬μ λΉν΄μ λλ¦° μ½λλ₯Ό μμ±νμ§λ§ μ΅κ·Ό λ§μ΄ κ°μ λμμ΅λλ€. | ||
|
||
### gccμ λν κΈ°λ³Έ μ΄ν΄ | ||
|
||
gccλ₯Ό μμ€λ₯Ό κ°μ Έλ€ μμ μ€μΉν΄λ³΄μ μ μ μμ κ²μ λλ€. 보ν΅μ λ°μ΄λ리 ν¨ν€μ§λ‘ λ κ²μ κ°μ Έλ€ μ€μΉλ₯Όν΄μ! gcc ν¨ν€μ§κ° μ΄λ€ κ²μΌλ‘ ꡬμ±λμ΄μλμ§! gccκ° μ λλ‘ μ€μΉλμ΄ μλμ§ μλ³΄λ΄ μλ€ | ||
|
||
/lib/cpp ----> /usr/lib/gcc-lib/i386-linux/2.7.2.1/cpp (λ§ν¬) | ||
/usr/bin/cc ----> gcc (λ§ν¬) | ||
/usr/bin/gcc C μ»΄νμΌλ¬ 'front-end' | ||
/usr/bin/protoize | ||
/usr/bin/unprotoize | ||
/usr/info/cpp.info->.gz GNU info μμ€ν μ μ΄μ©νλ νμΌλ€ | ||
/usr/info/gcc.info->.gz | ||
/usr/lib/gcc-lib | ||
|
||
λ§μ§λ§ /usr/lib/gcc-lib λλ ν 리μ gccμ κ΄ν λͺ¨λ λ΄μ©μ΄ μ€μΉλ©λλ€. | ||
|
||
보ν΅μ μ΄λ¬ν νμμΌλ‘ λλ ν 리 ꡬ쑰λ₯Ό κ°μ§λλ€. | ||
/usr/lib/gcc-lib/<νλ«νΌ>/<gcc λ²μ > | ||
|
||
/usr/lib/gcc-lib λ°μ λ΄μ©μ μ΄ν΄λ³΄κ² μ΅λλ€ | ||
|
||
/usr/lib/gcc-lib/i386-linux/2.7.2.1/cc1 | ||
/usr/lib/gcc-lib/i386-linux/2.7.2.1/cpp | ||
/usr/lib/gcc-lib/i386-linux/2.7.2.1/include/*.h | ||
/usr/lib/gcc-lib/i386-linux/2.7.2.1/libgcc.a | ||
/usr/lib/gcc-lib/i386-linux/2.7.2.1/specs | ||
|
||
cc1μ μ§μ§ C μ»΄νμΌλ¬ 본체μ λλ€. gccλ λ¨μ§ μ μ νκ² CμΈμ§ c++μΈμ§ μλλ©΄ μ€νΈμ ν°λΈ C μΈμ§λ₯Ό κ²μ¬νλ©° μ»΄νμΌ μμ λ§ μλλΌ __"λ§ν¬"__ λΌλ μμ κΉμ§ C μΈμ΄λ‘ νλ‘κ·Έλ¨ μμ€λ₯Ό λ§λ λ€μ, νλ‘κ·Έλ¨ λ°μ΄λλ¦¬κ° λ§λ€μ΄μ§κΈ°κΉμ§μ λͺ¨λ κ³Όμ μ κ΄μ₯ν΄μ£Όλ "μ‘°μ μ"μν μ ν΄μ€λλ€. | ||
|
||
C μ»΄νμΌλ¬λ cc1, C++ μ»΄νμΌλ¬λ cc1plus, μ€λΈμ ν°λΈ C μ»΄νμΌλ¬λ cc1objμ λλ€. μ¬λ¬λΆμ΄ C++/μ€λΈμ ν°λΈ C μ»΄νμΌλ¬λ₯Ό μ€μΉνμ ¨λ€λ©΄ cc1plus, cc1obj λΌλ μ€ννμΌλ μ°Ύμλ³Ό μ μμ΅λλ€. cppλ "ν리νλ‘μΈμ"μ λλ€. #include λ±μ 본격μ μΈ cc1 μ»΄νμΌμ λ€μ΄κ°κΈ°μ μμ λ¨Όμ (pre) μ²λ¦¬(process)ν΄μ£Όλ λ μμ λλ€. | ||
|
||
g++ μ¦ C++ μ»΄νμΌλ¬μ λν ν¨ν€μ§λ λ€μκ³Ό κ°μ΅λλ€. | ||
/usr/bin/c++ ---------------------------------> (λ§ν¬) | ||
/usr/bin/g++ | ||
/usr/bin/gcc-lib/i386-linux/2.7.2.1/cc1plus (μ§μ§ C++ μ»΄νμΌλ¬) | ||
|
||
μ€λΈμ ν°λΈ C μ»΄νμΌλ¬ ν¨ν€μ§λ λ€μκ³Ό κ°μ΅λλ€. | ||
|
||
/usr/lib/gcc-lib/i386-linux/2.7.2.1/cc1obj | ||
/usr/lib/gcc-lib/i386-linux/2.7.2.1/include/objc/*.h | ||
/usr/lib/gcc-lib/i386-linux/2.7.2.1/libobjc.a | ||
|
||
### gcc μ¬μ©νκΈ° | ||
|
||
``` c | ||
#include <stdio.h> | ||
|
||
int main (void) { | ||
printf("Hello World!"); | ||
|
||
retrun 0; | ||
} | ||
``` | ||
μμ μ½λλ‘ Hello World!λ₯Ό μΆλ ₯ν΄λ΄ μλ€. μ»΄νμΌμ νκΈ°μ μ | ||
ν€λμ mainν¨μ, μ μΆλ ₯μ λν΄μ μμλ΄ μλ€ | ||
μμ μ½λμμλ stdio.hλΌλ ν€λ ν¨μλ₯Ό μ¬μ©νλλ°μ μλμμ μ΄ printfν¨μ μλ κΈ°λ³Έ νμ printf()μ λλ€. κ΄νΈκ° λΆμ΄μμΌλ©΄ λλ€μ ν¨μλΌκ³ λ³Ό μ μμ΅λλ€. μ¬κΈ°μ μ€μν μ μ μ΄λ ν¨μλΌλ μ μΈλ°μ. λ³΄ν΅ μ΄λ κ² μκ°ν©λλ€. __"μ°λ¦¬λ μ ν¨μλ₯Ό μ μΈν΄μ€ μ μ΄ μλλ°?"__ λΌκ³ μκ° ν μ μλλ°μ. μλμμ! μ¬μ€ μ ν¬λ ν¨μλ₯Ό μ μΈνλ΅λλ€~ | ||
λ°λ‘ #include <stdio.h> μ΄ λΆλΆμμ μ¬μ©νμ΄μ. | ||
#include<stdio.h>μμ printfλ₯Ό ν¬ν¨ν μ¬λ¬ ν¨μλ€μ μ μΈνλ€λ μλ―Έμ λλ€. λ€λ₯Έ ν€λ νμΌλ μλλ° μ΄λ κ°κ°μ'~.h'μ κ°μ λ°©μμΌλ‘ μ¬λ¬κ°μ§ ν¨μλ€μ΄ __'μ μΈ'__ λμ΄μμ΅λλ€! μ΄λ₯Ό #includeμμ λ£μΌλ©΄ λ©λλ€. | ||
λν μ¬κΈ°μ μ¬μ©λ printfλ μΆλ ₯ ν¨μλ‘ μΆλ ₯ λ΄μ©μ νμκ³Ό κ°μ΄ λνλκ² λλ©΄ μ¬μ©ν μ μκ² λ©λλ€. scanfλ μλλ° μ΄λ μ λ ₯ ν¨μμ΄λ©° printfμ κ°μ΄ νμκ³Ό κ°μ΄ νννλ©΄ μ λ ₯μ λ°μ μ μκ²λ©λλ€. | ||
μ΄μ ν€λμ μ μΆλ ₯ ν¨μμ λν΄ μμμΌλ main ν¨μμ μ리μ λν΄ μμλ³΄κ² μ΅λλ€ | ||
``` c | ||
int main() { | ||
λ΄μ© | ||
return 0; | ||
} | ||
``` | ||
μ΄λ mainν¨μμΈλ°μ cμΈμ΄μμλ mainμ΄λΌλ ν¨μλ₯Ό μ°λ©΄ νλ‘κ·Έλ¨μ΄ μ€νλ¨μ μλ―Ένλ©°, __'0μ κ°μ΄ λ°νλ κ²½μ°, νλ‘κ·Έλ¨μ΄ μ μμ μΌλ‘ λ§μ³€μΌλ μ’ λ£ν΄λΌ'__ λΌλ μλ―Έλ₯Ό κ°κ³ μμ΅λλ€. | ||
|
||
μ΄μ μ»΄νμΌνκ³ μ€ν νμΌμ λ§λ€μ΄ λ΄ μλ€. | ||
|
||
gcc hello.c -o hello.out μ΄λ₯Ό ν΅ν΄μ μ»΄νμΌμ ν μ μμ΅λλ€. | ||
|
||
μ΄λ₯Ό μ€ν ν λλ ./hello.out μ΄λ κ² μΉλ©΄ λμ€λλ°μ μ λμ€λ κΈ°λ³Έμ μΌλ‘ PATHλΌλ νκ²½λ³μμ μλ λλ ν 리μμλ§ μ€ννμΌμ μ°Ύμ΅λλ€. | ||
|
||
λ§μ½ PATHλΌλ νκ²½λ³μμ νμ¬λλ ν 리λ₯Ό μλ―Ένλ λνΈ λ¬Έμ(.)κ° λ€μ΄μμ§ μλ€λ©΄ νμ¬ λλ ν 리μ μ€ννμΌμ μ λ μ€νλμ§ μμ΅λλ€. κ²λ€κ° νμ¬ λλ ν 리λ₯Ό PATH νκ²½ λ³μμ λ£μ΄μ€λ€ ν μ§λΌλ λμ€μ²λΌ νμ¬ λλ ν 리λ₯Ό λ¨Όμ μ°Ύλ μΌμ΄ μκ³ PATHμ μ§μ ν μμλλ‘ μνν©λλ€. | ||
|
||
μ€κ°μ -oμ λν΄μ λ³Ό μ μμλλ°μ μ΄λ μΆλ ₯ νμΌλͺ μ μ νλ μ΅μ μ λλ€. μΌλ°μ μΌλ‘λ νμΌλͺ κ·Έλλ‘μλ€κ° .outμΌλ‘ μΆλ ₯ νμΌμ΄λΌλ κ²μ μλ―Ένλ©° μ΄ μ΅μ μ μ¬μ©νμ§ μκ³ gcc hello.cλ₯Ό μ λ ₯νμ λλ a.outμΌλ‘ μΆλ ₯ νμΌμ΄ μμ±λ©λλ€. | ||
|
||
μ΄μΈμλ -c, -l, -L μ΅μ μ΄ μ‘΄μ¬νλλ°μ. μ΄λ μ’λ μ¬νλ κ²μΌλ‘ μ΄λ² μ±ν°μμλ λ€λ£¨μ§ μλλ‘ ν©λλ€! λμ€μ μ¬νλ₯Ό νκ²λλ€λ©° λ°°μ°λλ‘ νκ² μ΅λλ€!! | ||
|
||
### κ°λ¨νκ² c++λ‘ Hello World μΆλ ₯νκΈ° | ||
|
||
``` c++ | ||
#include <iostream> | ||
|
||
int main(Void) { | ||
cout << "Hello World!"; | ||
return 0; | ||
} | ||
``` | ||
c++μλ stdio.hμ λΉμ·νκ² iostreamν€λκ° μ μΆλ ₯ ν΄λμ λ€λ₯Έ ν¨μλ€μ κ°μ§κ³ μμ΅λλ€. printfμ λΉμ·ν κ²μ coutμ΄λ©° μ΄μΈμλ cμμ λ°°μ΄ κ²κ³Ό κ°μ΅λλ€ | ||
μ΄λ₯Ό μ»΄νμΌ ν΄λ΄ μλ€ | ||
g++ hello.cpp -o hello.out | ||
c++μ νμ₯μλ cppμ΄λ―λ‘ μ΄λ₯Ό μ¬μ©ν΄μ£Όκ³ c++μ΄λ―λ‘ g++μ ν΅νμ¬ μ»΄νμΌμ ν μ μμ΅λλ€!! | ||
__cμ c++ μΈμ΄μμμ Hello Worldλ₯Ό μΆλ ₯νλ λ°©λ²μ λν΄μ μμ보μμΌλ©° μ΄μ λ€μμ±ν°λ‘ λμ΄κ°λ΄ μλ€!!__ |