本文整理匯總了Golang中e8vm/io/e8vm/link8.Pkg.DeclareVar方法的典型用法代碼示例。如果您正苦於以下問題:Golang Pkg.DeclareVar方法的具體用法?Golang Pkg.DeclareVar怎麽用?Golang Pkg.DeclareVar使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類e8vm/io/e8vm/link8.Pkg
的用法示例。
在下文中一共展示了Pkg.DeclareVar方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: declare
func (p *strPool) declare(lib *link8.Pkg) {
if lib.Path() != p.pkg {
panic("package name mismatch")
}
ndigit := countDigit(len(p.strs))
nfmt := fmt.Sprintf(":str_%%0%dd", ndigit)
for i, s := range p.strs {
s.name = fmt.Sprintf(nfmt, i)
s.pkg = p.pkg
v := link8.NewVar(0)
v.Write([]byte(s.str))
lib.DeclareVar(s.name)
lib.DefineVar(s.name, v)
}
}
示例2: declare
func (p *datPool) declare(lib *link8.Pkg) {
if lib.Path() != p.pkg {
panic("package name mismatch")
}
if len(p.dat) == 0 {
return
}
ndigit := countDigit(len(p.dat))
nfmt := fmt.Sprintf(":dat_%%0%dd", ndigit)
for i, d := range p.dat {
d.name = fmt.Sprintf(nfmt, i)
align := uint32(0)
if d.regSizeAlign {
align = regSize
}
v := link8.NewVar(align)
v.Write(d.bs)
lib.DeclareVar(d.name)
lib.DefineVar(d.name, v)
}
}