阴晦 (@y1nhui)人生第一次遇到内存同步问题 中发帖

今天遇到了一个前方反馈的问题。调用不了工具了。 
一开始说小问题,32位莫名不识别,我的go编译改32位就好了。
结果改了后,可以加载指定dll了。但是panic了 :tieba_033:
最tm离谱的是,写了个println日志 好了 :tieba_033:
当时我脑子里一下冒出来了那个经典的c语言笑话
“代码一直有问题,但是加print打印就好了,事后发现是因为print是原子性的,反而解决了并发问题”
我就想难道我也是?于是我追加了读写锁,防止初始化竞争,执行中重新读取dll导致原地址被释放啥的。
然后,好消息,不是刚刚的那个错误地址 oxffff 和 ox000001 了
坏消息,还是寄。。。
最后一顿操作,人生中第一次用了runtime库 runtime.KeepAlive 解决了。 :tieba_033:
太神秘了,dll,太神秘了cgo。
看来之前说的AI...