2016-07-07 59 views
-1

我不知道哪種解決方案最適合將模塊鏈接到二進制文件。通過動態鏈接或通過DL API動態加載。共享庫的動態鏈接或動態加載?

知道了:

  1. 我們可以指定指示是否要使用或不圖書館的功能鏈接(我們可以做,例如的#ifndef MODULE)彙編的標誌。
  2. 庫函數在運行時僅使用一次。

如果需要更多信息,請不要猶豫。

+1

只有您的程序可以在沒有庫的情況下運行,動態加載纔有意義。 – Siguza

+0

庫函數是否僅在程序的開始時使用?例如,您可以將庫函數作爲可執行文件運行,然後使用'exec()'替換進程來運行主應用程序(以params的形式向您提供相關信息)? – Galik

+0

太寬泛。試着張貼一個例子,並指定_best_的含義:根據什麼? – LPs

回答

0

你最好的答案是「這取決於」。

例如,如果您的平臺有大量可用內存,則在執行之前加載所有外部庫是有意義的。

如果在開始時將所有庫加載到內存中需要很長時間,您可能需要將庫加載到內存中。

如果平臺沒有很多內存,按需加載更有意義(不要加載不常使用的庫並保留在內存中)。

在封裝到DLL之前,您可能需要考慮函數使用的頻率。