簡體   English   中英

使用 Lazarus 編寫的 FreePascal GUI 應用程序的依賴項是什么?

[英]What are the dependencies of a FreePascal GUI app written with Lazarus?

我知道 Linux 的 FreePascal 應用程序是靜態鏈接的。 我想需要一些低級 API。 這只是用於 GUI 應用程序的 GTK 嗎? 我假設命令行應用程序不會具有相同的依賴項。

我在哪里可以找到一種方法來確定哪些 LCL 類需要哪些底層 API?

編輯:維塔利想知道我從他的回答中發現了什么。

使用一個小的控制台應用程序:ldd 確認它是一個靜態鏈接的可執行文件。
strace 更有趣。 僅限控制台的應用程序顯示沒有打開的文件。 我想它是完全自給自足的。

通過一個簡單的 GUI 應用程序,ldd 顯示了一些動態鏈接,而 strace 的輸出顯示了許多“打開”。

在我對此感到滿意之前,還需要進行更多的研究。

既然它們是靜態鏈接的,那么它們究竟可以有什么樣的依賴關系?..

但是,您可以嘗試使用多種方法來解決它...

  1. ldd <executable> (只是為了確保您的二進制文件不是動態鏈接的)
  2. strace <executable> > log.file 2&>1 && cat log.file | grep open

我在哪里可以找到一種方法來確定哪些 LCL 類需要哪些底層 API?

在我看來,這個目的需要一些艱苦的工作。 我建議您嘗試使用systemtap

暫無
暫無

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

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