![](/img/trans.png)
[英]What are some choices to port existing Windows GUI app written in C to Linux?
[英]What are the dependencies of a FreePascal GUI app written with Lazarus?
我知道 Linux 的 FreePascal 應用程序是靜態鏈接的。 我想需要一些低級 API。 這只是用於 GUI 應用程序的 GTK 嗎? 我假設命令行應用程序不會具有相同的依賴項。
我在哪里可以找到一種方法來確定哪些 LCL 類需要哪些底層 API?
編輯:維塔利想知道我從他的回答中發現了什么。
使用一個小的控制台應用程序:ldd 確認它是一個靜態鏈接的可執行文件。
strace 更有趣。 僅限控制台的應用程序顯示沒有打開的文件。 我想它是完全自給自足的。
通過一個簡單的 GUI 應用程序,ldd 顯示了一些動態鏈接,而 strace 的輸出顯示了許多“打開”。
在我對此感到滿意之前,還需要進行更多的研究。
既然它們是靜態鏈接的,那么它們究竟可以有什么樣的依賴關系?..
但是,您可以嘗試使用多種方法來解決它...
ldd <executable>
(只是為了確保您的二進制文件不是動態鏈接的)strace <executable> > log.file 2&>1 && cat log.file | grep open
我在哪里可以找到一種方法來確定哪些 LCL 類需要哪些底層 API?
在我看來,這個目的需要一些艱苦的工作。 我建議您嘗試使用systemtap 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.