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

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

Chinaunix

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

Linux下如何查看系統(tǒng)自帶的結(jié)構(gòu)定義 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2008-01-17 23:05 |只看該作者 |倒序?yàn)g覽
在Linux下編程,有一個(gè)困擾我很長(zhǎng)時(shí)間的問(wèn)題;

寫程序時(shí),有時(shí)會(huì)遇到一個(gè)系統(tǒng)結(jié)構(gòu),想即時(shí)了解一個(gè)系統(tǒng)聲明的結(jié)構(gòu);
比如 struct sockaddr_in 結(jié)構(gòu)的成員有哪幾個(gè),成員的類型是什么;
在Window下直接按F1就會(huì)轉(zhuǎn)到MSDN上,可以直接查找;
在Linux也能用man 查找函數(shù)的定義,
但如何能夠快速的找到本系統(tǒng)中指定結(jié)構(gòu)或類型的定義?請(qǐng)各位老手給我指?jìng)(gè)方法;

先說(shuō)下我現(xiàn)在常用的方法吧
(1)上網(wǎng)搜索,我感覺(jué)這樣最快,
但網(wǎng)上的資料有時(shí)太亂,和具體的系統(tǒng)相關(guān);
(2)直接在 /usr/include大概確定的文件里挨個(gè)查找,但速度太慢了;

想聽(tīng)聽(tīng)各位老大的方法和意見(jiàn)

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2008-01-18 10:43 |只看該作者
一般都是在/usr/include里找的,用grep工具也不是那么慢啊,比如
$ grep -R "struct sockaddr_in" /usr/include/*

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2008-01-18 13:13 |只看該作者
man -K xxx

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2008-01-18 13:41 |只看該作者
原帖由 G00GLE 于 2008-1-18 10:43 發(fā)表
一般都是在/usr/include里找的,用grep工具也不是那么慢啊,比如
$ grep -R "struct sockaddr_in" /usr/include/*


這種方法搜出來(lái)的結(jié)果一大堆, 結(jié)構(gòu)定義和說(shuō)明都混在一起,
很不容易分清,好像不太實(shí)用

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2008-01-18 13:50 |只看該作者
原帖由 maxxfire 于 2008-1-18 13:13 發(fā)表
man -K xxx


這個(gè)方法比較好用, 謝謝
我試了一下,man -K sockaddr_in 查了3次就找到了
但是man -K pthread_t 找了半天還沒(méi)找到,可能有時(shí)候還是直接找頭文件比較合適。

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2008-01-18 13:58 |只看該作者
剛從外邊聽(tīng)說(shuō)一個(gè)方法,用 cscope 可以生成一個(gè)索引
不知道大家誰(shuí)用過(guò),好不好用

查找一個(gè)系統(tǒng)本身的結(jié)構(gòu),誰(shuí)還有更好的方法么

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2008-01-18 14:21 |只看該作者
如果你閑慢,可以采用2樓的方法,然后將聲明的語(yǔ)句去除:
grep -R "struct sockaddr_in" /usr/include/* | grep -v "[;,]"

論壇徽章:
0
8 [報(bào)告]
發(fā)表于 2008-01-18 18:58 |只看該作者
原帖由 maxxfire 于 2008-1-18 14:21 發(fā)表
如果你閑慢,可以采用2樓的方法,然后將聲明的語(yǔ)句去除:
grep -R "struct sockaddr_in" /usr/include/* | grep -v "[;,]"

謝謝了,這樣看起來(lái)就少多了
就是有時(shí)候輸入這么長(zhǎng)的命令不太方便,不能偷懶了

論壇徽章:
0
9 [報(bào)告]
發(fā)表于 2008-01-18 22:18 |只看該作者
學(xué)習(xí)了

論壇徽章:
0
10 [報(bào)告]
發(fā)表于 2008-01-18 23:12 |只看該作者
原帖由 xiongyu 于 2008-1-18 13:41 發(fā)表


這種方法搜出來(lái)的結(jié)果一大堆, 結(jié)構(gòu)定義和說(shuō)明都混在一起,
很不容易分清,好像不太實(shí)用

那就看你自己搜索的模式怎么寫了,比如
[scott@zwy perl]$ grep -R "struct sockaddr_in {" /usr/include/*
/usr/include/linux/in.h:struct sockaddr_in {
這樣不就一下子搜出來(lái)了嘛
您需要登錄后才可以回帖 登錄 | 注冊(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