作为"slave"调用的命令行程序被视为动态链接?
Command line program invoked as a "slave" considered dynamically linked?
我正试图弄清楚动态链接到底意味着什么。我知道,如果我的程序链接到一个单独的.dll并在运行时进行函数调用,那就是动态链接的。但假设我的程序通过命令行调用了一个单独的.exe。该.exe可以通过在命令行中传递"-slave"和我的应用程序中与之通信的窗口的句柄来充当从属程序。然后我的程序向它发送命令,例如:-dothis或-dothat,输出将发送到我的程序的窗口。这被认为是动态联系的吗?
我问是因为我通过命令行使用的.exe是一个开源的GPL程序,而我的程序不是。我的理解是,如果我没有真正链接到任何GPL库,我就没有违反许可证。
感谢
这被认为是动态联系的吗?
没有。只有在您将另一个程序的代码加载到自己进程的地址空间中时,才动态链接到该程序。
您建议的将GPLed程序作为一个单独的进程运行,然后使用标准IPC设施与之通信的解决方案正是该问题在现场解决的方式。
相关文章:
- g++用户定义的动态链接库上的全局new和delete运算符
- 如何使用C++导出制作动态链接库
- 使用动态链接加载程序 <dlfcn.h> 而不是直接函数调用的目的是什么?
- 动态链接库中C++回调函数
- 我的动态链接队列在同一输出流中调用时不正确地输出三个返回函数
- 如何动态链接 grpc 库 c++?
- 调用函数一次用于动态链接库,一次从可执行文件调用函数
- 将函数传递给动态链接库
- aarch64动态链接器rpath使用辅助依赖链接
- 动态链接-Linux与Windows
- 如何将动态链接库与CMake一起使用
- 使用动态链接从.dll库调用函数
- 静态链接 Visual Studio dll 到动态链接的 sfml 项目
- 从另一个动态链接库项目调用静态库函数
- JNI 不满意链接错误: 动态链接库 (DLL) 初始化例程失败
- 使用 GCC 的静态和动态链接
- 静态链接MSVC库,动态链接Qt
- 在动态链接中,.exe如何知道在更新库时在哪里搜索库?
- 如何强制Windows.h在Visual Studio中静态链接而不是动态链接?
- 对应于 stdio.h 的库文件是动态链接还是静态链接