在 CL 8784 中,runtime/cgo
在 ios
上给了 special-case code 以更改当前工作目录到应用根目录。
这种高级别的行为在像 runtime/cgo
这样低级别的包里显得非常冒失和不合适,而且它导致 runtime/cgo
在其他 darwin
平台上不需要该框架时却依赖于 CoreFoundation
框架。
如果 init_working_dir
的行为本应属于标准库,那么 os
包中的一个 init
函数将比 runtime/cgo
中的临时副作用更合适。(注意 @golang/ios;CC @golang/runtime)
2条答案
按热度按时间j8ag8udp1#
具体来说,这个特殊情况使得像
misc/cgo/testcarchive
这样的事物变得复杂,然后需要它自己的特殊情况代码来处理不恰当的依赖关系。此外,它还会导致一个链接到更大
ios
程序的 Go 库改变当前工作目录,这完全不是一个合适的库行为!tgabmvqs2#
https://go.dev/cl/463752提到了这个问题:
cmd/dist,internal/platform: reenable the c-archive build mode on ios