В течение последних нескольких месяцев я безуспешно пытался создать привет-мир веб-сборки. Я прочитал 7 учебных пособий, посмотрел 4 видео на YouTube и прочитал много документации для WASM и emscripten. Для целей этого вопроса я сосредоточусь на учебнике по документации emscripten , так как, надеюсь, это будет знакомо большинству людей. В соответствии с уроком у меня есть:
hello_world. c
#include <stdio.h>
int main() {
printf("hello world\n");
return 0;
}
Скомпилировано с:
./emcc tests/hello_world.c
И успешно протестировано с
node a.out.js
Я также сгенерировал вывод html с:
./emcc tests/hello_world.c -o hello.html
И (если я работаю с Python) это успешно проверено в браузере.
На этом этапе учебник, кажется, считает, что это сделано, и переходит к более сложным темам, таким как обработка файлов. Но это не может быть правильно: сгенерированный html имеет длину более 1000 строк и вызывает, по-видимому, сотни побочных эффектов (ожидаемое поведение - это просто пустая страница, которая, если вы проверяете элемент, должна показывать консольный журнал «hello world» . Но этот файл html отображает полную веб-страницу).
Причина, по которой я хочу привести пример hello world, состоит в том, чтобы проверить, работает ли wasm, и затем иметь возможность начать модификацию и расширение примера. Если бы я захотел изменить эту веб-страницу, я бы не знал, с чего начать в этом гигантском HTML файле.
Редактировать: Может быть, мне просто нужно добавить, я знаю, что есть большой клей js ' код 'файл сгенерирован. Я вполне доволен этим, если есть способ зацепиться за клей. В настоящее время я не знаю, как этот html или сценарии в нем взаимодействуют с js клеем.
Поэтому мой вопрос: что мне нужно сделать, чтобы иметь HTML файл с парой строк html и небольшим встроенным скриптом, который вызывает основную функцию, которая затем записывает hello world на консоль? Спасибо.