入口函式:\src\net\ipsock.go裡面的lookupipaddr
呼叫庫函式getaddrinfow
實現func:lookup_unix.go的golookupip
initconfval函式會初始化dns的配置檔案首次初始化,後續會cached 5s,然後再次從檔案中獲取
先找到dns解析的查詢規則,通過讀取/etc/nsswitch.conf裡面的配置,獲取查詢規則,使用hosts
hostlookupcgo hostlookuporder = iota
hostlookupfilesdns // files first
hostlookupdnsfiles // dns first
hostlookupfiles // only files
hostlookupdns // only dns
nss := c.nss
srcs := nss.sources["hosts"]
// if /etc/nsswitch.conf doesn't exist or doesn't specify any
// sources for "hosts", assume go's dns will work fine.
if os.isnotexist(nss.err) || (nss.err == nil && len(srcs) == 0)
if c.goos == "linux"
return hostlookupfilesdns
}
關於nssswitch.conf的說明 ThreadLocal部分解析
threadlocal創造執行緒獨有的變數。threadlocal val new threadlocal 詳細看下實現細節 threadlocal val newthreadlocal public void set t value else public t get return setinit...
C語言部分題目解析
c語言部分題目解析1 有以下程式 include int main 答案 223 解析 全假為假,有真即真 i 1,先取i與1比較,再自增,成立且 1為2,後面不再計算2 char a 7 a0 0a0 0 則 sizeof a 7 陣列位元組數1 7 7 strlen a 2 計算有效長度,即第乙...
layout weight部分常見屬性解析
如上面xml檔案所示則顯示的布局如圖 解釋一下,它是先將wrapcontent所佔的長度分出去然後再將剩餘控制項的長度按照weight的比例1 2 2再次進行分配。若將第乙個textview的layout width設定成0dp,則如下圖顯示 此時可以發現第乙個textview的控制項不在與另外兩個...