2025-01-01から1年間の記事一覧
Arduino Uno R4 Minima で以下のようにシリアルからの入力をエコーバックするプログラムを書きました. ポチポチポチと文字を送信する分には正常に動きますが、シリアルコンソールの上下左右ボタンを押すと以降どのボタンを押しても反応が返ってきません void…
WinAPIのCreateCompatibleDCとCreateCompatibleBitmapの自分用のメモです. デバイスコンテキストとは デバイスコンテキストの互換性とBitBlt関数 CreateCompatibleDC関数だけではBitBlt関数は使用できない CreateCompatibleBitmap関数 CreateCompatibleBitma…
Windowsでメモリデバイスコンテキストのサイズを取得するには以下のようにメモリデバイスコンテキストのビットマップを取得してからビットマップヘッダに情報をコピーします. WinAPIバージョン // hDCは対象のウィンドウのデバイスコンテキストとする HDC hM…
C++のオブジェクト指向プログラミングでメモリリークをおこしてみましょう. 以下のクラスを考えます. コンストラクタでヒープを確保し、デストラクタで解放するだけのクラスです. class MyObj { public: MyObj(size_t byte) :pMem(NULL) { uint8_t *ptr = (u…
C#(というより.NET Framework)のフォームクラスはその.csファイルの最初のクラスでなくてはいけないというルールがあります. このルールが守られていない場合、フォームデザイナーを開くと「クラスFormXXはデザイン出来ますが、ファイルの最初のクラスではあ…
検証環境 項目 説明 OS Windows11 Visual Studio 17.8.0 (2022) 言語 C++(MSVC) 開き方 アプリケーションをデバッガで実行中にデバッグ->ウィンドウ->メモリ から開くことが出来ます. メモリ1(1)からメモリ4(4)があり、最大で4つまで同時に開くことが出来ま…
C言語で関数内のstatic変数を複数の関数で共有したいときは、関数ポインタを使おうという提案です. 以下のようにstatic変数を定義した関数func()に、実際にstatic変数を使いたい関数ポインタを渡し、func()にstatic変数を引数にセットしてもらおうという算段…