簡體   English   中英

命令行程序作為“從屬”調用被認為是動態鏈接的嗎?

[英]Command line program invoked as a “slave” considered dynamically linked?

我試圖弄清楚動態鏈接的確切含義。 我知道我的程序是否鏈接到單獨的.dll並在運行時進行函數調用,所以該鏈接是動態鏈接的。 但是說我的程序通過命令行調用了一個單獨的.exe。 該.exe可以通過在命令行中傳遞“ -slave”並將其句柄傳遞到與之通信的我的應用程序中的窗口來充當從屬。 然后,我的程序向其發送命令,例如:-dothis或-dothat,並將輸出發送到我程序的窗口。 是否認為它是動態鏈接的?

我問是因為我通過命令行使用的.exe是開源GPL程序,而我的程序不是。 我的理解是,如果我實際上未鏈接到任何GPL庫,則不會違反許可證。

謝謝

是否認為它是動態鏈接的?

否。僅當將另一個程序的代碼加載到自己進程的地址空間中時,才可以動態鏈接到另一個程序。

您建議的將GPLed程序作為一個單獨的進程運行,然后使用標准IPC設施與其通信的解決方案,正是在現場解決此問題的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM