| // Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file | |
| // for details. All rights reserved. Use of this source code is governed by a | |
| // BSD-style license that can be found in the LICENSE file. | |
| import 'dart:ffi'; | |
| import 'package:ffi/ffi.dart'; | |
| void main() { | |
| // Allocate and free some native memory with calloc and free. | |
| final pointer = calloc<Uint8>(); | |
| pointer.value = 3; | |
| print(pointer.value); | |
| calloc.free(pointer); | |
| // Use the Utf8 helper to encode zero-terminated UTF-8 strings in native | |
| // memory. | |
| final myString = 'ππΏπ¬'; | |
| final charPointer = myString.toNativeUtf8(); | |
| print('First byte is: ${charPointer.cast<Uint8>().value}'); | |
| print(charPointer.toDartString()); | |
| calloc.free(charPointer); | |
| } |