* Add a .gitattributes file specifying LF-style line endings. This is similar to [Rust's .gitattributes file] though simplified. Most of our source and documentation files already used LF-style line endings, including *.cs files, so this makes things more consistent. [Rust's .gitattributes file]: https://github.com/rust-lang/rust/blob/master/.gitattributes * Remove UTF-8 BOMs in *.cs files. Most of our *.cs files don't have UTF-8 BOMs, so this makes things more consistent.
31 lines
741 B
C#
31 lines
741 B
C#
using System;
|
|
using Wasmtime;
|
|
|
|
namespace HelloExample
|
|
{
|
|
class Host : IHost
|
|
{
|
|
public Instance Instance { get; set; }
|
|
|
|
[Import("log")]
|
|
public void Log(int address, int length)
|
|
{
|
|
var message = Instance.Externs.Memories[0].ReadString(address, length);
|
|
Console.WriteLine($"Message from WebAssembly: {message}");
|
|
}
|
|
}
|
|
|
|
class Program
|
|
{
|
|
static void Main(string[] args)
|
|
{
|
|
using var engine = new Engine();
|
|
using var store = engine.CreateStore();
|
|
using var module = store.CreateModule("memory.wasm");
|
|
using dynamic instance = module.Instantiate(new Host());
|
|
|
|
instance.run();
|
|
}
|
|
}
|
|
}
|