dart_cpp_bridge 0.1.0-dev.2 copy "dart_cpp_bridge: ^0.1.0-dev.2" to clipboard
dart_cpp_bridge: ^0.1.0-dev.2 copied to clipboard

Experimental Dart ↔ C++20 bridge (FRB-like). Dart FFI session layer; native library built from the monorepo (hooks not ready).

example/example.dart

// ignore_for_file: avoid_print

/// Minimal usage sketch for [package:dart_cpp_bridge].
///
/// Build the native library from the monorepo first, then:
///
/// ```bash
/// cd dart
/// dart run example/example.dart
/// # or: DCB_LIBRARY_PATH=/path/to/lib dart run example/example.dart
/// ```
///
/// Full docs: https://github.com/deretame/dart_cpp_bridge
library;

import 'dart:io';

import 'package:dart_cpp_bridge/dart_cpp_bridge.dart';

Future<void> main(List<String> args) async {
  final path = Platform.environment['DCB_LIBRARY_PATH'] ??
      (args.isNotEmpty ? args.first : _defaultLibraryPath());

  print('Loading: $path');
  final bridge = await DartCppBridge.init(libraryPath: path);

  print('bridgeVersion = ${bridge.bridgeVersion()}');
  print('add(40, 2)    = ${await bridge.add(40, 2)}');
  print('echo          = ${await bridge.echo('hi')}');

  await for (final n in bridge.ticks(count: 3, intervalMs: 0)) {
    print('tick $n');
  }

  // Main isolate only — stops the process-wide C++ runtime.
  bridge.shutdown();
  print('done');
}

String _defaultLibraryPath() {
  if (Platform.isWindows) {
    return '../build/Release/dart_cpp_bridge.dll';
  }
  if (Platform.isMacOS) {
    return '../build/libdart_cpp_bridge.dylib';
  }
  return '../build/libdart_cpp_bridge.so';
}
1
likes
0
points
909
downloads

Documentation

Documentation

Publisher

unverified uploader

Weekly Downloads

Experimental Dart ↔ C++20 bridge (FRB-like). Dart FFI session layer; native library built from the monorepo (hooks not ready).

Homepage
Repository (GitHub)
View/report issues

Topics

#ffi #native #interop #cpp

License

unknown (license)

Dependencies

ffi

More

Packages that depend on dart_cpp_bridge