// Copyright 2016 The Emscripten Authors. All rights reserved. // Emscripten is available under two separate licenses, the MIT license and the // University of Illinois/NCSA Open Source License. Both these licenses can be // found in the LICENSE file. #include #include #include #include "emscripten.h" extern "C" { void save_me_aimee() { printf("mann\n"); } } int main() { // EMSCRIPTEN_COMMENT("hello from the source"); emscripten_run_script("out('hello world' + '!')"); printf("*%d*\n", emscripten_run_script_int("5*20")); printf("*%s*\n", emscripten_run_script_string("'five'+'six'")); emscripten_run_script("Module['_save_me_aimee']()"); // double d = 0.1234567891231219886553; int len = emscripten_print_double(d, NULL, -1); char buffer[len+1]; buffer[len] = CHAR_MAX; emscripten_print_double(d, buffer, len+1); assert(buffer[len] == 0); // null terminated double e; sscanf(buffer, "%lf", &e); printf("%.30lf : %s : %.30lf (%d)\n", d, buffer, e, len); buffer[0] = 1; buffer[1] = 2; buffer[2] = 3; int n = emscripten_print_double(d, buffer, 2); assert(n == 1); assert(buffer[0] == '0'); // touched assert(buffer[1] == 0); // touched assert(buffer[2] == 3); // untouched puts("success\n"); return 0; }