cc ty chn (options) -o: sinh ra tp tin output -c: sinh ra tp tin i tng .o -I: c t th mc cha tp tin include -l: c t tn th vin -L: c t ng dn n th vin
Bin dch
S dng gcc dch ra file i tng (.o)
G: gcc c main.c (sinh ra main.o)
G: gcc c func.c (sinh ra func.o)
S dng gcc dch ra file thc thi t cc file i tng
G: gcc o main main.o func.o (sinh ra chtrnh main)
Bin dch
Dch vi make v Makefile dch t ng cc bc trn
Son tho Makefile Makefile l 1 file c bit dng qun l cc tp tin trong d n Cha cc quy tc bin dch S dng thuc tnh modified time bin dch li To ra 1 th ph thuc C php: <target>: <danh sch cc file ph thuc> <TAB> lnh
Ch phi dng phm <TAB> ch khng phi khong trng
5
Bin dch
Dch vi make v Makefile dch t ng cc bc trn
Son tho Makefile nh sau
G: make Lnh make s c cc bc dch trong Makefile dch v sinh ra chtrnh main
Bin dch
Th vin lin kt
Mc nh gcc c th lin kt vi cc file i tng
G: gcc o main main.c func.o Tnh: cha nhng file i tng .o c to bi cng c ar G: ar rcs libfunc.a func.o (to ra th vin libfunc.a) Dch main vi: gcc o main main.c libfunc.a ng: c load khi chtrnh chy, c to bi gcc G: gcc c fPIC func.c (to ra func.o) G: gcc shared W1,soname,libfunc.so.1 o libfunc.so.1.0 func.o To ra libfunc.so.1.0 (libfunc.dll) Dch main vi: gcc o main main.c libfunc.so.1.0 7
Bin dch
Th vin lin kt ng
Chy chtrnh main: c li khng tm thy th vin lin kt ng
Hoc ch li ng dn n th vin g: export LD_LIBRARY_PATH=$(pwd) Hoc sao chp libfunc.so.1.0 n /usr/lib ri chy ldconfig cp nht LD