Visual Studioのpragma指示子によるライブラリ自動リンク

『Game Engine Architecture』には次のように記述されています: "Visual Studioは、エグゼキュータブルにリンクすべきライブラリを指定するために、様々な「魔法のような」手法を採用しています。例えば、ソースコード内に特殊な#pragma命令を記述することで、リンカーに対して特定のライブラリを自動的にリンクするよう指示できます。このため、「追加の依存ファイ ...

6月27日 22:19 投稿

STLコンテナのパフォーマンス比較: emplace_backとpush_back

C++標準ライブラリ(STL)では、コンテナに要素を追加する操作は非常に一般的です。MSVCのSTL実装では、この追加操作にはpush_backとC++11で導入されたemplace_backという2つの主な方法があります。これらのメソッドは似ていますが、内部の動作が大きく異なり、パフォーマンスに大きな影響を与えます。 なぜemplace_backは速いのですか? push_backとemplace_backの主な違いは ...

6月1日 17:57 投稿

QtAV:クロスプラットフォーム対応の高性能マルチメディア再生フレームワークのビルド手順

QtAVはQtとFFmpegを基盤とした、クロスプラットフォームかつ高パフォーマンスなメディア再生ライブラリです。ネット上の情報ではビルド難易度が高く語られることもありますが、使用するコンパイラに合わせた適切な環境変数の設定を行えば、手順自体は非常に単純です。ここでは、Windows環境下でMSVCコンパイラを使用したビルド方法を中心に解説します。 検証環境 本記事の ...

5月15日 15:58 投稿

WindowsでOpenSSL 3.5.1をnmakeでビルドし開発環境を整える手順

MinGW ではなく MSVC ツールチェーン(nmake)を使って OpenSSL 3.5.1 をコンパイルする方法をまとめます。 1. Visual Studio 2022 の準備 「C++によるデスクトップ開発」ワークロードを含めてインストールします。インストール後も nmake が見つからない場合は、次の環境変数を手動で追加してください。 MSVC 関連パス Path C:\VS2022\VC\Tools\MSVC\14.44.35207\bin\ ...

5月14日 13:48 投稿