当前位置: 首页 > wzjs >正文

怎么做淘宝客手机网站推广百度搜索风云榜

怎么做淘宝客手机网站推广,百度搜索风云榜,海淘网站建设的目的,文化传播公司网站建设需求记录下首次使用反射特性。 还有两个比较坑的事情。一个是使用 unix.Syscall,交叉编译到ARM平台时,指定 GOARCHarm ,如果使用的是arm64平台,unix.Syscall 调用会失败,报错:inappropriate ioctl for device 。…

记录下首次使用反射特性。
还有两个比较坑的事情。一个是使用 unix.Syscall,交叉编译到ARM平台时,指定 GOARCH=arm ,如果使用的是arm64平台,unix.Syscall 调用会失败,报错:inappropriate ioctl for device 。32位平台和64位平台在内核中使用ioctl不一样,如果内核中只实现了 unlocked_ioctl ,就会报上面的错误。因此需要指定 GOARCH=arm64 。第二个,也是指定了64位平台,那么golang下的int和uint将变成64bit,即8字节,因此如果要使用4字节的长度,最好直接用int32和uint32。
下面是使用反射的代码:

package mainimport ("flag""fmt""os""reflect""golang.org/x/sys/unix"
)type Args struct {calRead  boolcalWrite boolcalFile  stringdev      string
}var gArgs Argstype hudCal struct {args *Argsdevf *os.File
}type IOC_C uint32
type IOC_T int32const (IOC_W  = 1IOC_R  = 2IOC_RW = 3
)/*** Notice!!! In arm64, int is int64!*/func parseArgs() {flag.BoolVar(&gArgs.calRead, "r", false, "Read calibration data")flag.BoolVar(&gArgs.calWrite, "w", false, "Write calibration data")flag.StringVar(&gArgs.calFile, "f", "", "Calibration file")flag.StringVar(&gArgs.dev, "d", "/dev/panel-03", "Panel device control node")flag.Parse()
}func IOC_CMD(rw IOC_T, magic byte, cmd byte, size any) IOC_C {tp := reflect.TypeOf(size)iocCmd := ((uint32(rw) & 0x3) << 30) | (uint32(magic) << 8) | uint32(cmd) | uint32((tp.Size()&0x3FFF)<<16)fmt.Printf("ioctl cmd: %x(%b)\n", iocCmd, iocCmd)return IOC_C(iocCmd)
}func ioctl(f *os.File, cmd IOC_C, value any) error {v := reflect.ValueOf(value)if v.Kind() != reflect.Ptr || !v.Elem().CanSet() {return fmt.Errorf("ioctl error: value isn't a pointer type or can't set")}_, _, errno := unix.Syscall(unix.SYS_IOCTL, f.Fd(), uintptr(cmd), uintptr(v.Pointer()))if errno != 0 {return fmt.Errorf("ioctl error: %v", errno)}return nil
}func ioctlText(h *hudCal) {var link int32cmd := IOC_CMD(IOC_R, 'f', 50, link)err := ioctl(h.devf, cmd, &link)if err != nil {fmt.Println("ioctl error:", err)os.Exit(-1)}fmt.Println("link status: ", link)
}func (h *hudCal) Open() error {var err errorh.devf, err = os.OpenFile(gArgs.dev, os.O_RDWR, 0666)return err
}func (h *hudCal) Close() {h.devf.Close()
}func main() {fmt.Println("hello world")var hud hudCalvar err errorparseArgs()hud.args = &gArgserr = hud.Open()if err != nil {fmt.Println("hud open error: ", err)}defer hud.Close()ioctlText(&hud)
}
http://www.dtcms.com/wzjs/144315.html

相关文章:

  • 内蒙古网站建设网络策划是做什么的
  • 网站建设管理中se是什么意思深圳最新政策消息
  • 做网站需要开放哪些端口seo搜索引擎优化推广专员
  • 注册小微公司流程及费用优化seo厂家
  • 做网站怎么维护东莞网站seo公司哪家大
  • 温州龙湾做网站公司产品怎样网上推广
  • 沈阳网站推广优化公司青岛关键词优化seo
  • 做招聘网站多少钱mac923水蜜桃923色号
  • wordpress 福利 源码pc网站优化排名软件
  • 百事通做网站百度seo优化系统
  • 郑州网站优化汉狮网络北京网络营销
  • 做网站为什么要用php企业网络推广的方法
  • 免费做图素材网站营销推广策略有哪些
  • 7月新闻大事件30条百度seo详解
  • 亿景网站建设湖北seo诊断
  • 如何使用万网主机建设网站线上引流线下推广方案
  • 网站建设的含义站长素材免费下载
  • 南昌网站推广排名百度关键词在线优化
  • jsp网站购买空间企业宣传方式
  • 免费建设互动的网站深圳优化服务
  • 横峰县城乡建设网站如何搭建网站平台
  • 做网站如何配置自己的电脑公司网站建设要多少钱
  • 西宁建设网站软件百度快照官网
  • 电子商务网站建设的心得策划营销推广方案
  • 给介绍个网站黄色的网站推广内容
  • 建设银行激活网站企业培训机构
  • 网站建设方案书制作百度app下载链接
  • 广州专业网站改版苏州网站维护
  • 南阳做网站优化公司培训学校管理系统
  • 关于做ppt的网站有哪些内容吗最近新闻小学生摘抄