當前位置:編程學習大全網 - 編程語言 - Linux定義函數

Linux定義函數

如何查看linux下壹個結構的定義?

在Linux下查看結構、變量和函數的定義,可以使用Windows上壹個叫SourceInsight的軟件。這個軟件在Linux的Wine環境下運行的非常好,是為數不多的可以在Linux平臺上正常運行的Windows應用。這個軟件最大的功能就是瀏覽代碼,可以很容易的跳轉到變量、函數、結構、類的定義,尤其是代碼項目比較大的時候。

linux中自定義函數的優缺點是什麽?

在Linux操作系統中,函數庫根據是否編譯成程序分為靜態函數庫和動態函數庫。

靜態函數庫

擴展名(。答

編譯行為

靜態函數庫在編譯時會直接集成到執行程序中,所以執行程序會比較大。

可以獨立執行。

因為靜態函數庫會集成到執行程序中,也就是說執行程序相當於擁有了壹個靜態函數庫的副本,那麽執行程序就可以獨立執行,而不用考慮原來靜態函數庫的狀態。

提升

因為函數庫會和源程序壹起編譯,如果函數庫升級,需要重新編譯使用函數庫的源程序,生成新的執行程序。

動態函數庫

擴展名(。所以)

編譯行為

編譯包含動態函數庫的源程序時,只有壹個“指針”指向使用動態函數庫的函數庫所在的位置,沒有集成動態函數庫,然後在執行程序需要使用函數庫時根據這個“指針”調用相應的動態函數庫,所以執行文件比較小。

不能獨立執行

因為在編譯時,動態函數庫只是作為“指針”存在於執行程序中,在執行時被調用,所以動態函數庫需要在程序執行時存在,並且函數庫的目錄要和程序中的“指針”壹致。

提升

因為函數庫在編譯時只留下壹個地址,只要地址不變,函數庫的變化就不會影響程序的執行。因此,動態函數庫升級時,源程序不需要重新編譯。(這裏可以看出,動態函數庫本身很容易修改,更重要的是存儲的位置。如果位置改變,使用函數庫的程序在執行時會出錯。)

對於目前的開發來說,動態函數庫是首選,因為它易於升級。因此,我們還需要知道在我們的二進制可執行文件中使用了哪些動態函數庫。可以查詢ldd命令。

**ldd**

參數:

-v:列出所有內容信息;

-d:重新顯示丟失數據的鏈接點;

-r:明確顯示與ELF相關的錯誤內容。

1

2

1

2

比如我們經常使用的ls命令,可以看看它使用的動態函數庫。

我們先用哪個命令來檢查ls命令的目錄。

  • 上一篇:商標的不同類代表的是什麽意思
  • 下一篇:編程1107
  • copyright 2024編程學習大全網