Вызов функции JS из модуля Wasm - PullRequest
0 голосов
/ 04 мая 2020

Я написал программу на C для печати простых чисел вплоть до данного числа.
Я хочу скомпилировать это в WebAssembly, и каждый раз, когда isPrime () истинно, я хотел бы вызывать функцию JS "document.write (i +"> br> ")" просто для вывода простых чисел в браузере. На самом деле я хочу вызвать функцию JS из модуля wasm.
Я знаю этот инструмент: https://wasdk.github.io/WasmFiddle/ для компиляции из C в wasm.
Заранее благодарим за любую помощь .

#include <stdio.h>
#include <math.h>

int isPrime(num) {
    int i;
    if(num == 2) return 1;
    if(num % 2 == 0) return 0;
    int sq = (int) sqrt(num) + 1;
    for(i = 3; i < sq; i = i + 2) if(num % i == 0) return 0;
    return 1;
}

void printPrimes(int n){
    int i;
    for(i = 2; i <= n; i++)
        if(isPrime(i))
            /* here I want to call: JSfunction->document.write(i + "<br>");*/
}

1 Ответ

0 голосов
/ 05 мая 2020

Документы emscripten описывают несколько различных способов взаимодействия между JavaScript и Webassembly:

https://emscripten.org/docs/porting/connecting_cpp_and_javascript/Interacting-with-code.html.

...