// 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(); 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().value}'); print(charPointer.toDartString()); calloc.free(charPointer); }