ÆÄÀϰü¸®ÀÚ¸¦ ½ÇÇàÇÏ¿© ³»Æú´õ¿¡ cÆú´õ »ý¼ºÇÕ´Ï´Ù.

cÆú´õ¿¡¼ »õÆÄÀÏÀ» ¸¸µé¾î ÆÄÀÏ À̸§À» first.c·Î ÀÔ·ÂÇÕ´Ï´Ù. first.c ÆÄÀÏ¿¡¼ ¸¶¿ì½º ¿À¸¥ÂÊ ¹öưÀ» Ŭ¸¯ÇÏ¿© Áö¿¡µðÅÍ ÆíÁý±â·Î ¿±´Ï´Ù.

ÇÁ·Î±×·¥ Äڵ带 ÀÔ·ÂÇÑ ÈÄ ÀúÀåÇÕ´Ï´Ù. Å͹̳ÎÀ» ¿¾î¼ cÆú´õ·Î À̵¿ÇÕ´Ï´Ù.
ojk@debian:~$ pwd
/home/ojk
ojk@debian:~$ cd c
ojk@debian:~/c$ ls -l
ÇÕ°è 4
-rw-r--r-- 1 ojk ojk 131 3¿ù 12 05:04 first.c
-rw-r--r-- 1 ojk ojk 0 3¿ù 12 05:02 first.c~
ojk@debian:~/c$
ÄÄÆÄÀÏ ÇÕ´Ï´Ù.
ojk@debian:~/c$ cc first.c
ojk@debian:~/c$ ls -l
ÇÕ°è 12
-rwxr-xr-x 1 ojk ojk 6799 3¿ù 12 05:07 a.out
-rw-r--r-- 1 ojk ojk 131 3¿ù 12 05:04 first.c
-rw-r--r-- 1 ojk ojk 0 3¿ù 12 05:02 first.c~
ojk@debian:~/c$
a.out ÆÄÀÏÀÌ first.c ¸¦ ÄÄÆÄÀÏ ÇÑ ½ÇÇàÆÄÀÏÀÌ´Ù. À̸¦ ½ÇÇàÇϱâ À§Çؼ´Â ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇÕ´Ï´Ù.
ojk@debian:~/c$ ./a.out
¿ÀÀç°ü C ¾ð¾î ±³½ÇÀÔ´Ï´Ù¡¦
ojk@debian:~/c$
first.c¸¦ ÄÄÆÄÀÏÇÑ ½ÇÇà ÆÄÀϸíÀ» first·Î ÁöÁ¤ÇÏ·Á¸é ´ÙÀ½°ú °°ÀÌ ÀÔ·ÂÇÏ¿© ½ÇÇàÇÕ´Ï´Ù.
ojk@debian:~/c$ cc -o first first.c
ojk@debian:~/c$ ls -l
ÇÕ°è 20
-rwxr-xr-x 1 ojk ojk 6799 3¿ù 12 05:07 a.out
-rwxr-xr-x 1 ojk ojk 6799 3¿ù 12 05:11 first
-rw-r--r-- 1 ojk ojk 131 3¿ù 12 05:04 first.c
-rw-r--r-- 1 ojk ojk 0 3¿ù 12 05:02 first.c~
ojk@debian:~/c$ ./first
¿ÀÀç°ü C ¾ð¾î ±³½ÇÀÔ´Ï´Ù¡¦
ojk@debian:~/c$
½ÇÇà ½Ã¿¡ ./¸¦ ¾Õ¿¡
ºÙÀÌ´Â ÀÌÀ¯°¡ ¹»±î¿ä?
¸®´ª½º¸¦ Æ÷ÇÔÇÑ À¯´Ð½º ¿î¿µÃ¼Á¦´Â ´ÙÁß»ç¿ëÀÚ È¯°æÀ̹ǷΠÇϳªÀÇ È£½ºÆ®¸¦ ¿©·¯ À¯Àú°¡ »ç¿ëÇÕ´Ï´Ù. ±×·¡¼ ÇÁ·Î±×·¥¸íÀÌ °°Àº ´Ù¸¥ °æ·Î¿¡ ÀÖ´Â ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÉ ¼öµµ Àֱ⠶§¹®¿¡ Á¤Ã¥ÀûÀ¸·Î Ȩµð·ºÅ丮¿¡ ÀÖ´Â ÇÁ·Î±×·¥À» ½ÇÇàÇÏ´õ¶óµµ ÀÚ½ÅÀÇ È¨µð·ºÅ丮¸¦ ÁöÁ¤ÇÏ´Â ./¸¦ ºÙ¿©Áà¾ß ÇÕ´Ï´Ù.
À¯´Ð½º¿¡¼´Â ÇÁ·Î±×·¥ ½ÇÇàÀ» ¿ä±¸Çϸé À¯ÀúÀÇ PATH¿¡ ÁöÁ¤µÈ ¼ø¼´ë·Î ½ÇÇàÇÏ°í ½ÇÇàÆÄÀÏÀÌ ¾øÀ¸¸é Á¾·áÇϸç Ȩµð·ºÅ丮¿¡ ÀÖ´Â ÆÄÀÏÀº ½ÇÇàÇÏÁö ¾Ê½À´Ï´Ù.
¡¼ÇÑ
°ÉÀ½
´õ¡½
½ÇÇàÆÄÀÏÀÌ ¸¸µé¾îÁö±â±îÁö ¼Ò½ºÆÄÀÏÀÌ °ÅÄ¡´Â ´Ü°èº° °úÁ¤Àº ´ÙÀ½°ú °°½À´Ï´Ù.
1. Àüó¸® ´Ü°è - Àü󸮱â (cpp)
#include, #define µî #À¸·Î ½ÃÀÛÇÏ´Â ¹®¹ý »çÇ×ÀÌ ÀûÀýÈ÷ Àüó¸®µÈ C ¾ð¾î ¼Ò½ºÆÄÀÏ »ý¼º
2. ÄÄÆÄÀÏ ´Ü°è - ÄÄÆÄÀÏ·¯ (cc1)
C ¾ð¾î ¼Ò½ºÆÄÀÏÀº ÄÄÆÄÀÏ °úÁ¤À» °ÅÃÄ ¾î¼Àºí¸® ¼Ò½º ÆÄÀÏÀÌ µÊ
3. ¾î¼Àºí ´Ü°è - ¾î¼Àºí·¯ (as)
¾î¼Àºí¸® ¼Ò½º ÆÄÀÏÀº ¾î¼Àºí °úÁ¤À» °ÅÃÄ ¸ñÀû ÆÄÀÏÀÌ µÊ
4. ¸µÅ© ´Ü°è - ¸µÄ¿ (ld)
¸ñÀû ÄÚµå´Â ¶óÀ̺귯¸®¿Í ¸µÅ©µÇ¾î ½ÇÇà °¡´ÉÇÑ ÆÄÀÏÀÌ µÊ
-c ¿É¼Ç¿¡ ÀÇÇØ ¸¸µå¾îÁø ¸ñÀû ÆÄÀÏÀº ¿©·¯°³ÀÇ C ¼Ò½º ÆÄÀÏ·Î ÀÌ·ç¾îÁø ÇÁ·Î±×·¥À» ÄÄÆÄÀÏÇÒ ¶§ ±× Çʿ伺ÀÌ ºÎ°¢µË´Ï´Ù. ´ÙÀ½°ú °°ÀÌ ¿©·¯°³ÀÇ ¼Ò½ºÆÄÀÏ·Î ÀÌ·ç¾îÁø ÇÁ·Î±×·¥À» ÅëÇÏ¿© ¿Ö ¸ñÀû ÆÄÀÏÀÌ ÇÊ¿äÇÑÁö ¾Ë¾Æº¾½Ã´Ù.
// File Name : main.c
#include<stdio.h>
#include "obj.h"
int main() {
uf_print1();
uf_print2();
return 0;
}
// File Name : obj.h
#include<stdio.h>
void uf_print1();
void
uf_print2();
// File Name : uf_print1.c
#include<stdio.h>
void uf_print1() {
printf("¸ñÀûÆÄÀÏ ¿¹Á¦ÀÔ´Ï´Ù...");
}
// File Name : uf_print2.c
#include<stdio.h>
void uf_print2() {
printf("2°³ÀÇ ÆÄÀÏÀ» »ç¿ëÇÕ´Ï´Ù...");
}
ÄÄÆÄÀϰú ½ÇÇà
gcc -c main.c
gcc -c uf_print1.c
gcc -c uf_print2.c
gcc -o main.exe main.o
uf_print1.o uf_print2.o
main.exe
C¾ð¾îÀÇ Àü¹ÝÀûÀÎ °úÁ¤À» °£´ÜÈ÷ ÀÌÇØÇϱâ À§Çؼ ¸î °³ÀÇ ÇÁ·Î±×·¥À» ¸¸µé¾î¼ ½ÇÇàÇÏ¿© º¾½Ã´Ù. ¸í·É¾î â¿¡ "ù C¾ð¾î ÇÁ·Î±×·¥ÀÔ´Ï´Ù¡¦."¸¦ Ãâ·ÂÇÏ¿© º¾½Ã´Ù.
´ÙÀ½ ÇÁ·Î±×·¥ ÄÚµå´Â C¾ð¾î ÇÁ·Î±×·¥ÀÇ ±âº» °ñ°ÝÀ̹ǷΠÃÖ¼ÒÇÑ ¿©±â¼´Â ÀÌÀ¯¸¦ »ý°¢ÇÏÁö ¾Ê°í ¹«Á¶°Ç ÀÔ·ÂÇÕ´Ï´Ù. Dev C++ À» ½ÇÇàÇÏ¿© ´ÙÀ½ Äڵ带 ÀÔ·ÂÇÕ´Ï´Ù.
#include<stdio.h>
int main(void){
return 0;
}
¸í·É¾î â¿¡ "ù C¾ð¾î ÇÁ·Î±×·¥ÀÔ´Ï´Ù¡¦."¸¦ Ãâ·ÂÇϱâ À§Çؼ´Â
printf("ù C¾ð¾î ÇÁ·Î±×·¥ÀÔ´Ï´Ù¡¦.");
¸¦ »ç¿ëÇÏ¸é µË´Ï´Ù. µû¶ó¼ ÀÌ ¸í·É¹®À» Áß°£¿¡ ³¢¿ö ³Ö½À´Ï´Ù.
// file name : ex0003_first.c
#include<stdio.h>
int main(void){
printf("ù C¾ð¾î ÇÁ·Î±×·¥ÀÔ´Ï´Ù¡¦.");
return 0;
}
ÀÌÁ¦ ÄÄÆÄÀÏÇÏ¿© ½ÇÇàÇÏ¿© º¾½Ã´Ù.
¡¼Menu / Excute / Compile & Run¡½À» Ŭ¸¯Çϰųª F11 ۸¦ ´©¸¨´Ï´Ù.
¡¼½ÇÇà °á°ú¡½
ù C¾ð¾î ÇÁ·Î±×·¥ÀÔ´Ï´Ù¡¦.
ÀÌÁ¦ ¸í·É¾î â¿¡ ´ÙÀ½°ú °°ÀÌ Ãâ·ÂÀÌ µÇµµ·Ï ¸¸µé¾î º¾½Ã´Ù.
ù C¾ð¾î ÇÁ·Î±×·¥ÀÔ´Ï´Ù¡¦.
¿ÀÀç°ü C¾ð¾î ±³½ÇÀÔ´Ï´Ù¡¦.
// file name : ex0004_printf.c
#include<stdio.h>
int main(void)
{
printf("ù C¾ð¾î ÇÁ·Î±×·¥ÀÔ´Ï´Ù¡¦.");
printf("¿ÀÀç°ü C¾ð¾î ±³½ÇÀÔ´Ï´Ù¡¦.");
return 0;
}
¾Æ¸¶ À§¿Í °°ÀÌ ÀÛ¼ºÇÒ °ÍÀÔ´Ï´Ù. ±×·¯³ª ÀÌ·¸°Ô ÇØ¼´Â ¿øÇÏ´Â °á°ú°¡ ³ª¿ÀÁö ¾Ê½À´Ï´Ù. "
ù C¾ð¾î ÇÁ·Î±×·¥ÀÔ´Ï´Ù¡¦." ¸¦ Ãâ·ÂÇϰí ÇÑ ÁÙ ³»·Á¼ Ãâ·ÂÇÏ¿©¾ß Çϴµ¥ ÇÑ ÁÙ ³»·Á¼ Ãâ·ÂÇ϶ó´Â ¸í·ÉÀ» ÁÖÁö ¾Ê¾Ò±â ¶§¹®¿¡ ÇÑ ÁÙ¿¡ Ãâ·ÂÀÌ µË´Ï´Ù.
ÇÑ ÁÙ ³»·Á¼ Ãâ·ÂÇÏ´Â ¸í·ÉÀº "\n" ÀÔ´Ï´Ù.
\Àº Űº¸µå ¿£ÅÍŰ À§¿¡ ÀÖ´Â £ÜÀÔ´Ï´Ù. ¿¹Àü¿¡ ¿µ¹®¿¡¼´Â \, Çѱۿ¡¼´Â £ÜÀ̾úÁö¸¸ Áö±ÝÀº ´ëºÎºÐ \·Î ³ª¿É´Ï´Ù. \n À» Á¦¾î ¹®ÀÚ¶ó°í Çϴµ¥ µÚ¿¡¼ ÀÚ¼¼È÷ ±â¼úÇϹǷΠ¿©±â¿¡¼´Â \nÀº ÇÑ ÁÙ³»¸°´Ù´Â °Í¸¸ ¾Ë°í ³Ñ¾î °¡±â ¹Ù¶ø´Ï´Ù.
// file name : ex0005_printf_02.c
#include<stdio.h>
int main(void)
{
printf("ù C¾ð¾î ÇÁ·Î±×·¥ÀÔ´Ï´Ù¡¦.\n");
printf("¿ÀÀç°ü C¾ð¾î ±³½ÇÀÔ´Ï´Ù¡¦.");
return 0;
}