1) 아래 다양한 IDE 사용법 익히기
- Visual studio 사용법 익히기
- Eclipse 설치 및 사용법 익히기
- GNU Dev CPP 설치 및 사용법 익히기
2) vi 에디터 사용법 익히기 -- vi.exe, vim.exe, gvim.exe (웹에서 다운받아 설치)
vi 에디터를 이용하여 아래와 같이 a.c, b.c, c.c라는 파일을 작성하시오.
(각 파일 내용은 아래 예와 같이 각자 파일명을 출력하였음)
- a.c
extern void func_b();
void func_a() { puts("File name -- a.c"); func_b(); }
main() { func_a(); }
- b.c
extern void func_c();
void func_b() { puts("File name -- b.c"); func_c(); }
- c.c
void func_c() { puts("File name -- c.c"); }
<참고> vi 사용법 -- http://cafe.daum.net/sskang-pl/KQvM/1
<참고> vi 단축키 모음 -- https://kldp.org/node/102947
3) make 파일 작성 연습
- make 파일 작성 방법 익히기 -- 윈도 Visual C/C++에서는 nmake.exe
- 위 a.c, b.c, c.c에 대한 makefile을 작성하여 컴파일 연습하기
Makefile --> Linux(또는 cygwin)의 make용
test.mak --> 윈도 Visual Studio의 nmake용
---------------------------------------------------
<<참고>> 만능 Makefile? http://acidpop.tistory.com/144
---------------------------------------------------
.c.o :
@$(CC) $(CFLAGS) $< -o $@ $(IPATHS) $(DEFLIST)
.cpp.o :
@$(CC) $(CFLAGS) $< -o $@ $(IPATHS) $(DEFLIST)
4) Static library 만드는 실습 - 위 a.c, b.c, c.c에 대하여...
- Static library 만드는 방법 -- Linux/Unix에서..
lib.mak --> $ ar rcv ./libtest.a *.o
- 라이브러리 link 하여 실행 파일 만드는 방법 -- Linux/Unix에서..
libmain.mak --> $ gcc -o run.exe main.o -L. ./libtest.a
5) 윈도에서 static/dynamic 라이브러리 만드는 방법(DLL은 아래 참조)
- export할 함수 -- void _declspec(dllexport) func_name(...);
- main()에서 import할 함수 -- void _declspec(dllimport) func_name(...);
6) Linux/Unix에서 shared object 만드는 방법
- 컴파일 옵션: "-fPIC" (Position Independent Code)
- 파일명: libname.so <주의> 모든 user 사용 가능하려면 /usr/local/bin에 설치해야...