首先在vi编辑器下编写add.c [html] view plaincopy #include "test.h" #include 5 u4 ~: C4 B2 O. a. h5 e
int add(int a, int b)) M" ^, x3 k7 Q8 y' \( Q. D
{ return a + b;}! c9 w% k# A0 G* `
int main()8 a3 G2 U0 B( x O8 x* D# Y
{ printf(" 2 + 3 = %d\n", add(2, 3));printf(" 5 - 3 = %d\n", sub(5, 3));return 1;}
/ t- J: j+ z1 Y) i n: ^ 再编写sub.c文件:
- |1 n: }7 v' ^; l2 d5 [1 n ` H [html] view plaincopy #include "test.h"
& V' C0 ~4 g8 U3 E int sub(int a, int b)
- y/ ^9 v8 y, L' R7 u0 w# e& b { return a - b;}
6 J6 F# ^8 }" V9 F T 最后编写test.h文件:
& ~* u, ~- R3 {& u [html] view plaincopy #ifndef _TEST_H #define _TEST_H' ]5 F0 Q {, X9 ^1 K ~
int add(int a, int b);int sub(int a, int b);#endif接下来就是编写makefile文件,在编写makefile文件之前先看一下他的规则:
" c. N+ y; w; r' M3 a, \ target(目标) : prerequisites(依赖条件)( o& q* N" W h9 S6 D* v" e
command(执行命令). F$ L W1 @% V( A& X
注意command前面的空白,不能用空格,需要按Tab键。2 j6 C$ M* `3 s, \0 k r: P! D
在命令行中输入:
0 f! O3 w- r& a6 [8 x/ J2 j @ 编写下面代码:! C( d$ B2 u6 q+ S1 {0 ?' u
在这里介绍一下gcc 的选项解释-c 只编译并生成目标文件。
. `$ Z. d2 z3 f -g 生成调试信息。GNU 调试器可利用该信息。
! d4 b$ V' i+ y2 @; g -o 生成指定的输出文件。用在生成可执行文件时。
' _6 N7 t# @0 }) Y, I -o2 进一步优化。
v9 y4 s9 z$ l$ Z0 [. p 保存并在命令下执行make命令:
: z. v& u+ t' J0 l 表示运行成功。ls 一下:6 |, P H& a" h! x5 I2 h; e. l
会看到多了两个。o文件和一个可执行的test文件。
: h. p2 s5 F" T$ c3 b 执行make clean 会清空编译过程中生成的。o文件。
/ }' B2 k$ \! A/ L% Q. ] 然后执行:
: o) E W7 W% ]3 ] 这样就成功编译了。 |