Comments (1)
Hello @AregevDev,
Sorry for my late response.
The dylib
class should not go out of scope, or its loaded function pointers will not be valid anymore.
In your case, you should do like that:
class HostFXR
{
public:
dylib lib;
hostfxr_initialize_for_dotnet_command_line_fn initialize_for_dotnet_command_line_fn{};
hostfxr_initialize_for_runtime_config_fn initialize_for_runtime_config_fn{};
hostfxr_get_runtime_delegate_fn get_runtime_delegate_fn{};
hostfxr_run_app_fn run_app_fn{};
hostfxr_close_fn close_fn{};
static HostFXR init()
{
size_t buffer_size = 0;
get_hostfxr_path(nullptr, &buffer_size, nullptr);
auto lib_path = static_cast<char_t *>(calloc(buffer_size, sizeof(char_t)));
get_hostfxr_path(lib_path, &buffer_size, nullptr);
dylib lib(lib_path);
auto initialize_for_dotnet_command_line_fn = *lib.get_function<hostfxr_initialize_for_dotnet_command_line_fn>("hostfxr_initialize_for_dotnet_command_line");
HostFXR fxr {
.lib = std::move(lib),
.initialize_for_dotnet_command_line_fn = initialize_for_dotnet_command_line_fn
};
printf("%p\n", fxr.initialize_for_dotnet_command_line_fn);
return fxr;
}
};
from dylib.
Related Issues (20)
- Better check for symbol presence than NULL comparison HOT 2
- Compilation warnings with GCC on Linux HOT 1
- DYLIB_API questionable HOT 3
- Can't use nullptr for handle when you don't know it's a pointer HOT 1
- Can't use a static message buffer HOT 1
- Issues with the _get_error() function
- Need to update README following our dev branch changes HOT 1
- Update unit tests to have 100% coverage and make codecov.io works again
- Add std::filesystem support in dylib constructor HOT 1
- Add a named constant for not using OS decorations HOT 1
- dylib::get_function() is "neither here nor there"
- Add get_symbol public member function and 2.1.0 version setup
- Publish to conan / vcpkg HOT 6
- Building on Mingw64 (Windows) HOT 6
- The packaging via CPack was gone HOT 2
- error: called object type 'void (**)(unsigned char, const char *, ...)' is not a function or function pointer HOT 1
- macOS dynamic shared module extension probably shouldn't default to .dylib or allow both .dylib and .so HOT 5
- 1
- List all loadable symbols in dylib HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dylib.