似乎Google现在已经成了万能的代名词,google大学,利用google搜索恶意软件,google盲人搜索等等,Google的功能我们数也数不清。如今,国外的一个站点Bugle利用Google来代替编译器,利用google,用户可以查找代码中一些常见的错误,例如:缓冲区溢出、格式化字符串等等。用法如下例所示:
7 h4 A/ d f, I3 j& ~& a$ c
0 T9 Y# y+ b5 C7 j, S) P简单的字符串拷贝:strcpy(buf,str)
/ Z4 X+ M& i: B" b% Z- v9 ^
0 U6 a. G! b! ^/ s# F% ]/ o. d这是一个简单的C格式的字符串拷贝函数的应用,目的是将str中的字符串拷贝到buf变量中。假如你想尝试使用strcpy(buffer|buf,str),但是你又不知道这是否是错误的,你可以尝试在google中进行一下内容的搜索:
" ~' {& l( N/ H+ N3 {; R, `0 n) j$ s5 A: B7 v* j
"strcpy(buffer|buf,str)" filetype:c
. s; M7 I) G. l4 S) v
6 U4 M/ ^* u8 o! I. L9 x2 ^Google将对Internet上公开的源代码进行搜索,结果界面如下:
3 G$ w6 {# e' ~7 q
! s* o1 i: Q. }: e- V- R# \8 O1 \) [' _( Q% Q1 w
1 ~: i6 M& ?0 a7 m3 S, E
: V0 D f, U* b- s) n5 C$ }
+ o) w. ]' ^& `0 ]; }6 W
google返回了互联网上公开的C源代码中含有strcpy(buf,str)的内容进行检索,我们发现,并没有我们所搜索的内容信息,于是,我们基本可以断定我们的语法有错误。
9 a; F( X; C- z, l' ]6 G
3 o8 l$ j' V2 U( r/ Y. X( ~6 S! k
当然,Google的这个功能只是局限于将你的代码与互联网上现有代码进行一个比较,然后给出一个参考,它只能进行简单的判断,对于复杂的逻辑错误等并不能进行判断。
. N0 P6 v- U3 G# T/ X l% q# g, ^6 H! q/ A, h/ R7 i! T3 `, Q
但是,Google的这个功能还是使我们看到了 Google功能的强大。