linux源代码分析 linux源代码是什么语言
关于linux源代码分析,linux源代码是什么语言这个很多人还不知道,今天小深来为大家解答以上的问题,现在让我们一起来看看吧!
linux源代码分析 linux源代码是什么语言
linux源代码分析 linux源代码是什么语言
1、gcc编译这段代码时会出错,因为gcc认为if语句在strcpy()以后就结束了,但是又遇到一个else!如果把haha(a,b)和do_soming_else()对换一下位置,编译没有问题,但是问题更了,因为不管条件是否满足,c+=1都会执行一次。
2、do{ } while() 是先执行一次再判断条件。
3、所有每当引用这好,很经典,是浙大毛德写的,可惜成书于2001年之后一直没有更新。
4、分上下册。
5、个宏时,作就回执行这个do{ }一次,而且只执行一次!这样能很好的避免在宏展开是出错。
6、例如这样一段代码: #define haha(a,b) do{strcpy(a,b); c += 1;} while(0)如果定义成这样 #define haha(a,b) strcpy(a,b); c += 1; 意思一样,但是不行!因为如果在一个if语句中引用这个宏就回出现问题。
7、设:if(a)haha(a,b);经过预处理后,代码成为这样:if(a)strcpy(a,b); c += 1;你可以自己验证,在define定义中加上{ }号还是会有问题。
8、相比之下,在任何情况下do-while语句都不会出现问题。
本文到这结束,希望上面文章对大家有所帮助。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系 836084111@qq.com 删除。