J'ai regardé un site web WebAssembly et des tutoriels et je me sens un peu perdu.Comment passer une chaîne à un code C compilé avec emscripten pour WebAssembly
Je le code C suivant:
void EMSCRIPTEN_KEEPALIVE hello(char * value){
printf("%s\n", value);
}
Je l'ai compilé avec (je suis pas non plus que cette partie est la meilleure façon d'aller):
emcc demo.c -s WASM=1 -s NO_EXIT_RUNTIME=1 -o demo.js
D'après ce que je comprends Je peux maintenant utiliser le code de colle demo.js dans ma classe javascript et appeler la méthode de cette façon:
...
<script src="demo.js"></script>
<script>
function hello(){
// Get the value
var value = document.getElementById("sample");
_hello(value.innerHTML);
}
</script>
...
ce que je vois bei ng imprimé dans la console quand je l'appelle la méthode est:
(null)
Y at-il quelque chose que je manque de passer une valeur de chaîne au code C compilé avec WebAssembly?
Merci beaucoup
Quels sont 'hello' et' _stringify' et où les appelez-vous? – Bergi
c'est une faute de frappe, il devrait être _hello (value.innerHTML), j'ai édité la question, désolé pour cela – ElCapitaine
Notez que vous devez exporter des fonctions pour pouvoir les appeler à partir de js: 'emcc demo.c -01 -s EXPORTED_FUNCTIONS = "['_ main', '_hello'] -o demo.js" 'Aussi ne vous sentez pas mal de la lutte, tout cela est nouveau et en développement lourd et les documents sont nécessairement incomplètes et périmées. –