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

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

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問(wèn)板塊 發(fā)新帖
查看: 9281 | 回復(fù): 6
打印 上一主題 下一主題

大家好,32位轉(zhuǎn)64位有什么方便的辦法嗎??? [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2008-02-27 08:28 |只看該作者 |倒序?yàn)g覽
用Linux AS4 X64 (64bit)上編譯 3.4.6 20060404
1、gnu_regex.c:3800: warning: cast from pointer to integer of different size
2、fastredir.c: In function `redir':
fastredir.c:339: warning: comparison between pointer and integer
3、gnu_regex.c:3806: warning: cast to pointer from integer of different size
等等類似
編譯結(jié)果可以安裝,運(yùn)行看不出什么大問(wèn)題

有大俠指教是“64位系統(tǒng)指針占用8個(gè)字節(jié),比整形int大”
那有什么辦法把,目前的gcc的int也改為8個(gè)字節(jié)嗎???
如果可以
那改以后編譯運(yùn)行一般有沒(méi)有什么大問(wèn)題???
謝謝

[ 本帖最后由 hoige 于 2008-2-29 08:39 編輯 ]

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2008-02-27 08:53 |只看該作者
找64位版本吧, 幾下根本搞不定. 內(nèi)存對(duì)其都變了, 如果有潛在以來(lái)4字節(jié)對(duì)齊的就會(huì)讓程序崩潰. 還有一些打印輸出問(wèn)題, 以前l(fā)ong沒(méi)有考慮的邊界值問(wèn)題.

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2008-02-27 10:34 |只看該作者
原帖由 Edengundam 于 2008-2-27 08:53 發(fā)表
找64位版本吧, 幾下根本搞不定. 內(nèi)存對(duì)其都變了, 如果有潛在以來(lái)4字節(jié)對(duì)齊的就會(huì)讓程序崩潰. 還有一些打印輸出問(wèn)題, 以前l(fā)ong沒(méi)有考慮的邊界值問(wèn)題.

謝謝
沒(méi)有64位版本啊
還好只集中在一個(gè)程序里
自己修改要注意些什么呢??
謝謝
程序類似:
if ((int) old_regend[r] >= (int) regstart[r])
或者 PUSH_FAILURE_POINT (p1 + mcnt, d, -2);
看來(lái)是強(qiáng)制轉(zhuǎn)換才有的問(wèn)題???

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2008-02-27 23:40 |只看該作者
int replace with long

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2008-02-28 08:32 |只看該作者
原帖由 billzhou 于 2008-2-27 23:40 發(fā)表
int replace with long



謝謝
但這里只有一個(gè)這樣比較的,多數(shù)都是
PUSH_FAILURE_POINT (p1 + mcnt, d, -2);

這樣類似的語(yǔ)句
d的定義: const char *d, *dend;
unsigned int mcnt;
  unsigned char *p1;
我看了一下,PUSH_FAILURE_POINT 是宏定義函數(shù)
對(duì)C也沒(méi)那樣精通
*********************
是不是這個(gè)p1 + mcnt造成的問(wèn)題???看來(lái)不需要修改吧???
因p1是指針,mcnt即使位數(shù)比較小,也不會(huì)產(chǎn)生什么問(wèn)題吧???
謝謝
這個(gè)unsigned int mcnt有必要改為long嗎???
謝謝
謝謝

弄了半天也沒(méi)弄懂在哪里修改
現(xiàn)在正在臨時(shí)抱佛腳
謝謝

[ 本帖最后由 hoige 于 2008-2-28 09:09 編輯 ]

論壇徽章:
1
2015年辭舊歲徽章
日期:2015-03-03 16:54:15
6 [報(bào)告]
發(fā)表于 2008-02-28 09:23 |只看該作者
32_to_64有很多麻煩事(下面的續(xù)述僅針對(duì)x86的32和64)

1、unsigned int和unsigned long在32位是一樣的,在64位不一樣,這個(gè)很煩人,特別是寫的很爛的驅(qū)動(dòng)程序里,
移植起來(lái)要人命
2、32位的指針統(tǒng)一為4字節(jié),64位統(tǒng)一為8字節(jié)
3、動(dòng)態(tài)庫(kù)位置變化,32位在/lib,64位在/lib64
4、編譯器變化,來(lái)自外星球的gcc4.x代替了地球的gcc3.x

如果原始程序利用32位特有的系統(tǒng)特性加上小聰明的優(yōu)化
那么恭喜你,可以重新開發(fā)64位版本了

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2008-02-28 11:10 |只看該作者
原帖由 safedead 于 2008-2-28 09:23 發(fā)表
32_to_64有很多麻煩事(下面的續(xù)述僅針對(duì)x86的32和64)

1、unsigned int和unsigned long在32位是一樣的,在64位不一樣,這個(gè)很煩人,特別是寫的很爛的驅(qū)動(dòng)程序里,
移植起來(lái)要人命
2、32位的指針統(tǒng)一為4字節(jié) ...

謝謝
具體到我的問(wèn)題能指教一下嗎???
PUSH_FAILURE_POINT (p1 + mcnt, d, -2);

這樣類似的語(yǔ)句
d的定義: const char *d, *dend;
unsigned int mcnt;
  unsigned char *p1;
*********************
是不是這個(gè)p1 + mcnt造成的問(wèn)題???看來(lái)不需要修改吧???
個(gè)人覺(jué)得因p1是指針,mcnt即使位數(shù)比較小,也不會(huì)產(chǎn)生什么問(wèn)題吧???
謝謝
另外,我這個(gè)64位的是gcc3.x啊
當(dāng)然是老版本的AS4
AS5上gcc3.x裝不上去了
4.x編譯錯(cuò)誤就多了,所以不能改了
謝謝
謝謝
您需要登錄后才可以回帖 登錄 | 注冊(cè)

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP