亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 4542 | 回復(fù): 17
打印 上一主題 下一主題

if (NULL == pLogId)和if(pLogId==NULL)有什么區(qū)別? [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2009-07-15 17:06 |只看該作者 |倒序?yàn)g覽
if (NULL == pLogId)和if(pLogId==NULL)有什么區(qū)別?難道前面一個(gè)編譯后運(yùn)行更快?

論壇徽章:
95
程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-05 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-17 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-18 06:20:002015亞冠之阿爾艾因
日期:2015-09-18 10:35:08月度論壇發(fā)貼之星
日期:2015-09-30 22:25:002015亞冠之阿爾沙巴布
日期:2015-10-03 08:57:39程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-10-05 06:20:00每日論壇發(fā)貼之星
日期:2015-10-05 06:20:002015年亞冠紀(jì)念徽章
日期:2015-10-06 10:06:482015亞冠之塔什干棉農(nóng)
日期:2015-10-19 19:43:35程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-10-21 06:20:00每日論壇發(fā)貼之星
日期:2015-09-14 06:20:00
2 [報(bào)告]
發(fā)表于 2009-07-15 17:45 |只看該作者
原帖由 liying_gg 于 2009-7-15 17:06 發(fā)表
if (NULL == pLogId)和if(pLogId==NULL)有什么區(qū)別?難道前面一個(gè)編譯后運(yùn)行更快?

沒有什么區(qū)別,不過前一個(gè)如果把 == 誤寫為 = 的話,編譯器會(huì)報(bào)錯(cuò)。雖然如此,前一種寫法還是不應(yīng)提倡,太別扭了。

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2009-07-15 17:50 |只看該作者

回復(fù) #2 MMMIX 的帖子

我公司的代碼都用的前一種方式,我還以為是編譯后的匯編代碼會(huì)執(zhí)行快呢。
for循環(huán)也不一樣,一般都是for(i=0;i<MAX;i++),我們代碼都是for(i=MAX;i>=0;i--),不過這個(gè)for循環(huán)據(jù)說是后一種方式編譯后執(zhí)行快。

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2009-07-15 19:33 |只看該作者
眼拙了
這個(gè)for循環(huán)真看不出來什么門道

論壇徽章:
95
程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-05 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-17 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-09-18 06:20:002015亞冠之阿爾艾因
日期:2015-09-18 10:35:08月度論壇發(fā)貼之星
日期:2015-09-30 22:25:002015亞冠之阿爾沙巴布
日期:2015-10-03 08:57:39程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-10-05 06:20:00每日論壇發(fā)貼之星
日期:2015-10-05 06:20:002015年亞冠紀(jì)念徽章
日期:2015-10-06 10:06:482015亞冠之塔什干棉農(nóng)
日期:2015-10-19 19:43:35程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-10-21 06:20:00每日論壇發(fā)貼之星
日期:2015-09-14 06:20:00
5 [報(bào)告]
發(fā)表于 2009-07-15 20:13 |只看該作者
原帖由 liying_gg 于 2009-7-15 17:50 發(fā)表
for循環(huán)也不一樣,一般都是for(i=0;i=0;i--),不過這個(gè)for循環(huán)據(jù)說是后一種方式編譯后執(zhí)行快。

對于 C 來說,這兩種在效率方面不存在差異(比較下最終生成的匯編就清楚了)。不過前一種更易讀。

[ 本帖最后由 MMMIX 于 2009-7-15 20:15 編輯 ]

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2009-07-15 21:45 |只看該作者

回復(fù) #5 MMMIX 的帖子

對比了一下匯編后的結(jié)果,發(fā)現(xiàn)效率是一樣的,而且linux內(nèi)核中用的都是for(i=0;i<MAX;i++)這種寫法。昨天看到一個(gè)哥們的帖子也提到這個(gè)問題,說后一種寫法編譯后運(yùn)行效率高,又正好我們這邊代碼都用的后一種寫法,所以誤解了。
        .file   "a.c"
        .text
.globl main
        .type   main, @function
main:
        leal    4(%esp), %ecx
        andl    $-16, %esp
        pushl   -4(%ecx)
        pushl   %ebp
        movl    %esp, %ebp
        pushl   %ecx
        subl    $20, %esp
        movl    $0, -8(%ebp)
        jmp     .L2
.L3:
        addl    $1, -8(%ebp)
.L2:
        cmpl    $99, -8(%ebp)
        jle     .L3
        movl    $100, -8(%ebp)
        jmp     .L4
.L5:
        subl    $1, -8(%ebp)
.L4:
        cmpl    $0, -8(%ebp)
        jg      .L5
        addl    $20, %esp
        popl    %ecx
        popl    %ebp
        leal    -4(%ecx), %esp
        ret
        .size   main, .-main
        .ident  "GCC: (Ubuntu 4.3.2-1ubuntu11) 4.3.2"
        .section        .note.GNU-stack,"",@progbits

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2009-07-15 22:26 |只看該作者

回復(fù) #6 liying_gg 的帖子

如果你用GCC編譯的時(shí)候加了優(yōu)化選項(xiàng), 反匯編看到的結(jié)果可能會(huì)不一樣.

說第二種for的寫法更快, 其原因是:
第一種是將i與MAX比較, 每次比較需要CMP一次, 然后再判斷標(biāo)志位, 以便知道比較結(jié)果.
而第二種將i與0比較, CMP指令可能可以省略掉, 因?yàn)閕--的時(shí)候, 如果i減為0, 標(biāo)志位會(huì)自動(dòng)被設(shè)置, 這時(shí)候比較i和0的話只需要直接看標(biāo)志位就行了.

論壇徽章:
5
8 [報(bào)告]
發(fā)表于 2009-07-15 22:38 |只看該作者

回復(fù) #7 kouu 的帖子

頭暈了。不想弄明白。

論壇徽章:
0
9 [報(bào)告]
發(fā)表于 2009-07-15 22:48 |只看該作者

回復(fù) #7 kouu 的帖子

原來這么回事兒啊,謝謝!

論壇徽章:
0
10 [報(bào)告]
發(fā)表于 2009-07-15 22:50 |只看該作者
就是防止錯(cuò)誤
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP