{"id":17788752,"url":"https://github.com/devel0/example-dotnet-cpp-integration","last_synced_at":"2025-07-22T14:05:56.880Z","repository":{"id":122982931,"uuid":"184872036","full_name":"devel0/example-dotnet-cpp-integration","owner":"devel0","description":"example dotnet cpp integration","archived":false,"fork":false,"pushed_at":"2019-05-04T10:34:34.000Z","size":13,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-27T12:07:27.685Z","etag":null,"topics":["cpp","example","netcore","vscode"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/devel0.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}},"created_at":"2019-05-04T08:49:08.000Z","updated_at":"2020-07-27T00:27:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"f267d925-f89a-4c6d-b8f7-334f7c4ea55c","html_url":"https://github.com/devel0/example-dotnet-cpp-integration","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/devel0/example-dotnet-cpp-integration","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devel0%2Fexample-dotnet-cpp-integration","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devel0%2Fexample-dotnet-cpp-integration/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devel0%2Fexample-dotnet-cpp-integration/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devel0%2Fexample-dotnet-cpp-integration/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/devel0","download_url":"https://codeload.github.com/devel0/example-dotnet-cpp-integration/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/devel0%2Fexample-dotnet-cpp-integration/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266507366,"owners_count":23940055,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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":["cpp","example","netcore","vscode"],"created_at":"2024-10-27T10:21:04.856Z","updated_at":"2025-07-22T14:05:56.872Z","avatar_url":"https://github.com/devel0.png","language":"C#","readme":"# example dotnet cpp integration\n\n## how this project was built\n\n```sh\nmkdir example-dotnet-cpp-integration\ncd example-dotnet-cpp-integration\ngit init\ncurl -s https://raw.githubusercontent.com/github/gitignore/master/VisualStudio.gitignore -o .gitignore\necho \"*.so\" \u003e\u003e .gitignore\necho \"*.o\" \u003e\u003e .gitignore\ncurl -s https://api.github.com/licenses/mit | jq -r \".body\" | sed \"s/\\[year\\]/$(date +%Y)/g\" | sed \"s/\\[fullname\\]/myname/g\" \u003e LICENSE\n\ndotnet new console -n dotnet-app\ncode .\n```\n\n- initial import\n\n```sh\ngit remote add origin https://github.com/devel0/example-dotnet-cpp-integration.git\ngit add --all\ngit commit -m \"initial commit\"\ngit push -u origin master\n```\n\n## execution\n\n- hit F5 on vscode\n\n```\n1+2=3\nsample message iteration n.0\nsample message iteration n.1\nsample message iteration n.2\nsample message iteration n.3\nsample message iteration n.4\nsample message iteration n.5\nsample message iteration n.6\nsample message iteration n.7\nsample message iteration n.8\nsample message iteration n.9\n```\n\n## remarks\n\n- [dependant task](https://github.com/devel0/example-dotnet-cpp-integration/blob/df9004b02cb4b90a5640b6259a36d4c0a0b4a97a/.vscode/tasks.json#L14) before to build\n- makefile [LIBRARY](https://github.com/devel0/example-dotnet-cpp-integration/blob/df9004b02cb4b90a5640b6259a36d4c0a0b4a97a/.vscode/tasks.json#L20) var override to out .so file in the dotnet bin folder\n- cpp makefile ensured output library folder [exists](https://github.com/devel0/example-dotnet-cpp-integration/blob/df9004b02cb4b90a5640b6259a36d4c0a0b4a97a/cpp-library/Makefile#L11)\n- csharp [dll method import](https://github.com/devel0/example-dotnet-cpp-integration/blob/df9004b02cb4b90a5640b6259a36d4c0a0b4a97a/dotnet-app/Program.cs#L8-L9)\n- cpp [function pointer](https://github.com/devel0/example-dotnet-cpp-integration/blob/b303afce00e70c8e28f310b696d0eeafe9f2dabb/cpp-library/lib.cpp#L12)\n- csharp import function with [function pointer argument](https://github.com/devel0/example-dotnet-cpp-integration/blob/7ccb7e41fe3c1d6dc275f401e4c5512d54ecb56e/dotnet-app/Program.cs#L11-L14)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevel0%2Fexample-dotnet-cpp-integration","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevel0%2Fexample-dotnet-cpp-integration","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevel0%2Fexample-dotnet-cpp-integration/lists"}