// $Id$ #import #import "NGMonoDomain.h" #import "NGMonoAssembly.h" static void p42(void) { printf("42\n"); } static void test(void) { NGMonoDomain *domain; NGMonoAssembly *assembly; int rc; [NGMonoDomain mapCFunction:p42 toMonoCall:@"Hello::Print42"]; domain = [NGMonoDomain domainWithName:@"MyDomain"]; NSLog(@"got Mono domain: %@", domain); assembly = [domain loadAssemblyAtPath:@"test.exe"]; NSLog(@"got Mono assembly: %@", assembly); NSLog(@"Executing main:"); rc = [assembly executeMain:[NSArray arrayWithObjects:@"arg1", @"arg2", nil]]; NSLog(@"got: %i", rc); } int main(int argc, char **argv, char **env) { NSAutoreleasePool *pool; pool = [[NSAutoreleasePool alloc] init]; #if LIB_FOUNDATION_LIBRARY [NSProcessInfo initializeWithArguments:argv count:argc environment:env]; #endif test(); [pool release]; exit(0); return 0; }