> For the complete documentation index, see [llms.txt](https://calnix.gitbook.io/aave-book/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://calnix.gitbook.io/aave-book/primer/embedded-vs-linked-libraries.md).

# Embedded vs Linked Libraries

### Embedded library

An embedded library is a library that contains only **internal** functions.

* If a smart contract is consuming a library which have only internal functions, then the EVM simply embeds the library into the contract (hardcoded into contract at compile time).
* Instead of using `delegatecall` to call a function, it simply uses `JUMP` statement (normal method call). There is no need to separately deploy library in this scenario.

### Linked Library

A linked library is a library that contains public or external functions.

* The library needs to be deployed as a separate contract, and a unique address will be generated for it upon deployment.
* This address needs to be linked with calling contract.
