|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
1、程序的分割
3 }( {9 U/ P8 \( c. e" F# B, ?# U4 E' [+ Z2 J0 y
当在建立大型程序时,如果把已经建好的函数分割出来,应用在其他程序里,可以帮助大型程序的开发。
/ M; s: S* l/ y$ F# r( l6 h0 L3 R0 r( B2 t* K& E: p. U
如果将一个main.c函数分解成mymain.c、mytool.c、mytool.h,其中mytool.h中包含了mytool.c所用到的函数。在主程序中如果要实现mytool中的函数功能,只需要加载相应的头文件mytool.h。 V, ~5 V0 o7 y3 Z
: _* f* n0 V; g+ }. A6 y4 M D
编译时可采用如下指令实现:gcc mymain.c mytool.c -o ex_main% f4 h" _- X' B% p# n- q/ u
2 {: P( O% {+ R3 u; m5 w2 L$ x8 i/ a+ {( I: `- r
2、.o文件的解释- E8 n& H6 c9 Y J* \0 Y+ b
) `. b3 F! [2 F. i O W
.o文件就是对象文件,里面包含的内容就是“0”、“1”这样机器可执行的指令,当程序要执行时还需要链接(link).链接就是把多个.o文件链成一个可执行文件。
# f$ j' d3 V3 P; `) J$ G. \' z% S7 c2 k i
' y9 m) ]7 S) y( y* Y; Z. r1 {+ A
3、rand()函数与srand()函数
; X9 p' e' k9 K% K2 q# U
* Y2 a9 i# F2 x! R. |rand()函数可用来产生随机数,srand()函数用于设置随机数种子。只有随机数种子发生变化才能产生不同的随机数。
# e& [% e; E+ K+ h
" }1 M, m5 f8 ?4 i9 a' W
/ w' ~$ L' b) l) ~$ F" K4、数组分别传递给数组与指针1 F" m: r$ B, S: o* S2 ^* p. H
5 D2 M5 f _' {. ? w8 C R1 P
例如一个数组int score[5],当分别调用mysum(score)与myavg(score)时,它会传递给另一个数组与指针,表现形式如下:$ Y5 K5 X" t P9 T
2 q* G- k1 z" `4 B6 [6 A7 \+ u- //传递给数组
- int mysum( int t[] )
- {
- }
- //传递给指针
- double myavg( int *p)
- {
- }4 u! V* |4 o+ `# J7 z# A# b
! U1 }" P+ |# s
2 m6 X* L" X" U: Y% l/ y/ D& \: V5、GCC常用选项
$ j# W; \6 D2 b0 a' R9 R" P, _- ~: x% `" k
; [# X8 I2 Z6 N2 Z7 S! J) V" P
! {/ Z/ @6 e+ G @ |
|