Cargo Features
[dependencies]
memflow = { version = "0.2.3", default-features = false, features = ["std", "dummy_mem", "serde_derive", "memmapfiles", "plugins", "filemap", "64_bit_mem", "os_helpers", "unstable_goblin_lossy_macho", "128_bit_mem"] }
- default = 64_bit_mem, filemap, memmapfiles, os_helpers, plugins, serde_derive, std
-
These default features are set whenever
memflow
is added without
somewhere in the dependency tree.default-features = false - std default = coarsetime
-
Enables std of cglue =0.2.14 and no-std-compat
Affects
connector::fileio
,memory_view::cursor
,memory_view::MemoryView.cursor
,memory_view::MemoryView.into_cursor
,memory_view::MemoryView.cursor_at
,memory_view::MemoryView.into_cursor_at
,middleware::delay
,middleware::metrics
,cache::timed_validator
,cache::DefaultCacheValidator
… - dummy_mem = rand, rand_xorshift
- serde_derive default memmapfiles = serde
-
Enables serde of cglue =0.2.14
- memmapfiles default = serde_derive, toml
- plugins default = abi_stable, chrono, dirs, goblin, libloading, num-traits, once_cell, os_helpers, serde_json
-
Enables layout_checks of cglue =0.2.14, std of log
Affects
memflow::plugins
… - filemap default = memmap
-
Affects
connector::filemap
… - 64_bit_mem default
-
Affects
address::umem
,address::imem
… - os_helpers default plugins = goblin, pelite
- unstable_goblin_lossy_macho
-
Until https://github.com/m4b/goblin/pull/386 is merged
- 128_bit_mem
-
use 128 bit addressing.
If 64_bit_mem is also enabled, 64-bit mode takes precedence.
This is because 128-bit mode is not necessary to date, and u128 is not FFI-safe.Affects
address::umem
,address::imem
…
Features from optional dependencies
In crates that don't use the dep:
syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.
- coarsetime std
- rand dummy_mem?
- rand_xorshift dummy_mem?
- memmap filemap
- libloading plugins
-
Enables libloading
plugins
- dirs plugins
- pelite os_helpers
-
Enables pelite =0.9.0
enable unsafe_alignment for now, this is UB, but the idea is to fix pelite in upstream
- abi_stable plugins
-
Enables abi_stable =0.10.3
we pin abi_stable to prevent abi incompatabilities by different versions
Affects
memflow::abi_stable
… - once_cell plugins
- goblin os_helpers plugins
-
Enables goblin ^0.8.1
- serde serde_derive
- toml memmapfiles
- num-traits plugins
-
Enables num-traits
plugin analyzer
- serde_json plugins
-
Enables serde_json
registry
- chrono plugins