diff options
author | Alexey Pyltsyn <lex61rus@gmail.com> | 2021-03-15 14:29:50 +0300 |
---|---|---|
committer | Alexey Pyltsyn <lex61rus@gmail.com> | 2021-03-15 14:29:50 +0300 |
commit | 55ddd4454665a3c66e3d5b186bc79048468d36e7 (patch) | |
tree | 5391f1ae01bbcd484387bbc2373492ac9bc89dbc /files/ru/webassembly | |
parent | 08dc1a1e60063705ccefc1eb4ef0a17d1ddf196b (diff) | |
download | translated-content-55ddd4454665a3c66e3d5b186bc79048468d36e7.tar.gz translated-content-55ddd4454665a3c66e3d5b186bc79048468d36e7.tar.bz2 translated-content-55ddd4454665a3c66e3d5b186bc79048468d36e7.zip |
Auto fixes
Diffstat (limited to 'files/ru/webassembly')
6 files changed, 17 insertions, 17 deletions
diff --git a/files/ru/webassembly/c_to_wasm/index.html b/files/ru/webassembly/c_to_wasm/index.html index 81e1dc93a3..7f47e01433 100644 --- a/files/ru/webassembly/c_to_wasm/index.html +++ b/files/ru/webassembly/c_to_wasm/index.html @@ -20,7 +20,7 @@ translation_of: WebAssembly/C_to_wasm <p>Когда рабочее окружение подготовлено, попробуем собрать пример кода на языке Си при помощи Emscripten. Вам доступно большое количество опций для настройки компиляции, но мы рассмотрим только два основных сценария компиляции с использованием Emscripten:</p> <ul> - <li>Компиляция в wasm и созданиее HTML-страницы для запуска вашего кода, а также JavaScript кода, необходимого для работы wasm модуля в веб-среде.</li> + <li>Компиляция в wasm и создание HTML-страницы для запуска вашего кода, а также JavaScript кода, необходимого для работы wasm модуля в веб-среде.</li> <li>Просто компиляция в wasm и создание JavaScript кода.</li> </ul> @@ -105,7 +105,7 @@ int main(int argc, char ** argv) { </ol> <div class="note"> -<p><strong>Примечание</strong>: Вы можете указать компилятору создавать только JavaScript кода, без HTML, используя внутри флага <code>-o</code>, <code>.js</code> вместо <code>.html</code> для формата выходного файла, например <code>emcc -o hello2.js hello2.c -O3 -s WASM=1</code>. После этого вы должны создать свой собственный HTML файл с нуля. Однако так делать не рекомендуется — Emscripten теребуется большое количество связывающего кода для обработки операций выделения памяти, утечек памяти и других проблем, которые уже включены в предоставляемый шаблон. Намного легче использовать уже готовое решение, чем создавать свои собственные версии самому.</p> +<p><strong>Примечание</strong>: Вы можете указать компилятору создавать только JavaScript кода, без HTML, используя внутри флага <code>-o</code>, <code>.js</code> вместо <code>.html</code> для формата выходного файла, например <code>emcc -o hello2.js hello2.c -O3 -s WASM=1</code>. После этого вы должны создать свой собственный HTML файл с нуля. Однако так делать не рекомендуется — Emscripten требуется большое количество связывающего кода для обработки операций выделения памяти, утечек памяти и других проблем, которые уже включены в предоставляемый шаблон. Намного легче использовать уже готовое решение, чем создавать свои собственные версии самому.</p> </div> <h3 id="Вызов_пользовательской_функции_определенной_в_Си">Вызов пользовательской функции, определенной в Си</h3> @@ -142,7 +142,7 @@ void EMSCRIPTEN_KEEPALIVE myFunction(int argc, char ** argv) { </div> </li> <li> - <p>Теперь добавьте <code>html_template/shell_minimal.html</code> в ваш новый каталог, просто для удобства. В настоящем проекте стоит размещать его в специально отпределенный каталог.</p> + <p>Теперь добавьте <code>html_template/shell_minimal.html</code> в ваш новый каталог, просто для удобства. В настоящем проекте стоит размещать его в специально определенный каталог.</p> </li> <li> <p>Теперь снова займемся этапом компиляции. Внутри вашего последнего каталога, используя терминал, скомпилируйте ваш Си код следующей командой. (Обратите внимание что при компиляции обязательно нужно использовать опцию NO_EXIT_RUNTIME, иначе после выполнения функции <code>main()</code>, рабочий цикл будет завершен. Это приведет, например, к вызову функции atexits и дальше будет невозможно использовать наш скомпилированный код. Другими словами это необходимо для правильной эмуляции Си.)</p> diff --git a/files/ru/webassembly/concepts/index.html b/files/ru/webassembly/concepts/index.html index 3aa607bd3f..dde3fc40a4 100644 --- a/files/ru/webassembly/concepts/index.html +++ b/files/ru/webassembly/concepts/index.html @@ -117,7 +117,7 @@ translation_of: WebAssembly/Concepts <p>Таким образом, часть связующего кода предоставляет функциональность каждой библиотеки, используемой кодом C/C++. Связующий код также содержит логику для вызова вышеупомянутых WebAssembly JavaScript API для извлечения, загрузки и запуска файла .wasm.</p> -<p>Сгенерированный HTML-документ загружает связующий файл JavaScript и может записать stdout в {{htmlelement("textarea")}}. Если приложение использует OpenGL, HTML документ будет содержать элемент {{htmlelement("canvas")}}, который будет использоватся для рендеринга. Очень легко изменить тип вывода комптляции Emscripten на любое веб-приложение, которое вам нужно.</p> +<p>Сгенерированный HTML-документ загружает связующий файл JavaScript и может записать stdout в {{htmlelement("textarea")}}. Если приложение использует OpenGL, HTML документ будет содержать элемент {{htmlelement("canvas")}}, который будет использоваться для рендеринга. Очень легко изменить тип вывода компиляции Emscripten на любое веб-приложение, которое вам нужно.</p> <p>Вы можете найти полную документацию по Emscripten на <a href="http://emscripten.org">emscripten.org</a>, а также руководство по созданию набора инструментов и компиляции вашего собственного приложения на C/C++ в wasm в разделе <a href="https://developer.mozilla.org/en-US/docs/WebAssembly/C_to_wasm">Компилирование из C/C++ в WebAssembly</a>.</p> diff --git a/files/ru/webassembly/exported_functions/index.html b/files/ru/webassembly/exported_functions/index.html index bf29f3f76b..c586422de3 100644 --- a/files/ru/webassembly/exported_functions/index.html +++ b/files/ru/webassembly/exported_functions/index.html @@ -27,7 +27,7 @@ translation_of: WebAssembly/Exported_functions <h2 id="Пример">Пример</h2> -<p>Давайте посмотрим на пример, чтобы прояснить ситуацию (вы можете найти его на GitHub как <a href="https://github.com/mdn/webassembly-examples/blob/master/other-examples/table-set.html">table-set.html</a> или <a href="https://mdn.github.io/webassembly-examples/other-examples/table-set.html">запустить в своем браузере</a>, и посмотерть <a href="https://github.com/mdn/webassembly-examples/blob/master/js-api-examples/table.wat">текстовое представление модуля wasm</a>):</p> +<p>Давайте посмотрим на пример, чтобы прояснить ситуацию (вы можете найти его на GitHub как <a href="https://github.com/mdn/webassembly-examples/blob/master/other-examples/table-set.html">table-set.html</a> или <a href="https://mdn.github.io/webassembly-examples/other-examples/table-set.html">запустить в своем браузере</a>, и посмотреть <a href="https://github.com/mdn/webassembly-examples/blob/master/js-api-examples/table.wat">текстовое представление модуля wasm</a>):</p> <pre class="brush: js">var otherTable = new WebAssembly.Table({ element: "anyfunc", initial: 2 }); diff --git a/files/ru/webassembly/rust_to_wasm/index.html b/files/ru/webassembly/rust_to_wasm/index.html index efc4bd52d0..629987ff09 100644 --- a/files/ru/webassembly/rust_to_wasm/index.html +++ b/files/ru/webassembly/rust_to_wasm/index.html @@ -29,7 +29,7 @@ translation_of: WebAssembly/Rust_to_wasm <p>Чтобы установить Rust, посетите <a href="https://www.rust-lang.org/install.html">Install Rust</a> страницу и проследуйте всем инструкциям. Так вы установите тулзу, называемую "rustup", которая позволит вам управлять несколькими версиями Rust. По умолчанию, она устанавливает последний стабильный релиз Rust, который вы будете использовать для стандартной разработки на Rust. Rustup устанавливает <code>rustc</code>, компилятор Rust, вместе с <code>cargo</code>, Rust-овским пакетным менеджером, <code>rust-std</code>, стандартной библиотекой Rust, и несколькими вспомогательными доками — <code>rust-docs</code>.</p> <div class="note"> -<p><strong>Заметка</strong>: Обратите внимание на пост-установочную заметку о необходимости добавить cargo <code>bin</code> директорию в список <code>PATH</code>. Она должна быть добавлена автоматически, но вам нужно будет перезапустить терминал, чтобы изменения втсупили в силу.</p> +<p><strong>Заметка</strong>: Обратите внимание на пост-установочную заметку о необходимости добавить cargo <code>bin</code> директорию в список <code>PATH</code>. Она должна быть добавлена автоматически, но вам нужно будет перезапустить терминал, чтобы изменения вступили в силу.</p> </div> <h3 id="wasm-pack">wasm-pack</h3> @@ -111,7 +111,7 @@ pub fn greet(name: &str) { } </code></pre> -<p>Это содержимое нашего проекта на Rust. У него есть три основные части, давайте пройдемся по ним по очереди. Мы дадим здесь обощенное пояснение и поясним некоторые детали; чтобы узнать больше о Rust, пожалуйста, просмотрите бесплатную online-книгу <a href="https://doc.rust-lang.org/book/">The Rust Programming Language</a>.</p> +<p>Это содержимое нашего проекта на Rust. У него есть три основные части, давайте пройдемся по ним по очереди. Мы дадим здесь обобщенное пояснение и поясним некоторые детали; чтобы узнать больше о Rust, пожалуйста, просмотрите бесплатную online-книгу <a href="https://doc.rust-lang.org/book/">The Rust Programming Language</a>.</p> <h4 id="Использование_wasm-bindgen_для_коммуникации_между_Rust_и_JavaScript">Использование <code>wasm-bindgen</code> для коммуникации между Rust и JavaScript</h4> @@ -164,7 +164,7 @@ pub fn greet(name: &str) { <p>Еще раз, мы видим <code>#[wasm_bindgen]</code> атрибут. В этом случае, он модифицирует не блок <code>extern</code>, а <code>fn</code>; это значит, что мы хотим, чтобы эта функция на Rust была доступна для JavaScript. Прямо противоположно <code>extern</code>: это не те функции, которые нам нужны, а те, что мы предоставляем миру!</p> -<p>Наша функция называется <code>greet</code>, и она принимает один аргумент, строку (пишется <code>&str</code>), <code>name</code>. Затем она вызывает функцию <code>alert</code>, которую мы запросили в блоке <code>extern</code> выше. Она передает вызов макросу <code>format!</code>, который позволяет нам соеденить строки.</p> +<p>Наша функция называется <code>greet</code>, и она принимает один аргумент, строку (пишется <code>&str</code>), <code>name</code>. Затем она вызывает функцию <code>alert</code>, которую мы запросили в блоке <code>extern</code> выше. Она передает вызов макросу <code>format!</code>, который позволяет нам соединить строки.</p> <p><code>format!</code> принимает два аргумента в нашем случае: форматируемую строку и переменную, которую должен в нее поместить. Форматируемая строка это <code>"Hello, {}!"</code> часть. Она содержит <code>{}</code>, куда будет вставлена переменная. Переменная, которую мы передаем, это <code>name</code>, аргумент функции, так что если мы вызовем <code>greet("Steve")</code>, то увидим <code>"Hello, Steve!".</code></p> @@ -174,7 +174,7 @@ pub fn greet(name: &str) { <h3 id="Компиляция_кода_в_WebAssembly">Компиляция кода в WebAssembly</h3> -<p>Чтобы правильно скомпилить наш код, сначала нам надо сконфигурировать его с помощью <code>Cargo.toml</code>. Октройте этот файл и измените его так, чтобы он выглядел следующим образом:</p> +<p>Чтобы правильно скомпилить наш код, сначала нам надо сконфигурировать его с помощью <code>Cargo.toml</code>. Откройте этот файл и измените его так, чтобы он выглядел следующим образом:</p> <pre class="notranslate"><code class="toml language-toml">[package] name = "hello-wasm" @@ -258,7 +258,7 @@ $ cd site } </code></pre> -<p>Заметьте, что вам нужно ввести свое пользовательское имя после <code>@</code> в секции зависемостей.</p> +<p>Заметьте, что вам нужно ввести свое пользовательское имя после <code>@</code> в секции зависимостей.</p> <p>Дальше нам нужно сконфигурировать Webpack. Создайте <code>webpack.config.js</code> и введите следующее:</p> @@ -305,7 +305,7 @@ js.then(js => { $ npm run serve </code></pre> -<p>Так мы запустим сервер. Откройте <a href="http://localhost:8080">http://localhost:8080</a> и вы увидете алерт с надписью <code>Hello, WebAssembly!</code> в нем! Мы успешно обратились из JavaScript в Rust и из Rust в JavaScript.</p> +<p>Так мы запустим сервер. Откройте <a href="http://localhost:8080">http://localhost:8080</a> и вы увидите алерт с надписью <code>Hello, WebAssembly!</code> в нем! Мы успешно обратились из JavaScript в Rust и из Rust в JavaScript.</p> <h2 id="Заключение">Заключение</h2> diff --git a/files/ru/webassembly/understanding_the_text_format/index.html b/files/ru/webassembly/understanding_the_text_format/index.html index 9acdd0af80..38934e21f2 100644 --- a/files/ru/webassembly/understanding_the_text_format/index.html +++ b/files/ru/webassembly/understanding_the_text_format/index.html @@ -173,7 +173,7 @@ translation_of: WebAssembly/Understanding_the_text_format <h3 id="Вызов_функций_из_других_функций_в_том_же_модуле">Вызов функций из других функций в том же модуле</h3> -<p>Для вызова функци по индексу или имени используется инструкция <code>call</code>. Например, следующий модуль содержит две функции - первая просто возвращает значение <code>42</code>, вторая возвращает сумму результата вызова первой функции и единицы:</p> +<p>Для вызова функции по индексу или имени используется инструкция <code>call</code>. Например, следующий модуль содержит две функции - первая просто возвращает значение <code>42</code>, вторая возвращает сумму результата вызова первой функции и единицы:</p> <pre>(module (func $getAnswer (result i32) @@ -243,7 +243,7 @@ WebAssembly.instantiateStreaming(fetch('logger.wasm'), importObject) <h3 id="Определение_глобальных_переменных_WebAssembly">Определение глобальных переменных WebAssembly</h3> -<p>WebAssembly имеет возможность создавать экземпляры глобальных переменных. Они доступны как в коде JavaScript, так и через импорт / экспорт для одиного и более экземпляров {{jsxref("WebAssembly.Module")}}. Это очень полезная возможность в плане динамического связывания нескольких модулей.</p> +<p>WebAssembly имеет возможность создавать экземпляры глобальных переменных. Они доступны как в коде JavaScript, так и через импорт / экспорт для одного и более экземпляров {{jsxref("WebAssembly.Module")}}. Это очень полезная возможность в плане динамического связывания нескольких модулей.</p> <p>В текстовом формате WebAssembly это выглядит примерно так (смотрите файл <a href="https://mdn.github.io/webassembly-examples/js-api-examples/global.html">global.html</a> в нашем репозитории на GitHub; смотрите также <a href="https://mdn.github.io/webassembly-examples/js-api-examples/global.html">вживую</a>):</p> diff --git a/files/ru/webassembly/using_the_javascript_api/index.html b/files/ru/webassembly/using_the_javascript_api/index.html index d480825a10..21a38cbbc4 100644 --- a/files/ru/webassembly/using_the_javascript_api/index.html +++ b/files/ru/webassembly/using_the_javascript_api/index.html @@ -65,7 +65,7 @@ translation_of: WebAssembly/Using_the_JavaScript_API <p>Эти методы не получают непосредственно доступ к байт-коду, так что требуется дополнительный шаг помещения ответа загрузки файла в объект {{domxref("ArrayBuffer")}} перед компилированием и созданием экземпляра wasm-модуля.</p> -<p>Эквивалентный код будет выглядить так:</p> +<p>Эквивалентный код будет выглядеть так:</p> <pre class="brush: js">fetch('simple.wasm').then(response => response.arrayBuffer() @@ -101,7 +101,7 @@ translation_of: WebAssembly/Using_the_JavaScript_API <pre class="brush: js">var memory = new WebAssembly.Memory({initial:10, maximum:100});</pre> - <p>Единицы измерения начальной (<code>initial</code>) и максимальной (<code>maximum</code>) памяти имеют фиксированый размер в 64KB. Это означает, что в нашем случае объект памяти при создании имеет 640KB, а его максимальный возможный размер будет 6.4MB.</p> + <p>Единицы измерения начальной (<code>initial</code>) и максимальной (<code>maximum</code>) памяти имеют фиксированный размер в 64KB. Это означает, что в нашем случае объект памяти при создании имеет 640KB, а его максимальный возможный размер будет 6.4MB.</p> <p>Объект памяти WebAssembly предоставляет свой хранимый диапазон байт через getter/setter свойства buffer, которое возвращает объект ArrayBuffer. Для примера, чтобы записать число 42 в первое слово линейной памяти, вы можете сделать это:</p> @@ -136,7 +136,7 @@ translation_of: WebAssembly/Using_the_JavaScript_API <ol> <li> - <p>Сопируйте файл <a href="https://github.com/mdn/webassembly-examples/raw/master/js-api-examples/memory.wasm">memory.wasm</a> в локальную директорию в которой вы работаете.</p> + <p>Скопируйте файл <a href="https://github.com/mdn/webassembly-examples/raw/master/js-api-examples/memory.wasm">memory.wasm</a> в локальную директорию в которой вы работаете.</p> <div class="note"> <p><strong>Примечание</strong>: Вы можете увидеть текстовое представление модуля в файле <a href="https://github.com/mdn/webassembly-examples/blob/master/js-api-examples/memory.wat">memory.wat</a>.</p> @@ -236,7 +236,7 @@ console.log(tbl.get(1)()); // 42</pre> <p>Вы можете видеть, что он принимает 2 параметра:</p> <ul> - <li>Обьект, который содержит 2 свойства, описывающих глобальную переменную: + <li>Объект, который содержит 2 свойства, описывающих глобальную переменную: <ul> <li><code>value</code>: это тип данных, который может быть одним из типов данных, позволенных внутри WebAssembly модуля — <code>i32</code>, <code>i64</code>, <code>f32</code>, или <code>f64</code>.</li> <li><code>mutable</code>: булево значение, определяющее что переменная может изменяться.</li> |