The project shows how to call JS function defined in web page by CPP code.

Here is files tree for projThe images display the directory tree of the project.

The main logic code about our question:

worker.cpp

#include "worker.h"
#include <iostream>

#ifdef __EMSCRIPTEN__
#include <emscripten.h>
#endif

Worker::Worker()
{
    std::cout << "generate Worker!" << std::endl;

#ifdef __EMSCRIPTEN__
    emscripten_run_script( "print()" ); // call JS function.
#endif
}

index.html

<html>
   <head>
      <!-- Load WebAssembly module -->
      <script type="text/javascript" src="build_wasm/CppWasm.js"></script>
   </head>
   <body>
      <script>
        function print()
        {
            console.log("hello world!");
        }

        var worker;
        var Module = {
        onRuntimeInitialized: function () {
            worker = new Module.Worker();
            console.log( worker + " start work!" );
        },
        };

        var app = createModule( Module );
      </script>
   </body>
</html>

The whole project had been uploaded to GItHub: https://github.com/theArcticOcean/tutorials/tree/main/learnWebAssembly/CppWasm

The build way is introduced in README.md

Run in browser:


0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments

XML To JSON
: Input your strings, the tool can convert XML to JSON for you.

X
0
Would love your thoughts, please comment.x
()
x