Logo
  • Emscriptenの紹介
    • Emscriptenについて
      • Emscriptenツールチェーン
      • コードをEmscriptenで使用するように移植する
    • コミュニティ
      • お問い合わせ
      • バグの報告
      • 貢献する
    • オープンソースライセンス
    • リリースノート
    • 講演と出版物
      • プレゼンテーション
      • 論文
      • 書籍
  • はじめに
    • ダウンロードとインストール
      • emsdkを使用したインストール手順(推奨)
        • emsdkインストールターゲット
        • プラットフォーム固有の注意事項
      • インストールの検証
      • SDKの更新
      • Emscripten SDKのアンインストール
      • Dockerイメージの使用
      • 非公式パッケージを使用したインストール
    • Emscriptenチュートリアル
      • まず最初に
      • Emscriptenの検証
      • Emscriptenの実行
      • HTMLの生成
      • ファイルの使用
      • コードの最適化
      • Emscriptenテストスイートとベンチマーク
      • 一般的なヒントと次のステップ
    • Emscriptenテストスイート
      • 設定
      • テストの実行
      • テストのスキップ
      • 最初の失敗時に終了
      • 多数のランダムテストの実行
      • 重要なテスト
      • ベンチマーク
      • テスト失敗のデバッグ
    • バグレポート
      • LLVM、wasm-ld、clang、Binaryenのバグ
      • サイトとドキュメントのバグ
    • FAQ
      • コードをコンパイルするにはどうすればよいですか?
      • 基本的なコードとテストのビルド時にエラーが発生するのはなぜですか?
      • 何か試してみました。なぜ機能しないのですか?
      • Emscriptenを使用するためにビルドシステムを変更する必要がありますか?
      • コードのコンパイルが遅いのはなぜですか?
      • コードの実行が遅いのはなぜですか?
      • コンパイルされたコードが大きいのはなぜですか?
      • 別のマシンで動作するコードのコンパイルでエラーが発生するのはなぜですか?
      • 起動時間を短縮するにはどうすればよいですか?
      • テストのためにローカルWebサーバーを実行するにはどうすればよいですか/プログラムが「ダウンロード中...」または「準備中...」で停止するのはなぜですか?
      • リンク中にmachine type must be wasm32またはunknown file typeというエラーが発生するのはなぜですか?
      • インラインアセンブリに関するエラーメッセージ(または{"text":"asm"})でコードのコンパイルに失敗するのはなぜですか?
      • HTMLアプリがハングするのはなぜですか?
      • イベントループを実行するにはどうすればよいですか?
      • SDLアプリが機能しないのはなぜですか?
      • SDL、boostなどのシステムライブラリにリンクするにはどうすればよいですか?
      • オーディオ再生にはどのような選択肢がありますか?
      • コンパイルされたプログラムがファイルにアクセスするにはどうすればよいですか?
      • コードが同じディレクトリ内のファイルにアクセスできないのはなぜですか?
      • ページが完全に読み込まれ、コンパイル済み関数を安全に呼び出せるようになったことをどのように確認できますか?
      • 「ランタイムの終了」とはどういう意味ですか?atexit()sが実行されないのはなぜですか?
      • C/C++ソースコードの関数がWebAssemblyにコンパイルすると消えるのはなぜですか?
      • closureでビルドするとファイルシステムAPIを使用できないのはなぜですか?
      • -O2 --closure 1を使用すると、コードが壊れて奇妙なエラーが発生するのはなぜですか?
      • TypeError: Module.someThing is not a functionが発生するのはなぜですか?
      • Runtimeが存在しなくなったのはなぜですか?Runtime.someThingにアクセスしようとするとエラーが発生するのはなぜですか?
      • -sオプションを使用するとNameErrorまたはa problem occurred in evaluating content after a "-s"が発生するのはなぜですか?
      • CMakeプロジェクトで-sオプションを指定するにはどうすればよいですか?
      • file=..またはf'..'で始まる文字列で、PythonのSyntaxError: invalid syntaxが発生するのはなぜですか?
      • 最適化時にスタックサイズエラーが発生するのはなぜですか?RangeError: Maximum call stack size exceededなど。
      • int64_tとuint64_tの値をjsからWasm関数に渡すにはどうすればよいですか?
      • 1つのWebページで複数のEmscriptenコンパイル済みプログラムを使用できますか?
      • Web上でのみ実行されるJavaScriptをビルドできますか?
      • プロジェクトの名前が奇妙なのはなぜですか?
  • プロジェクトのコンパイルと実行
    • プロジェクトのビルド
      • ビルドシステムとの統合
      • Emscriptenリンカーの出力ファイル
      • 最適化を使用したプロジェクトのビルド
      • デバッグ情報を使用したプロジェクトのビルド
      • ライブラリの使用
      • Emscriptenポート
        • contribポート
        • ポートの追加
        • 外部ポート
      • ビルドシステムの問題
        • ビルドシステムの自己実行
        • 擬似動的リンク
        • configureは失敗するように見えるチェックを実行することがあります
        • アーカイブ(.a)ファイル
      • emccの手動使用
      • プリプロセッサでのEmscriptenの検出
      • コンパイララッパーの使用
      • pkg-config
      • 例/テストコード
      • トラブルシューティング
    • WebAssemblyへのビルド
      • 設定
        • バックエンド
      • トラップ
      • コンパイラの出力
      • ブラウザでのWebAssemblyのサポート
      • .wasmファイルとコンパイル
      • Webサーバーの設定
    • 動的リンク
      • 背景
      • 動的リンクの概要
      • 実践的な詳細
        • ロード時動的リンク
        • dlopen()を使用したランタイム動的リンク
      • コードサイズ
      • システムライブラリ
      • その他の注意事項
        • 動的チェック
        • 制限事項
        • Pthreadsサポート
    • emrunを使用したHTMLファイルの実行
      • 機能
      • クイックハウツー
      • 実行するブラウザの選択
      • セキュリティへの影響
      • Webサーバー操作の制御
      • ログ出力の制御
      • 実行後のクリーンアップ
      • FirefoxでのWebページの実行
      • AndroidデバイスでのWebページの実行
    • Emscriptenコンパイル済みページのデプロイ
      • ビルドファイルとカスタムシェル
      • ダウンロードサイズの最適化
      • ページの起動時間の最適化
      • 高速な2回目のロードを提供する
      • コンパイル済みコード用のメモリの予約
      • 堅牢なエラー処理
      • Web環境の準備
    • GitLabでのビルドとデプロイ
      • サンプル.gitlab-ci.yml
    • Emscripten Contribポート
      • contrib.glfw3
  • 移植
    • コードの移植性と制限事項
      • 移植性ガイドライン
        • 現在のWebの制限事項
        • コンパイルできないコード
        • コンパイルできるが、実行速度が遅い可能性のあるコード
        • その他の問題
      • APIの制限事項
        • ネットワーク
        • ファイルシステム
        • アプリケーションメインループ
        • その他のAPI
      • 関数ポインタの問題
        • 関数ポインタの問題のデバッグ
        • 関数ポインタの問題の回避策
      • 特定のブラウザの制限事項
    • Emscriptenランタイム環境
      • 入出力
      • ファイルシステム
      • ブラウザメインループ
        • C/C++で非同期メインループを実装する
        • Asyncifyを使用してブラウザにyieldする
      • 実行ライフサイクル
      • Emscriptenメモリ表現
    • C++とJavaScriptの接続
      • コードとのやり取り
        • ccall/cwrapを使用してJavaScriptからコンパイル済みC関数を呼び出す
        • NodeJSからC/C++で記述されたAPIとやり取りする
        • JavaScriptからコンパイル済みC/C++コードを「直接」呼び出す
        • C/C++からJavaScriptを呼び出す
        • JavaScriptでC APIを実装する
        • JavaScript関数をCからの関数ポインタとして呼び出す
        • 関数シグネチャ
        • JavaScriptからメモリにアクセスする
        • 実行動作に影響を与える
        • 環境変数
        • C++とJavaScriptのバインディング — WebIDLバインダーとEmbind
        • C/C++とJavaScriptのバインディング - Node-API
      • Embind
        • 簡単な例
        • ライブラリのバインディング
        • クラス
        • メモリ管理
        • 値型
        • 高度なクラスの概念
        • オーバーロードされた関数
        • 列挙型
        • 定数
        • クラスプロパティ
        • メモリビュー
        • JavaScriptをC++に転記するためにvalを使用する
        • 組み込み型変換
        • TypeScript定義
        • パフォーマンス
      • WebIDLバインダー
        • 簡単な例
        • モジュール出力
        • JavaScriptでC++クラスを使用する
        • 属性
        • ポインタ、参照、値型(RefとValue)
        • Const
        • 削除不可能なクラス(NoDelete)
        • 内部クラスと名前空間内のクラスの定義(Prefix)
        • 演算子
        • 列挙型
        • JavaScriptでのC++基本クラスのサブクラス化(JSImplementation)
        • ポインタと比較
        • NULL
        • void*
        • WebIDL型
        • テストと例コード
    • ファイルとファイルシステム
      • ファイルシステムの概要
        • Emscriptenファイルシステムランタイム環境
        • Emscriptenファイルシステムアーキテクチャ
      • ファイルのパッケージ化
        • emccを使用したパッケージ化
        • ファイルパッケージャーツールを使用したパッケージ化
        • データファイルの場所の変更
        • 仮想ファイルシステムでのファイル位置の変更
        • 有効な文字セット
        • ファイル使用状況の監視
        • ファイルのプリロード
        • テストコード
      • 同期仮想XHRバックアップファイルシステムの使用
        • テストコード
        • 手順
    • マルチメディアとグラフィックス
      • EmscriptenでのEGLサポート
        • EGLではないもの
        • EGLを使用してWebGLコンテキストを作成するには?
        • 実装状況と注意事項
      • EmscriptenでのOpenGLサポート
        • OpenGL ES 2.0/3.0のWebGL対応サブセット
        • OpenGL ES 2.0/3.0のエミュレーション
        • 古いデスクトップOpenGL API機能のエミュレーション
        • OpenGL ES拡張機能
        • テストコード/例
        • バグレポート
    • オーディオ
      • サポートされているOpenAL拡張機能
      • Emscriptenでのオーディオのガイドライン
      • Emscripten固有のキャプチャ動作
      • OpenALキャプチャの便利な実装の詳細
      • 実装の改善と拡張
    • デバッグ
      • ブラウザでのデバッグ
      • デバッグモード(EMCC_DEBUG)
      • コンパイラ設定
      • サニタイザ
      • emcc詳細出力
      • 手動プリントデバッグ
      • Chrome Devtoolsを使用したデバッグ
      • JavaScriptからのC++例外の処理
      • Emscripten固有の問題
        • メモリアライメントの問題
        • 関数ポインタの問題
        • 無限ループ
      • プロファイリング
        • 速度
        • メモリ
      • AutoDebugger
        • AutoDebugger回帰ワークフロー
      • 便利なリンク
      • ヘルプが必要ですか?
    • Pthreadsサポート
      • pthreadsを有効にしてコンパイルする
      • 追加のフラグ
      • プロキシ
      • メインブラウザスレッドでのブロッキング
      • 特別な考慮事項
      • アロケータのパフォーマンス
      • コードとテストの実行
    • ネットワーク
      • Emscripten WebSockets API
      • WebSockets経由のエミュレートされたPOSIX TCPソケット
      • WebSocketプロキシサーバー経由の完全なPOSIXソケット
      • XmlHttpRequestsとFetch API
      • WebRTCとUDP
    • WebAssemblyでのSIMDの使用
    • GCC/Clang SIMDベクトル拡張機能
    • WebAssembly SIMDイントリンシックス
    • 制限事項と動作の違い
    • 最適化に関する考慮事項
    • x86 SSE*命令セットをターゲットとするSIMDコードのコンパイル
    • ARM NEON命令セットをターゲットとするSIMDコードのコンパイル
    • C++例外サポート
      • Emscripten(JavaScriptベース)例外サポート
      • WebAssembly例外処理ベースのサポート
      • 例外のデバッグ
        • スタックトレース
        • JavaScriptからのC++例外の処理
      • 例外とsetjmp-longjmpの同時使用
    • C setjmp-longjmpサポート
      • JavaScriptベースのsetjmp-longjmpサポート
      • WebAssembly例外処理ベースのsetjmp-longjmpサポート
      • 例外とsetjmp-longjmpの同時使用
    • 非同期コード
      • イベントループへのスリープ/yield
      • 非同期Web APIを同期的に動作させる方法
      • 古いエンジンでAsyncify APIを使用する方法
      • ASYNCIFY_IMPORTSの詳細
      • 動的リンクを使用したAsyncify
      • Embindとの使用方法
      • ccallとの使用方法
      • AsyncifyとJSPIの違い
      • Asyncifyの最適化
      • 潜在的な問題
        • スタックオーバーフロー(Asyncify)
        • 再入
        • スタック上にコンパイル済みコードがある状態で巻き戻しを開始する(Asyncify)
      • 古いAsyncify APIからの移行
    • プロジェクトのビルド
      • ビルドシステムとの統合
      • Emscriptenリンカーの出力ファイル
      • 最適化を使用したプロジェクトのビルド
      • デバッグ情報を使用したプロジェクトのビルド
      • ライブラリの使用
      • Emscriptenポート
        • contribポート
        • ポートの追加
        • 外部ポート
      • ビルドシステムの問題
        • ビルドシステムの自己実行
        • 擬似動的リンク
        • configureは失敗するように見えるチェックを実行することがあります
        • アーカイブ(.a)ファイル
      • emccの手動使用
      • プリプロセッサでのEmscriptenの検出
      • コンパイララッパーの使用
      • pkg-config
      • 例/テストコード
      • トラブルシューティング
  • APIリファレンス
    • emscripten.h
      • インラインアセンブリ/JavaScript
        • 定義
      • C/C++からJavaScriptを呼び出す
        • コールバックの関数ポインタ型
        • 関数
      • ブラウザ実行環境
        • 関数
      • 非同期ファイルシステムAPI
        • typedef
        • 関数
      • 非同期IndexedDB API
      • コンパイル
      • Worker API
        • typedef
        • 関数
      • ロギングユーティリティ
        • 定義
        • 関数
      • ソケットイベント登録
        • コールバック関数
        • 関数
      • アライメントされていない型
        • typedef
      • 擬似同期関数
        • スリープ
        • ネットワーク
        • IndexedDB
      • Asyncify関数
        • typedef
        • 関数
      • ABI関数
    • html5.h
      • このAPIの使用方法
        • 登録関数
        • コールバック関数
        • Webセキュリティの影響を受ける関数
        • テスト/サンプルコード
      • 一般的な型
      • 関数結果値
      • キー
        • 定義
        • 構造体
        • コールバック関数
        • 関数
      • マウス
        • 定義
        • 構造体
        • コールバック関数
        • 関数
      • ホイール
        • 定義
        • 構造体
        • コールバック関数
        • 関数
      • UI
        • 定義
        • 構造体
        • コールバック関数
        • 関数
      • フォーカス
        • 定義
        • 構造体
        • コールバック関数
        • 関数
      • デバイスの方向
        • 定義
        • 構造体
        • コールバック関数
        • 関数
      • デバイスの動き
        • 定義
        • 構造体
        • コールバック関数
        • 関数
      • 方向
        • 定義
        • 構造体
        • コールバック関数
        • 関数
      • フルスクリーン
        • 定義
        • 構造体
        • コールバック関数
        • 関数
      • ポインターロック
        • 定義
        • 構造体
        • コールバック関数
        • 関数
      • 表示状態
        • 定義
        • 構造体
        • コールバック関数
        • 関数
      • タッチ
        • 定義
        • 構造体
        • コールバック関数
        • 関数
      • ゲームパッド
        • 定義
        • 構造体
        • コールバック関数
        • 関数
      • バッテリー
        • 定義
        • 構造体
        • コールバック関数
        • 関数
      • バイブレーション
        • 関数
      • ページのアンロード
        • 定義
        • コールバック関数
        • 関数
      • WebGLコンテキスト
        • 定義
        • 構造体
        • コールバック関数
        • 関数
      • CSS
        • 関数
      • アニメーションとタイミング
        • 関数
      • スロー
        • 関数
    • console.h
      • 関数
    • preamble.js
      • JavaScriptからコンパイル済みC関数を呼び出す
      • メモリへのアクセス
      • 変換関数—文字列、ポインタ、配列
      • 実行依存関係
      • スタックトレース
      • メモリモデルの型アクセサ
    • ファイルシステムAPI
      • 新しいファイルシステム:WasmFS
      • ファイルシステムサポートの組み込み
      • 永続データ
      • ファイルシステム
        • MEMFS
        • NODEFS
        • NODERAWFS
        • IDBFS
        • WORKERFS
        • PROXYFS
      • デバイス
      • 標準I/Oデバイスの設定
      • ファイルシステムAPI
      • ファイルの種類
      • パス
    • Fetch API
      • はじめに
      • データの永続化
        • メモリからのデータバイトの永続化
        • IndexedDBからのファイルの削除
      • 同期フェッチ
      • 進捗状況の追跡
      • 大規模ファイルの管理
        • IndexedDBへの直接ダウンロード
        • ストリーミングダウンロード
        • バイト範囲ダウンロード
      • ドキュメント化すべきTODO
    • モジュールオブジェクト
      • モジュールオブジェクトの作成
      • コンパイル設定
      • 実行への影響
      • その他のメソッド
    • val.h
    • bind.h(開発中)
      • このAPIの使用方法
        • 定義
      • ポリシー
      • select_overloadとselect_const
      • 関数
      • 値タプル
      • 値構造体
      • スマートポインタ
      • クラス
      • ベクトル
      • マップ
      • 列挙型
      • 定数
    • trace.h
      • 使用方法
        • コンパイラとの連携
        • 初期化と終了処理
        • コンテキスト
        • フレーム
        • 割り当ての注釈付け
        • メモリ使用量全体
        • ログメッセージ
        • タスク
        • エラーの報告
      • サーバーの実行
      • 設計ノート
        • クライアント/サーバー設計
        • データのバッチ処理
        • ヒープを妨害しない
      • 関数
    • fiber.h
      • APIリファレンス
        • 型
        • 関数
    • proxying.h
      • APIリファレンス
        • 型
        • 関数
        • C++ API
    • stack.h
    • Wasm Workers API
      • 簡単な例
      • はじめに
      • Pthreads対Wasm Workers:どちらを使用すべきか?
        • PthreadsはJS関数をプロキシできる
        • Pthreadsにはキャンセルポイントがある
        • Pthreadsは同期的に起動することがある—Wasm Workersは常に非同期的に起動する
        • Pthreadのトポロジーはフラットである—Wasm Workersは階層的である
        • PthreadsはWasm Worker同期APIを使用できるが、その逆はできない
        • Pthreadsには「thread main」関数とatexitハンドラがある
        • Pthreadsにはスレッドごとの着信プロキシメッセージキューがあるが、Wasm Workersにはない
        • Pthreadsは壁時計時間を同期する
        • 入力イベントAPIはPthreadsのみにバックプロキシする
        • Pthread対emscripten_lockの実装の違い
        • メモリ要件
        • 生成されたコードサイズ
        • APIの違い
      • Wasm Workersスタックサイズの考慮事項
      • Wasm Workers対以前のEmscripten Worker API
      • 制限事項
      • サンプルコード
    • Wasm Audio Worklets API
      • 開発概要
      • プログラミング例
      • オーディオスレッドとメインスレッドの同期
      • その他の例
    • 高度なAPI
      • settings.js
      • preamble.js
      • 高度なファイルシステムAPI
  • ツールリファレンス
    • Emscripten SDK (emsdk)
      • コマンドライン構文
        • 引数
        • ツールとSDKターゲット
      • SDKの概念
      • Emscriptenコンパイラ設定ファイル(.emscripten)
      • 「方法」ガイド
        • 最新のSDKを入手するにはどうすればよいですか?
        • emsdkの使用方法
        • インストールされているSDKとツールのバージョンを確認するにはどうすればよいですか?
        • ツール/SDKバージョンをインストールするにはどうすればよいですか?
        • ツールまたはSDKを削除するにはどうすればよいですか?
        • Emscripten SDKの更新を確認するにはどうすればよいですか?
        • 現在アクティブなSDKバージョンを変更するにはどうすればよいですか?
        • 古いEmscripten SDKとツールをインストールしてアクティブ化するにはどうすればよいですか?
        • SDKの最新の変更を追跡するにはどうすればよいですか?
        • 独自のEmscriptenフォークをSDKで使用するにはどうすればよいですか?
    • Emscriptenコンパイラフロントエンド(emcc)
      • コマンドライン構文
        • 引数
      • 環境変数
    • Emscripten Windowsコマンドプロンプト(emcmdprompt.bat)
      • コマンドライン構文
    • Emscriptenコンパイラ設定
      • アサーション
      • スタックオーバーフローチェック
      • NULL書き込みチェック
      • 詳細表示
      • INVOKE_RUN
      • EXIT_RUNTIME
      • スタックサイズ
      • MALLOC
      • ABORTING_MALLOC
      • 初期ヒープ
      • 初期メモリ
      • 最大メモリ
      • メモリ増加の許可
      • 幾何級数的ステップによるメモリ増加
      • 幾何級数的な上限によるメモリ増加
      • 線形ステップによるメモリ増加
      • MEMORY64
      • 初期テーブル
      • テーブル増加の許可
      • グローバルベース
      • テーブルベース
      • USE_CLOSURE_COMPILER
      • CLOSURE_WARNINGS
      • IGNORE_CLOSURE_COMPILER_ERRORS
      • DECLARE_ASM_MODULE_EXPORTS
      • インライン化制限
      • ビッグエンディアンのサポート
      • SAFE_HEAP
      • SAFE_HEAP_LOG
      • 関数ポインタキャストのエミュレート
      • EXCEPTION_DEBUG
      • DEMANGLE_SUPPORT
      • LIBRARY_DEBUG
      • SYSCALL_DEBUG
      • SOCKET_DEBUG
      • DYLINK_DEBUG
      • FS_DEBUG
      • SOCKET_WEBRTC
      • WEBSOCKET_URL
      • PROXY_POSIX_SOCKETS
      • WEBSOCKET_SUBPROTOCOL
      • OPENAL_DEBUG
      • WEBSOCKET_DEBUG
      • GL_ASSERTIONS
      • TRACE_WEBGL_CALLS
      • GL_DEBUG
      • GL_TESTING
      • GL_MAX_TEMP_BUFFER_SIZE
      • GL_UNSAFE_OPTS
      • FULL_ES2
      • GL_EMULATE_GLES_VERSION_STRING_FORMAT
      • GL_EXTENSIONS_IN_PREFIXED_FORMAT
      • GL_SUPPORT_AUTOMATIC_ENABLE_EXTENSIONS
      • GL_SUPPORT_SIMPLE_ENABLE_EXTENSIONS
      • GL_TRACK_ERRORS
      • GL_SUPPORT_EXPLICIT_SWAP_CONTROL
      • GL_POOL_TEMP_BUFFERS
      • GL_EXPLICIT_UNIFORM_LOCATION
      • GL_EXPLICIT_UNIFORM_BINDING
      • USE_WEBGL2
      • MIN_WEBGL_VERSION
      • MAX_WEBGL_VERSION
      • WEBGL2_BACKWARDS_COMPATIBILITY_EMULATION
      • FULL_ES3
      • LEGACY_GL_EMULATION
      • GL_FFP_ONLY
      • GL_PREINITIALIZED_CONTEXT
      • USE_WEBGPU
      • STB_IMAGE
      • GL_DISABLE_HALF_FLOAT_EXTENSION_IF_BROKEN
      • GL_WORKAROUND_SAFARI_GETCONTEXT_BUG
      • GL_ENABLE_GET_PROC_ADDRESS
      • JS_MATH
      • POLYFILL_OLD_MATH_FUNCTIONS
      • LEGACY_VM_SUPPORT
      • ENVIRONMENT
      • LZ4
      • 例外処理の無効化
      • 例外処理の許可
      • 例外送出の無効化
      • 例外処理ヘルパーのエクスポート
      • 例外スタックトレース
      • WASM_EXNREF
      • NODEJS_CATCH_EXIT
      • NODEJS_CATCH_REJECTION
      • ASYNCIFY
      • ASYNCIFY_IMPORTS
      • ASYNCIFY_IGNORE_INDIRECT
      • ASYNCIFY_STACK_SIZE
      • ASYNCIFY_REMOVE
      • ASYNCIFY_ADD
      • ASYNCIFY_PROPAGATE_ADD
      • ASYNCIFY_ONLY
      • ASYNCIFY_ADVISE
      • ASYNCIFY_LAZY_LOAD_CODE
      • ASYNCIFY_DEBUG
      • ASYNCIFY_EXPORTS
      • JSPI
      • JSPI_EXPORTS
      • JSPI_IMPORTS
      • EXPORTED_RUNTIME_METHODS
      • EXTRA_EXPORTED_RUNTIME_METHODS
      • INCOMING_MODULE_JS_API
      • CASE_INSENSITIVE_FS
      • FILESYSTEM
      • FORCE_FILESYSTEM
      • NODERAWFS
      • NODE_CODE_CACHING
      • EXPORTED_FUNCTIONS
      • EXPORT_ALL
      • EXPORT_KEEPALIVE
      • RETAIN_COMPILER_SETTINGS
      • DEFAULT_LIBRARY_FUNCS_TO_INCLUDE
      • INCLUDE_FULL_LIBRARY
      • RELOCATABLE
      • MAIN_MODULE
      • SIDE_MODULE
      • RUNTIME_LINKED_LIBS
      • BUILD_AS_WORKER
      • PROXY_TO_WORKER
      • PROXY_TO_WORKER_FILENAME
      • PROXY_TO_PTHREAD
      • LINKABLE
      • STRICT
      • IGNORE_MISSING_MAIN
      • STRICT_JS
      • WARN_ON_UNDEFINED_SYMBOLS
      • ERROR_ON_UNDEFINED_SYMBOLS
      • SMALL_XHR_CHUNKS
      • ヘッドレス
      • 決定論的
      • モジュール化
      • EXPORT_ES6
      • USE_ES6_IMPORT_META
      • EXPORT_NAME
      • DYNAMIC_EXECUTION
      • BOOTSTRAPPING_STRUCT_INFO
      • EMSCRIPTEN_TRACING
      • USE_GLFW
      • WASM
      • STANDALONE_WASM
      • BINARYEN_IGNORE_IMPLICIT_TRAPS
      • BINARYEN_EXTRA_PASSES
      • WASM_ASYNC_COMPILATION
      • DYNCALLS
      • WASM_BIGINT
      • EMIT_PRODUCERS_SECTION
      • EMIT_EMSCRIPTEN_LICENSE
      • LEGALIZE_JS_FFI
      • USE_SDL
      • USE_SDL_GFX
      • USE_SDL_IMAGE
      • USE_SDL_TTF
      • USE_SDL_NET
      • USE_ICU
      • USE_ZLIB
      • USE_BZIP2
      • USE_GIFLIB
      • USE_LIBJPEG
      • USE_LIBPNG
      • USE_REGAL
      • USE_BOOST_HEADERS
      • USE_BULLET
      • USE_VORBIS
      • USE_OGG
      • USE_MPG123
      • USE_FREETYPE
      • USE_SDL_MIXER
      • USE_HARFBUZZ
      • USE_COCOS2D
      • USE_MODPLUG
      • SDL2_IMAGE_FORMATS
      • SDL2_MIXER_FORMATS
      • USE_SQLITE3
      • 共有メモリ
      • WASM_WORKERS
      • AUDIO_WORKLET
      • WEBAUDIO_DEBUG
      • PTHREAD_POOL_SIZE
      • PTHREAD_POOL_SIZE_STRICT
      • PTHREAD_POOL_DELAY_LOAD
      • DEFAULT_PTHREAD_STACK_SIZE
      • PTHREADS_PROFILING
      • メインスレッドでのブロッキングの許可
      • PTHREADS_DEBUG
      • コンストラクタの評価
      • TEXTDECODER
      • EMBIND_STD_STRING_IS_UTF8
      • EMBIND_AOT
      • OFFSCREENCANVAS_SUPPORT
      • OFFSCREENCANVASES_TO_PTHREAD
      • オフスクリーンフレームバッファ
      • FETCH_SUPPORT_INDEXEDDB
      • FETCH_DEBUG
      • FETCH
      • WASMFS
      • SINGLE_FILE
      • AUTO_JS_LIBRARIES
      • AUTO_NATIVE_LIBRARIES
      • MIN_FIREFOX_VERSION
      • MIN_SAFARI_VERSION
      • MIN_CHROME_VERSION
      • MIN_NODE_VERSION
      • エラー番号のサポート
      • 最小限のランタイム
      • 最小限のランタイムストリーミングWASMコンパイル
      • 最小限のランタイムストリーミングWASMインスタンス化
      • longjmpのサポート
      • 非推奨のfindEventTarget動作の無効化
      • ユーザーに関連する要求の遅延サポート
      • HTMLのミニファイ
      • MAYBE_WASM2JS
      • ASAN_SHADOW_SIZE
      • USE_OFFSET_CONVERTER
      • ソースマップのロード
      • C++へのデフォルト
      • PRINTF_LONG_DOUBLE
      • SEPARATE_DWARF_URL
      • リンク後のWASM変更時のエラー
      • WASM例外時の異常終了
      • PURE_WASI
      • IMPORTED_MEMORY
      • SPLIT_MODULE
      • AUTOLOAD_DYLIBS
      • 未実装のシステムコールの許可
      • TRUSTED_TYPES
      • ポリフィル
      • ランタイムデバッグ
      • レガシーランタイム
      • シグネチャ変換
  • コードの最適化
    • コードの最適化方法
    • Emscriptenによる最適化
    • リンク時間
    • 高度なコンパイラ設定
    • WebAssembly
    • コードサイズ
      • コードサイズとパフォーマンスのトレードオフ
      • その他コードサイズに関するヒント
    • LTO
    • コンストラクタの評価
    • 非常に大規模なコードベース
      • 単独で実行する
      • モジュールの分割
    • その他の最適化に関する問題
      • C++例外
      • C++ RTTI
      • メモリ増加
      • コード最適化パスの表示
      • 割り当て
    • 安全ではない最適化
    • プロファイリング
    • パフォーマンス不良のトラブルシューティング
  • WebGLの最適化
    • どのGLモードをターゲットにするか?
    • WebGLをプロファイリングする方法
    • 冗長な呼び出しを避ける
    • API呼び出しを最小限に抑えるためのテクニック
    • GPU-CPU同期ポイントを避ける
    • GPUドライバに優しいメモリアクセス動作
    • GPUがボトルネックの場合
    • ロード時間の最適化とその他のベストプラクティス
    • WebGL 2への移行
  • Sanitizer を使用したデバッグ
    • 未定義動作Sanitizer (Undefined Behaviour Sanitizer)
      • NULL ポインタ参照の検出
      • 最小限のランタイム
    • アドレスSanitizer (Address Sanitizer)
      • 例
        • バッファオーバーフロー
        • 解放済みメモリ使用 (Use After Free)
        • メモリリーク
        • 関数戻り後メモリ使用 (Use After Return)
      • 設定
        • malloc/free スタックトレースの無効化
      • SAFE_HEAPとの比較
  • ソースからのEmscriptenビルド
    • LLVMのビルド
    • Binaryenのビルド
      • Emscriptenツールチェーンの要件
        • 必要なもの
        • インストールされているツールのテスト
      • ソースから手動でビルドする場合のEmscripten設定
        • コンパイラ設定ファイルの作成
        • コンパイラ設定ファイル(.emscripten)の場所
        • コンパイラ設定ファイルのフォーマット
        • コンパイラ設定ファイルの編集
      • Emscripten開発環境の検証
        • 環境のテスト
        • トラブルシューティング
  • Emscriptenへの貢献
    • 貢献
      • はじめに
      • 次のステップ
    • 開発者ガイド
      • 設定
      • 関連リポジトリとブランチ
      • パッチの提出
      • コードレビュー
      • コンパイラの概要
      • Emscriptenテストスイート
      • バイセクション
      • C構造体と定義の扱い
      • 参照
    • 作成者 (AUTHORS)
  • ツールチェーンのプロファイリング
    • 簡単な例
    • 詳細
      • プロファイリングツールのコマンド
    • Pythonスクリプトのインストルメンテーション
      • Pythonプロファイリングブロック
  • このサイトについて
    • サイト内検索
    • バグの報告
    • サイトへの貢献
    • サイトのビルド
      • Sphinxのインストール
      • サイトビルド
      • SDKビルド
      • ビルドバージョン
    • 記事の記述と更新
      • スタイルガイド
      • ドキュメントや見出しへのリンク方法
      • 推奨されるセクション/見出しのマークアップ
      • Markdownでの作業
    • Read the Docsテーマ
    • サイトライセンス
索引
 
Logo
Fork me on GitHub
  • ドキュメントドキュメント
  • SDKダウンロード
  • ヘルプコミュニティ
  • GitHub
ホーム
» サイトリンク

サイトリンク¶

このセクションには、サイトに固有の記事、または他のカテゴリに属さない記事が含まれています。

  • このサイトについて
  • 用語集
バグ報告バグ報告 ライセンスライセンス 貢献貢献 メーリングリストメーリングリスト WikiWiki リリースノートリリースノート ブログブログ ヘルプ連絡先
  • サイトについて
  • ページのバグ

© Copyright 2015, Emscripten Contributors.