pit-rayの備忘録

開発中に得た知識を記事にしていくブログ

<Qt>CDBをデバッガとして利用する方法

今回は、QtにCDBをデバッガとして設定する方法を解説します。Qtでデバッグ開始時に以下のようなエラーを吐かれてデバッグができないケースがあります。 The selected debugger may be inappropriate for the inferior. Examining symbols and setting breakp…

<C言語>構造体のアドレスは何を指すのか

本日はまたC言語についてのちょっとしたトピックを取り上げます。構造体のアドレスは何を指しているのか?です。まず、以下のプログラムを見ていきましょう。 #include <Windows.h> #include <stdio.h> typedef struct STRUCT_P_TEST { int a ; int b ; } st_test ; int main() {</stdio.h></windows.h>…

<C/C++> 入門者でも簡単に使えるゲーム用タスクシステムライブラリ無料配布

今回はゲーム用のタスクシステムをご紹介します。タスクシステムは主に弾幕系シューティングゲームやストーリー系のゲーム全般に用いられています。 タスクシステムを用いることで、処理する関数の順番を決めたり、途中で特定の関数をストップできたりします…

タスクシステムライブラリ tasksyslib リファレンス

C/C++対象のタスクシステムライブラリtasksyslibのリファレンスです。 zipでダウンロードする 規約等をみる 1・InitTaskSys関数:タスクシステムの初期化 2・RegisterNewTask関数:タスクの登録 3・SetTaskParameter関数:タスクの設定 4・IsActivateReg…

インライン関数はヘッダファイルで実装する

インライン関数はC++やC99以降のC言語でサポートされています。 インライン関数はマクロ関数のようにオーバヘッドを避けることができます。インライン関数の書き方の例はこのようになります。 inline int Five() { return 5 ; } マクロ関数で実装する場合は…

<C言語>解放後のポインタにNULLを代入するべき(ダングリングポインタ)

今回題材とするのはダングリングポインタ(dangling pointer)です。 ここで出てくるdanglingというのはぶら下がるという意味で、ポインタがどこのメモリを指しているのかわからない状態を指します。ダングリングポインタは攻撃ができる脆弱性につながる可能性…

Windows10にしたらシャットダウンを妨げる謎のプログラムに悩まされた件について

どうも。 本日はとても良い天気です。先日、Windows10にアップグレードしてからというもの、名前不明の謎のプログラムにシャットダウンを悩まされていました。そしてググっていた結果、原因が判明しました。 この時にヒットしたサイトを載せておきます。 enj…

<C言語>memcpyとmemmoveの違い

こんにちは。 本日は雨のせいで引きこもっていました。本日はmemmoveとmemcpyの違いが気になり調べていました。 memmoveとmemcpyはどちらもアドレスをコピーする関数(string.hに定義)です。まず、代表的な違いを挙げてみます。 この二つの関数がオーバーラッ…

Windows10無償アップグレードは続いている!?

おはようございます。 本日はWindows8.1からWindows10にアップグレードする方法をお話しします。私はWindows10にしない理由はほぼないと思っています。 会社などの場合、周辺機器の対応しているOSなどの問題があります。 そのために今まで使っていたWindows7…

<C言語>ヘッダファイル二重定義防止

今回は初心に戻って整理してみようというやつです。C言語でファイルが複数になるとヘッダファイルなどを用いて関数の管理などをすることになると思います。 しかし、ここで気を付けないといけないのが二重定義と呼ばれるものです。 通常、ヘッダファイルはソ…

<C言語>構造体へのポインタの初期化

今回もC言語についての備忘録になります。 今回のトピックは 構造体へのポインタの初期化 です。(タイトルにもありますが) これは初歩的なミスです。 しかし、私は初心者故、最近こいつとバトルしました。 まず、悪い例のソースコードはこちら。 #include <stdio.h></stdio.h>…

<C言語>malloc()+memset()とcalloc() ゼロクリアする場合における違い

今回は開発していて気になったことがあったのでググってみました。 言語はCです。 最初の記事にも書いたのですが、私自身、プログラミング歴が長いわけではないため、参考程度に見ていただければ幸いです。 まず、今回気になったことは malloc()+memset()に…