我想为现有的(第三方)Python 模块编写 golang 绑定。目的是想使用Golang中Python模块提供的API。
我已经找到了 Python 的 C API 的 golang 绑定(py3 的go-python3和 py2 的go-python),但我仍然没有弄清楚如何将相对复杂的 Python 模块转换为 Golang(即如何处理类型安全在python中寻找不安全的输入和返回等)。
什么是好的方法?该领域是否有任何预先存在的工具?有没有关于 Python 代码的 Golang 绑定的好例子?(我找不到很多 tbh)。
我有一个关于自制程序的愚蠢问题:为什么我通过自制程序安装的可执行文件受到 MacOS(看门人)的信任?即安装后我可以运行可执行文件并且不会弹出安全窗口并且不必允许异常 - 这是为什么?
我最初认为自制程序可能会在其 CI 中对二进制文件进行签名/公证,但查看一些随机可执行文件,看起来它们没有签名:spctl -a -v $(which <some-executable-installed-with-homebrew>)
。
编辑:意思是从瓶子安装的可执行文件(预编译的二进制文件,而不是在我的本地计算机上编译的源包)
我正在尝试使用CreateSymbolicLinkW()函数(来自Kernel32.dll)来创建符号链接.
在相应的计算机上(Win7 Pro x64 SP1):
现在的情况是:
最后一个案例是实际问题.GetLastError返回的错误是:1314(="客户端未保留所需的权限").
为什么在没有升级的进程中管理员用户失败,而它适用于未高效的shell中的任何非管理员用户?
我的代码旨在由任何类型的用户运行,最好是在一个不高的过程中.要求管理员用户提升流程作为一种解决方法是我在任何情况下都要避免的.
使用Windows shell btw中的MKLINK命令也可以重现相同的行为(非升级shell中的admin用户失败,而非升级shell中的所有非管理员用户都失败).
我非常感谢任何想法/建议.提前谢谢了!
编辑:Python 2.7的示例代码:
import ctypes
CreateSymbolicLinkW = ctypes.WinDLL("Kernel32").CreateSymbolicLinkW
CreateSymbolicLinkW(u"c:\\linktest\\testlink.txt", u"c:\\linktest\\testtarget.txt",0)
print(ctypes.WinDLL("Kernel32").GetLastError())
Run Code Online (Sandbox Code Playgroud)