---
title: "RawMemoryFree"
language: "en"
type: "Symbol"
summary: "RawMemoryFree[ptr] frees the raw memory at a pointer ptr."
keywords: 
- ffi
- foreign function interface
- raw memory free
- memory free
- allocator
- memory allocation
- memory management
- free
canonical_url: "https://reference.wolfram.com/language/ref/RawMemoryFree.html"
source: "Wolfram Language Documentation"
related_guides: 
  - 
    title: "Foreign Function Interface"
    link: "https://reference.wolfram.com/language/guide/ForeignFunctionInterface.en.md"
  - 
    title: "Calling External Programs"
    link: "https://reference.wolfram.com/language/guide/CallingExternalPrograms.en.md"
related_functions: 
  - 
    title: "RawMemoryAllocate"
    link: "https://reference.wolfram.com/language/ref/RawMemoryAllocate.en.md"
  - 
    title: "RawPointer"
    link: "https://reference.wolfram.com/language/ref/RawPointer.en.md"
  - 
    title: "OpaqueRawPointer"
    link: "https://reference.wolfram.com/language/ref/OpaqueRawPointer.en.md"
  - 
    title: "ManagedObject"
    link: "https://reference.wolfram.com/language/ref/ManagedObject.en.md"
  - 
    title: "RawMemoryExport"
    link: "https://reference.wolfram.com/language/ref/RawMemoryExport.en.md"
  - 
    title: "ForeignFunctionLoad"
    link: "https://reference.wolfram.com/language/ref/ForeignFunctionLoad.en.md"
  - 
    title: "ForeignFunction"
    link: "https://reference.wolfram.com/language/ref/ForeignFunction.en.md"
related_tutorials: 
  - 
    title: "Foreign Functions"
    link: "https://reference.wolfram.com/language/tutorial/ForeignFunctions.en.md"
---
[EXPERIMENTAL]

# RawMemoryFree

RawMemoryFree[ptr] frees the raw memory at a pointer ptr.

## Details

* ``RawMemoryFree`` is used to free the memory of pointers returned by ``RawMemoryAllocate`` or ``RawMemoryExport``.

## Examples (1)

### Basic Examples (1)

Allocate raw memory and get the raw pointer:

```wl
In[1]:= rawPtr = UnmanageObject@RawMemoryAllocate["UnsignedInteger8"]

Out[1]= RawPointer[5483759168, "UnsignedInteger8"]
```

Write a value to the raw memory:

```wl
In[2]:= RawMemoryWrite[rawPtr, 42]

Out[2]= RawPointer[5483759168, "UnsignedInteger8"]
```

Free the raw memory:

```wl
In[3]:= RawMemoryFree[rawPtr]
```

## See Also

* [`RawMemoryAllocate`](https://reference.wolfram.com/language/ref/RawMemoryAllocate.en.md)
* [`RawPointer`](https://reference.wolfram.com/language/ref/RawPointer.en.md)
* [`OpaqueRawPointer`](https://reference.wolfram.com/language/ref/OpaqueRawPointer.en.md)
* [`ManagedObject`](https://reference.wolfram.com/language/ref/ManagedObject.en.md)
* [`RawMemoryExport`](https://reference.wolfram.com/language/ref/RawMemoryExport.en.md)
* [`ForeignFunctionLoad`](https://reference.wolfram.com/language/ref/ForeignFunctionLoad.en.md)
* [`ForeignFunction`](https://reference.wolfram.com/language/ref/ForeignFunction.en.md)

## Tech Notes

* [Foreign Functions](https://reference.wolfram.com/language/tutorial/ForeignFunctions.en.md)

## Related Guides

* [Foreign Function Interface](https://reference.wolfram.com/language/guide/ForeignFunctionInterface.en.md)
* [Calling External Programs](https://reference.wolfram.com/language/guide/CallingExternalPrograms.en.md)

## History

* [Introduced in 2023 (13.3)](https://reference.wolfram.com/language/guide/SummaryOfNewFeaturesIn133.en.md)