CEDEC 2024『ゲーム開発者のための C++17~C++23, 近年の C++ 規格策定の動向』
With gpu.cpp we want to enable a high-leverage library for individual developers and researchers to incorporate GPU computation into programs relying on nothing more than a standard C++ compiler as tooling. Our goals are: High power-to-weight ratio API: Provide the smallest API surface area that can cover the full range of GPU compute needs. Fast compile/run cycles: Ensure projects can build nearl
はじめに Androidアプリ開発においてJNI(Java Native Interface)を使用することで、C++をJavaやKotlinから利用することが可能です。ここでは、stable-diffusion.cppの具体的なC++関数を例にJNIを通じてKotlinから呼び出す方法を解説します。 C++関数の定義 以下に示すのは、sd_ctx_t*型のポインタを返すC++関数です。この関数は、様々なパラメータを受け取り、画像生成のためのコンテキストを設定します。ここではパラメータの意味などは理解する必要はありません。複数の文字列パラメータと数値、およびブール値を受け取り、何らかの処理を行った後に整数値を返します。 sd_ctx_t* new_sd_ctx(const char* model_path, const char* vae_path, const char* taesd_p
はじめに X68000 のクロス開発環境 elf2x68k では、Linux (WSL) や MinGW、macOS などの環境で以下のような X68000 のクロス開発を行うことができます。 C/C++ プログラムのコンパイル X-BASIC プログラムの C への変換とコンパイル X68000 で実行するプログラムの GDB を用いたリモートデバッグ 今回、初めて Mac を導入して X68000 のクロス開発環境を macOS 上で構築してみたので、その手順をまとめてみました。 動作は M3 MacBook Air の macOS Sonoma (14.5)上で確認しています。 事前の準備 ターミナルへのフルディスクアクセス設定 macOS のターミナルは Finder の アプリケーション → ユーティリティー から開けます。zsh が動いて UNIX 系の CUI 環境が最初から
目次 目次 「戻り値型の後置記法」って何? 何が嬉しいの? 問題点 「戻り値型の後置記法」って何? C++11から導入された言語仕様です。 タイトルの呼び方は自分が勝手に使っているだけで、英語圏だと「trailing-return-type」がよく使われるらしい。 cpprefjp.github.io この仕様を使うと例えば以下のようなコードが int Add(int a, int b) { return a + b; } このようになります。 auto Add(int a, int b) -> int { return a + b; } 何が嬉しいの? この仕様はC++のメタプログラミングで戻り値型の推論を簡単に行う目的で使用されます。 なんだ、そんなC++上級者のための機能なんて下々の人間には関係ないじゃん、とお思いかもしれませんが、この機能にはもう一つわかりやすい大きなメリットがある
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
言語実装 Advent Calendar 2022 の今日の分が空いていたので書いてみた。 この記事の内容 397 行の C++ のプログラムで tiny basic のインタプリタを実装する ソースコードは記事中に示す(1 ファイルのみで完結) 実装したタイニーベーシックのインタプリタ上で遊べる Hit & Blow というゲームも紹介 元ネタは、Peter Chapman さんの tinybasic.c ( https://gist.github.com/pmachapman/661f0fff9814231fde48 )。これを少々書き換えただけである。高度なことはしていない。 言語的にはコメントを付け加えるコマンド rem を追加している。元ネタは C であり、こちらは C++ を使っているので、vector や map を使って、若干コード量が減っているという感じ。行数を減らすため
たぶん2023年一番お世話になったライブラリです。 2022年まではsimdjsonをよく使っていたのですが、新規プロジェクトはGlazeばかり使っています。 開発が活発だし、ISSUEへの対応が速いのもありがたいです。 良い点 SIMDを利用していないのにsimdjsonやyyjsonと遜色ない速度で動作する 構造体やクラスだけでなくSTLコンテナもJSONとの直接読み書きができる 中間データに独自バイナリ形式を利用してさらに高速化できる いまいちな点 長い文字列が多いJSONデータの読み込みではSIMDを使っているライブラリに対して不利になる 最後のフィールドのカンマやコメントの読み込みに対応していない ストリーム的な処理はない(と思う) 代替ライブラリ 似たようなアプローチでSIMDを使ってさらに速いJsonifierというライブラリがあります。 純粋な速度を求める場合にはこちらを使
Admin message The 17.0 major release is coming on May 16, 2024! This version brings many exciting improvements to GitLab, but also removes some deprecated features. We are introducing three breaking change windows during which we expect breaking changes to be deployed to GitLab.com. You can read more about it on our blogpost. The third breaking change window begins 2024-05-06 09:00 UTC and ends 20
前書き この記事は、2023のUnityアドカレの12/14の記事です。 今年は、完走賞に挑戦してみたいと思います。Qiita君ぬい欲しい! はじめに プログラミングにおける必須機能として、「関数呼び出し」というものがあるのは皆さまご存知でしょう。しかし、関数呼び出しにはコストがかかります。 なので、コンパイラによって関数の「呼び出し」を関数の中身に置き換えてしまう最適化を「インライン展開」といいます。 .NET Frameworkや.NET(CoreCLR)では、メソッドに[MethodImpl(MethodImplOptions.AggressiveInlining)]をつけることで、インライン展開されやすくなるらしいです。つけたからといって必ずインライン展開されるとは限らず、何らかの条件付きのようです。(条件についてははっきりしたことが分かっていないので、ソースも読んでみたいですね)
【DevelopersIO 2024】AI 半可通なのにエッジ AI 機能を全力で解説してみる 〜Cloudflare の場合〜
DxLibでリソース管理システムを作ってみた 前提:投稿者はふだん学校でDxLibを用いたゲーム開発を教えていて、そこで出くわしたトラブルや「こうしたらどうだろう」と言うのをQiitaにしてみようという考えで書いています。 このため、内容としては学生向けですし、DxLibというライブラリに関するお話し限定となります 動機 C++のshared_ptrやstd::vectorなどを使用することで、メモリのリークをかなり防げるようになったのですが、リソースの解放し忘れと言うトラブルからは逃れられていません。 これをどうにかして、shared_ptrのように自動でそれぞれのリソースを解放できるような仕組みにできないかと考えました。 もう一つの動機としては 「多重ロード防止」を実装したかった というのがあります。DxLibは同じものをロードしようとすると内部的にロード済みのリソースを別ハンドルで返
この記事はWebAssembly Advent Calendar 2023 2日目の記事です. ガベージコレクタ(WasmGC)[1]が10月頃にChromeとFirefoxでデフォルトで有効になり,標準化目前ということで大いに盛り上がったのは記憶に新しいかと思います. これはChromeが対応したというよりはChromeが採用しているJavaScriptのランタイムであるV8がデフォルトでWasmGCが有効になったというのが正確な表現で,DenoでもDartからビルドしたWasmを実行する際にGCを有効にするフラグを立てる必要がなくなり,実行しやすくなったなぁと皆さんも感じているかと思います. -$ deno run --allow-read --v8-flags=--experimental-wasm-gc run.js +$ deno run --allow-read run.js
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く