C++
C++におけるプログラム中で実体が一つだけ必要な場合の実装例を調べてみました。特に、GitHubでStar数が多いものや開発が活発なものを対象としました。プログラムで共通した変数を参照するConfigやLoggerなどを想定しています。 ただ、グローバル変数とexter…
先日からWindows APIを多く含んだC++プロジェクトのテストを書いています。その際、Windows APIのスタブ/モック用のフレームワークとしてfffを利用しています。 github.com しかし、READMEに沿ってWindows APIのフェイク関数を定義したところ、MinGW-w64では…
今回はVisual Studio 2019でwxWidgets 3.0.5のビルドが失敗する問題と、MinGW-w64でwxWidgets 3.1.4のビルドが失敗する問題の対策です。 wxWidgets 3.0.5 + Visual Studio 2019 問題 対策 wxWidgets 3.1.4 + MinGW-w64 問題 対策 追記 素直にVisual Studioを…
今回はGitHubのREADMEでよく見かけるCoverity Scanのバッジをつける流れのメモです。 ← コレ Synopsys Coverity Scan とは 今回利用するプロジェクト 手順 GitHubとの連携 プロジェクトの追加 解析 バッジを貼り付ける Synopsys Coverity Scan とは Coverity…
C++のコンパイラを自由に選べる環境ならば、GNUのg++を利用したいと考えている人は少なくないかと思います。Windowsでは、MinGWやCygwinなどを利用することになると思いますが、付属されているWindows SDKが完全なモノとは限りません。今回は頻繁に利用され…
今回は、テキストエディタの色設定を相互変換できるツールの紹介です。C++の勉強の副産物として生まれたツールですので、TeraPadとさくらエディタにのみ対応しています。ソースコードはこちらです。 github.comGitHubのREADME.mdに実行方法がありますので、…
今回はC++の標準ライブラリのfstreamのwrite関数を用いた、バイトオーダーマーク(BOM)の付け方をご紹介します。 以前は標準ライブラリのcodecvtを利用することで変換できましたが、非常に分かりにくいうえ、C++17よりcodecvtは非推奨となっています。そこで…
今回は、Qtについての備忘録です。 前回と同様、学習のアウトプット目的で書いています。 ご指摘等ありましたら、コメントに書いていただけると幸いです。動作環境は以下の通りです。 【OS】Windows10 64bit 【CPU】Intel core i5-4590 【Qt】5.11.2 64-bit …
今回は、QtにCDBをデバッガとして設定する方法を解説します。Qtでデバッグ開始時に以下のようなエラーを吐かれてデバッグができないケースがあります。 The selected debugger may be inappropriate for the inferior. Examining symbols and setting breakp…
C/C++対象のタスクシステムライブラリtasksyslibのリファレンスです。 GitHubでダウンロードする 規約等をみる InitTaskSys関数:タスクシステムの初期化 RegisterNewTask関数:タスクの登録 SetTaskParameter関数:タスクの設定 IsActivateRegdTask関数:タ…
2020/3/6に更新しました インライン関数はC++やC99以降のC言語でサポートされています。このしくみは、マクロ関数のように呼び出しのオーバヘッドを避けることができます。 関数におけるオーバーヘッドとは、関数の定義が別のアドレスにあることが原因で発生…