|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
1、程序的分割
' |& k& Z% i( \3 J: \- k$ ]& e( W5 @
当在建立大型程序时,如果把已经建好的函数分割出来,应用在其他程序里,可以帮助大型程序的开发。
. y- K1 u" \- t. I; t6 l0 W2 F0 q$ @$ p! O
如果将一个main.c函数分解成mymain.c、mytool.c、mytool.h,其中mytool.h中包含了mytool.c所用到的函数。在主程序中如果要实现mytool中的函数功能,只需要加载相应的头文件mytool.h。 2 q$ N4 O% S, J, z4 ?
0 s: s5 Q$ `- P 编译时可采用如下指令实现:gcc mymain.c mytool.c -o ex_main
; P; M8 Z1 |+ x( |# d
% n- i* s8 b* `5 W7 a
4 z% G) o/ S' o6 A+ g) c7 H' H2、.o文件的解释; Z: E# l' l2 |6 |* o7 G6 e
8 N E! f. [+ _
.o文件就是对象文件,里面包含的内容就是“0”、“1”这样机器可执行的指令,当程序要执行时还需要链接(link).链接就是把多个.o文件链成一个可执行文件。
t) K/ ^; K5 g8 i9 D! k) d/ x
5 z7 F+ a! o2 v( d" l4 y2 Y. \8 x# s, n% G2 c+ ^- i& u+ u
3、rand()函数与srand()函数
: [: S, Y- K S9 w4 |" q V
0 K& |0 U3 A x, prand()函数可用来产生随机数,srand()函数用于设置随机数种子。只有随机数种子发生变化才能产生不同的随机数。
7 m, {& j. J, h6 H0 z* i+ Z) d$ k3 q5 R) w0 P+ b
. H$ {4 e$ d! a, T! M! q5 j
4、数组分别传递给数组与指针
- t6 X9 D; \, A# p
+ i/ A1 k4 y# q, s" J4 [8 ? 例如一个数组int score[5],当分别调用mysum(score)与myavg(score)时,它会传递给另一个数组与指针,表现形式如下:! _, L4 H5 C1 v+ I5 K6 Z
+ h! [( d5 j, r4 _! p9 A! ^: E* M- //传递给数组
- int mysum( int t[] )
- {
- }
- //传递给指针
- double myavg( int *p)
- {
- }
5 y* o1 O9 `$ p# O7 T2 r $ {1 B5 q- L9 o/ A! [
+ m% s5 U' _# }/ P) ?1 d5、GCC常用选项: ~ H+ i% b* D9 W. w4 @6 s- Y7 o
) u5 D( Q# n9 a( A" g/ h! p
) J/ I* k5 ?! w) f6 i! _. D R! D8 D- g" q( B5 N5 o+ p
|
|