我试图澄清动态链接的确切含义。我理解我的程序是否链接到单独的.dll并在运行时进行函数调用,这是动态链接的。但是说我的程序通过命令行调用一个单独的.exe。那个.exe可以通过传递" -slave"作为奴隶。在命令行和我的应用程序中与之通信的窗口的句柄。我的程序然后发送命令,例如:-dothis或-dothat,输出发送到我的程序窗口。那被认为是动态链接的吗?
我问,因为.exe我使用via命令行是一个开源的GPL程序而我的程序不是。我的理解是,如果我实际上没有链接到任何GPL库,我并没有违反许可证。
由于
答案 0 :(得分:1)
这被认为是动态链接的吗?
没有。只有在自己进程的地址空间中加载代码时,才动态链接到另一个程序。
您建议的将GPLed程序作为一个单独的流程运行,然后使用标准IPC工具与之通信的解决方案正是该问题在现场得到解决的方法。