diff options
author | Zoltan Varga <vargaz@gmail.com> | 2015-11-17 10:16:25 +0300 |
---|---|---|
committer | Zoltan Varga <vargaz@gmail.com> | 2015-11-17 10:16:25 +0300 |
commit | 74527e03ddae3c63e5de7b8a54b8f4019b5bc581 (patch) | |
tree | fd8857287dbedb0d3f306ef4e632e42f7ed35b95 /samples | |
parent | 45d468d66e22e9a51e82ede30097d6b50379a090 (diff) |
Remove obsolete interpreter embedding sample.
Diffstat (limited to 'samples')
-rw-r--r-- | samples/embed/testi.c | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/samples/embed/testi.c b/samples/embed/testi.c deleted file mode 100644 index a1ea82b633f..00000000000 --- a/samples/embed/testi.c +++ /dev/null @@ -1,81 +0,0 @@ -#include <mono/interpreter/embed.h> -#include <mono/metadata/environment.h> - -/* - * Very simple mint embedding example. - * Compile with: - * gcc -o testi testi.c `pkg-config --cflags --libs mint` -lm - * mcs test.cs - * Run with: - * ./testi test.exe - */ - -static MonoString* -gimme () { - return mono_string_new (mono_domain_get (), "All your monos are belong to us!"); -} - -typedef struct -{ - MonoDomain *domain; - const char *file; - int argc; - char **argv; -} MainThreadArgs; - -static void main_thread_handler (gpointer user_data) -{ - MainThreadArgs *main_args=(MainThreadArgs *)user_data; - MonoAssembly *assembly; - - assembly = mono_domain_assembly_open (main_args->domain, - main_args->file); - if (!assembly) - exit (2); - /* - * mono_jit_exec() will run the Main() method in the assembly. - * The return value needs to be looked up from - * System.Environment.ExitCode. - */ - mono_interp_exec (main_args->domain, assembly, main_args->argc, - main_args->argv); -} - - -int -main(int argc, char* argv[]) { - MonoDomain *domain; - const char *file; - int retval; - MainThreadArgs main_args; - - if (argc < 2){ - fprintf (stderr, "Please provide an assembly to load\n"); - return 1; - } - file = argv [1]; - /* - * mono_jit_init() creates a domain: each assembly is - * loaded and run in a MonoDomain. - */ - domain = mono_interp_init (file); - /* - * We add our special internal call, so that C# code - * can call us back. - */ - mono_add_internal_call ("MonoEmbed::gimme", gimme); - - main_args.domain=domain; - main_args.file=file; - main_args.argc=argc-1; - main_args.argv=argv+1; - - mono_runtime_exec_managed_code (domain, main_thread_handler, - &main_args); - - retval=mono_environment_exitcode_get (); - - mono_interp_cleanup (domain); - return retval; -} - |