#include <iostream>
#include <emscripten.h>
#define MYINT64 uint64_t
extern "C" void EMSCRIPTEN_KEEPALIVE bar (MYINT64 n) {
std::cout << "C++ called from JS: " << n << std::endl;
}
EM_JS(void, foo, (MYINT64 i), {
console.log("JS", i, typeof(i));
Module.ccall('bar', null, ['number'], [i]);
});
int main() {
auto some = std::numeric_limits<MYINT64>::max();
std::cout << "C++ " << some << std::endl;
foo(some);
}