本ページはアフィリエイトプログラムによる収益を得ています。ページ内のリンクから、各種販売サイトに移動して商品を購入されると、Programming Place 管理者に紹介料が支払われます。
memcpy(NULL, NULL, 0)
や
memcmp(NULL, NULL, 0)
といった呼び出しは未定義動作とされていますが、次期C言語規格では動作を明確に定義しようとする議論を紹介しています。
一見して無意味な呼び出しのようにみえますが、実際の実引数は変数であろうことから、これには大きな意味があります。未定義動作を避けるために、こういった呼び出しの前に if文によるチェックを入れざるを得ず、処理速度にもコードサイズにも影響を与え、コンパイラによる最適化の妨げにもなっています。
C++ のダングリング参照(すでに寿命を終えているオブジェクトを参照してしまうこと)による未定義動作を、コンパイル時点で不完全ながら検出できる機能が、近年のコンパイラには実装されていることを紹介した記事です。そういった機能の使い方のほか、ダングリング参照を引き起こすコードの例が挙げられています。
C/C++ でホットリロードを実現する商用の開発ツール Live++ を紹介しています。ホットリロードとは、プログラムを実行している最中にソースコードを変更すると、プログラムを止めることなく変更が適用される機能です。
2024年11月23日に開催された、ゲーム開発者向けカンファレンス「CEDEC+KYUSHU 2024」のセッションのレポート記事です。
プログラミングやデザインを学習する題材として、ゲーム開発が優れた手段になるという内容で、それがなぜ優れた方法なのかを説明しています。一方で、大作を目指すと失敗すること、アクションゲームなど初心者には厳しいものもあることなどの注意すべきポイントについても触れています。
コンピュータが割り算を行う際の仕組みを紹介し、多くの場合、掛け算や割り算(特に割り算)が加算・減算と比べて処理に時間が掛かる理由を説明しています。掛け算についての解説が1つ前の記事にあります。
オンラインアクションゲームの開発に必要な基本的な知識について、「非エンジニアな方でも理解しやすいように」解説した記事です。前後編となっており、前編にあたるこの記事では、遅延や、レスポンスについての解説、非同期型の手法の仕組みとそこで起こる代表的な問題点を解説しています。
さきほどの記事の後編です。こちらは完全同期型の手法を説明しており、その仕組みやメリット・デメリット、 ネットワーク構成の種類などについて解説しています、
(前編と比べると一気に技術寄りの話になっていて、「非エンジニアな方でも理解しやすいように」は難しそうにみえます)
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |