{"id":39554188,"url":"https://github.com/ganeshjadhavongithub/shared-object-library-using-rust","last_synced_at":"2026-01-18T07:00:41.467Z","repository":{"id":154893781,"uuid":"632452458","full_name":"GaneshJadhavOnGitHub/Shared-Object-Library-Using-Rust","owner":"GaneshJadhavOnGitHub","description":"A sample project which creates a shared object (.so) file on linux using Rust programming language and calls it's function from another rust program.","archived":false,"fork":false,"pushed_at":"2025-11-28T13:29:35.000Z","size":78,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-30T20:13:32.133Z","etag":null,"topics":["dll-linux","linux","linux-runtime-library","runtime-library","rust","rust-lang","shared-lib","shared-library","shared-object","shared-object-file","shared-object-file-rust","shared-object-library","so","so-file"],"latest_commit_sha":null,"homepage":"https://github.com/GaneshJadhavOnGitHub/Shared-Object-File-Using-Rust","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/GaneshJadhavOnGitHub.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-04-25T12:43:41.000Z","updated_at":"2025-11-28T13:29:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"3d4d4014-564b-48fc-b611-5ae5c32bb1aa","html_url":"https://github.com/GaneshJadhavOnGitHub/Shared-Object-Library-Using-Rust","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/GaneshJadhavOnGitHub/Shared-Object-Library-Using-Rust","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GaneshJadhavOnGitHub%2FShared-Object-Library-Using-Rust","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GaneshJadhavOnGitHub%2FShared-Object-Library-Using-Rust/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GaneshJadhavOnGitHub%2FShared-Object-Library-Using-Rust/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GaneshJadhavOnGitHub%2FShared-Object-Library-Using-Rust/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GaneshJadhavOnGitHub","download_url":"https://codeload.github.com/GaneshJadhavOnGitHub/Shared-Object-Library-Using-Rust/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GaneshJadhavOnGitHub%2FShared-Object-Library-Using-Rust/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28532579,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T00:39:45.795Z","status":"online","status_checked_at":"2026-01-18T02:00:07.578Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dll-linux","linux","linux-runtime-library","runtime-library","rust","rust-lang","shared-lib","shared-library","shared-object","shared-object-file","shared-object-file-rust","shared-object-library","so","so-file"],"created_at":"2026-01-18T07:00:22.817Z","updated_at":"2026-01-18T07:00:41.427Z","avatar_url":"https://github.com/GaneshJadhavOnGitHub.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Shared-Object-Library-Using-Rust\nA sample project which creates a shared object (.so) library on linux using Rust programming language and calls it's function from another rust program.\n\n-------------------\nShared Object (.so) File:- \n\nIn simple words, a '.so' file on Linux is similar to a 'dll' on Windows. \n\nIt is a shared library that is dynamically linked to the executable/binary, meaning it's not embedded inside the executable/binary like a static library (.a). Instead, the executable/binary contains references to the .so file, which is loaded into memory when the executable/binary is run and the library's functionality is referenced. This dynamic linking allows multiple executables/binaries to share the same library in memory, promoting efficient use of system resources.\n\n------------------\nFor System Requirements please refer 'Application_Requirements.txt'\n \n----------------------\n\nHow to run the project.\n\n1. Clone the repository.\n\n2. Navigate inside project folder 'addition_library' from terminal.\n\n3. Build this Library project using following command -  \n   cargo build\n\n4. Navigate inside project folder 'addition_client' from terminal.  \n\n5. Build and run this binary project using following commands -\n\n   cargo build\n\n   cargo run\n   \n------------------------\n\nApplication is tested on Ubuntu 20.04.5 LTS with WSL2 on Windows 10, working well.\n\nTested on Ubuntu 22.04.2 LTS using github actions, working well.\n\n-----------------------\n\nOutput :- \n\n1. Build Library project : \n\n![Output1](https://user-images.githubusercontent.com/86361080/234288935-f37ecda9-c406-43b4-92e6-0f83f0ce7c1d.png)\n\n\n2. Build and Run Binary project :\n\n![Output2](https://user-images.githubusercontent.com/86361080/234289054-19efb663-2859-45d9-901c-46ac780ce601.png)\n\n--------------------\n   \n   \n__addition_library project dependency tree__\n\n```\naddition_library v0.1.0 () - \n\n```\n__addition_client project dependency tree__\n\n```\naddition_client v0.1.0  () - \n`-- addition_library feature \"default\"\n    `-- addition_library v0.1.0 () - \n\n```\n\n__Repository Tree Structure__\n\n```\n├── .github\n    └── workflows\n    │   └── rust.yml\n├── Application_Requirements.txt\n├── LICENSE\n├── Output1.png\n├── Output2.png\n├── README.md\n└── SharedObjectFile\n    ├── addition_client\n        ├── .gitignore\n        ├── Cargo.lock\n        ├── Cargo.toml\n        └── src\n        │   └── main.rs\n    └── addition_library\n        ├── .gitignore\n        ├── Cargo.toml\n        └── src\n            └── lib.rs\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fganeshjadhavongithub%2Fshared-object-library-using-rust","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fganeshjadhavongithub%2Fshared-object-library-using-rust","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fganeshjadhavongithub%2Fshared-object-library-using-rust/lists"}