2014-12-27 43 views
0

在將它鏈接到應用程序的jemalloc一種可能的方式「Getting-Started」部分是:鏈接上下文中的通用實現是什麼?

鏈接jemalloc到在構建時應用,但使用它作爲一個通用的malloc實現:

cc app.c -o app -L${JEMALLOC_PATH}/lib -Wl,-rpath,${JEMALLOC_PATH}/lib -ljemalloc

據我瞭解這個命令它會導致靜態和動態鏈接發生。爲什麼這樣做? 「......將它用作通用malloc實現」是什麼意思?

+0

Rpath是一個典型的動態鏈接參數,將參數作爲動態庫在生成的二進制文件中的搜索路徑嵌入。 –

回答

2

這意味着jemalloc將取代標準malloc函數。下一個選項對比吧:

編譯jemalloc與API前綴(參見--with-jemalloc前綴配置選項),與上面在構建時jemalloc鏈接,但是從系統分配明顯使用jemalloc 。

在這種情況下,您可以調用類似jemalloc()而不是malloc()來使用它。

+0

好的,我想我首先弄錯了。所以「通用實現」這個短語與連接完全沒有關係。另外我剛剛意識到實際上沒有靜態鏈接發生的權利? – ben

相關問題