Fri, 23 May 2025 12:44:24 +0200
make test-compile depend on both static and shared
the shared lib is not needed for the tests,
but when run with coverage, gcov will be confused
when outdated line information is available from
a previous shared build
1141 | 1 | # Memory Management |
1170
49cc0bbea6a9
add Memory Management Section description
Mike Becker <universe@uap-core.de>
parents:
1141
diff
changeset
|
2 | |
49cc0bbea6a9
add Memory Management Section description
Mike Becker <universe@uap-core.de>
parents:
1141
diff
changeset
|
3 | With the `CxAllocator` interface UCX provides the possibility to use custom allocator functions for different purposes. |
49cc0bbea6a9
add Memory Management Section description
Mike Becker <universe@uap-core.de>
parents:
1141
diff
changeset
|
4 | Many UCX functions support the use of specialized allocators or provide a second function suffixed with `_a`. |
49cc0bbea6a9
add Memory Management Section description
Mike Becker <universe@uap-core.de>
parents:
1141
diff
changeset
|
5 | |
49cc0bbea6a9
add Memory Management Section description
Mike Becker <universe@uap-core.de>
parents:
1141
diff
changeset
|
6 | For convenience, functions that are not explicitly requesting an allocator - like e.g. `cx_strdup_a()` - also accept |
1318
12fa1d37fe48
allow changing the cxDefaultAllocator - resolves #669
Mike Becker <universe@uap-core.de>
parents:
1210
diff
changeset
|
7 | `NULL` as an allocator, in which case the [default allocator](allocator.h.md#default-allocator) is used. |
1170
49cc0bbea6a9
add Memory Management Section description
Mike Becker <universe@uap-core.de>
parents:
1141
diff
changeset
|
8 | |
49cc0bbea6a9
add Memory Management Section description
Mike Becker <universe@uap-core.de>
parents:
1141
diff
changeset
|
9 | Additionally, UCX also provides a [memory pool](mempool.h.md) implementation of the allocator interface. |
49cc0bbea6a9
add Memory Management Section description
Mike Becker <universe@uap-core.de>
parents:
1141
diff
changeset
|
10 | |
49cc0bbea6a9
add Memory Management Section description
Mike Becker <universe@uap-core.de>
parents:
1141
diff
changeset
|
11 | > Although not part of the public API, UCX is also implementing the allocator interface |
49cc0bbea6a9
add Memory Management Section description
Mike Becker <universe@uap-core.de>
parents:
1141
diff
changeset
|
12 | > in its own test suite: `CxTestingAllocator`. This allocator keeps track of memory allocations |
1210
2ad0cf0f314b
complete the printf documentation and fix code formatting
Mike Becker <universe@uap-core.de>
parents:
1170
diff
changeset
|
13 | > and deallocations with the goal to detect memory management errors. |