首先在vi编辑器下编写add.c [html] view plaincopy #include "test.h" #include m/ c# r. g, G4 e
int add(int a, int b)4 s: x) V! z3 W3 u. d+ X- J
{ return a + b;}
0 o5 y; T. H8 X: ]6 M int main()( M& u1 Y) v% t* K% b: o- g! |# ~
{ printf(" 2 + 3 = %d\n", add(2, 3));printf(" 5 - 3 = %d\n", sub(5, 3));return 1;}+ S" u4 L; \9 z0 y6 W* }8 L# ^( s5 @
再编写sub.c文件:& O5 O) N$ w7 e( r$ [& A
[html] view plaincopy #include "test.h"# B$ c3 n) ~. } X" \
int sub(int a, int b)# C7 o7 ~5 h% Z- @5 z8 Z
{ return a - b;}# q. Y$ Y" Z/ K
最后编写test.h文件:1 q; n* {9 e( ^/ G( J. R' y# L; x- ~/ W
[html] view plaincopy #ifndef _TEST_H #define _TEST_H1 U' h5 O) Q4 B! I; P8 r) t8 O
int add(int a, int b);int sub(int a, int b);#endif接下来就是编写makefile文件,在编写makefile文件之前先看一下他的规则:) D% h! K2 G% C. |; L
target(目标) : prerequisites(依赖条件)
$ G4 S. R9 H5 t) Y4 Z command(执行命令)
/ S4 r1 S& S! l3 M( L, ^# c4 j2 C 注意command前面的空白,不能用空格,需要按Tab键。
4 L$ h0 W, y% C+ `+ l 在命令行中输入:/ S) R0 m$ C- R7 G0 O* ^$ C
编写下面代码:
! c7 P9 u% \( N2 D: W- c5 {4 ^ 在这里介绍一下gcc 的选项解释-c 只编译并生成目标文件。) Z2 Q/ Z2 X3 B3 w) C. l
-g 生成调试信息。GNU 调试器可利用该信息。
7 A7 f% F+ n7 k/ C q: n/ p -o 生成指定的输出文件。用在生成可执行文件时。+ j2 B" h3 h9 p; p) M a: D+ k0 L5 |
-o2 进一步优化。
5 \4 Z2 v( x7 k. Z, R5 } 保存并在命令下执行make命令: M3 M5 n& E: U. S
表示运行成功。ls 一下:
" w" x- i- `/ x4 m; X 会看到多了两个。o文件和一个可执行的test文件。
# @- V- W, u- V$ V3 k! T5 n 执行make clean 会清空编译过程中生成的。o文件。1 n. Q* [! G# E% n! p# M5 T
然后执行:
" v; O8 U( v u$ Z* ] 这样就成功编译了。 |