C++ ときどき ごはん、わりとてぃーぶれいく☆

Wonder Rabbit Projectのなかのひとのブログ。主にC++。

Insider で Windows 10 19041.1 に update して WSL2 に Arch 環境を作り直したメモ ( 昨夜まで WSL1/Ubuntu を使っていました )

↑ WSL2 で Arch linux が動いていて Windows Terminal (Preview) から使える様子。 手順メモ: Windows 10 19041.1 (執筆時点) 以降のバージョンへアップデートする (執筆時点ではまだ Windows Insider の登録と設定が必要。説明略 -> https://insider.window…

vscode extension: 開かれている vscode.TextEditor を列挙する方法のメモ

import * as vscode from 'vscode' // 列挙した TextEditor を格納する array const es: vscode.TextEditor[] = [] // 次の TextEditor を取得するトリック let nextTextEditor = async () => { await vscode.commands.executeCommand( 'workbench.action.ne…

nodejs: child_process.spawn とシェル実行の方法の模範解答についてのメモ(あるいはバッドノウハウを広めないための自分用の戒めとしてのメモというかあけおめ生存報告のメモ)

最初に答え let spawn = require('child_process').spawn; // 模範解答(たぶん) let p = spawn( 'echo', [ 'hoge' ], { 'shell': true } ); p.stdout.on( 'data', payload => console.log( `[spawn/stdout]: ${payload.toString().trim()}` ) ) p.stderr.o…

vcpkg_chii: vcpkg cmake hyper integration injector 作りましたのメモ

↓つくりました: https://github.com/usagi/vcpkg_chii ; vcpkg_chii: vcpkg cmake hyper integration injector vcpkg_chii ( vcpkg cmake hyper integration injector ) is a CMake module for vcpkg hyper integration for CMake vcpkg ( Windows, GNU/Linu…

C++ のパッケージマネージャーの選択メモ( conan vs. vcpkg vs. Hunter on Windows and Ubuntu ): C++ 実装がサブプロジェクトとして内包されるクロスプラットフォームアプリのリポジトリーの場合

タイトルが少しややこしいので最初に整理します。 このメモは: C++ のパッケージマネージャーの選択のはなし ただし: アプリはクロスプラットフォーム ( このメモでの具体例は Windows-10 & Ubuntu-19.04 ) アプリ全体(=このメモでは「ソリューション」とし…

KDE アプリが Windows/WSL/Ubuntu-19.04 環境で libQt5Core.so.5 が云々とかエラーを吐いて動かないときの対処方法のメモ

KDE なアプリたち、例えば umbrello とか kwrite とか、とにかくみんな↓のようなエラーを吐いて Windows/WSL/Ubuntu-19.04 環境で動いてくれない現象に遭遇しました。 kwrite: error while loading shared libraries: libQt5Core.so.5: cannot open shared o…

Windows 10: CPU 100% 張り付き問題の解決

少し前に、次の状況に気が付きました: Windows 10 Pro 64-Bit ( 10.0, Build 18362 ) で、 Task Manager の CPU 負荷が Processes タブと Performance タブで全てのコアが常に 100% に張り付いた状態になる 但し、下図のように GL-Z などタスクマネージャー…

Thunderbird-68.3.1 で可能な本当のダークモードの設定方法のメモ: メッセージ本文領域にも闇を

Dark Theme を使いたい人は↑こうしたいと思って Dark Theme を選択すると思います。たいてい。なので、標準搭載されている Dark Theme は「そうじゃない…」ってなると思います。私はなりました。標準搭載の Dark Theme やアドオンマネージャーでインストール…

std::mutex vs. boost::mutex (1.71.0) vs. Windows CRITICAL_SECTION with VS2019 and Windows 10

現在の Windows 10 で Visual Studio 2019 の C++ プロジェクトので一般的に採用しやすい Mutex の各種の実装の実効速度的な優位性についてのメモです。特に結論とかべき論を展開する気はないのであくまでも参考程度に図ってみたらこういう結果になる事もあ…

Visual Studio 2019/C++: ファイル単位で設定された Configuration はどこにあるかのメモ

このメモを残した経緯 保守性の視点では使わない方がよいのですが、諸事情によりファイル単位で Configuration を施される事はしばしばあります。そして、プロジェクトの責任者が変わり、ドキュメントにも注意が残されず、ファイル単位で特殊な Configuratio…

VS2019/C++: stdafx.h stdafx.cpp または pch.h pch.cpp つまり「プリコンパイル済みヘッダー」( Precompiled Headers ) の使い方のメモ

このメモの経緯 VSのPCH(PreCompiled Headers)機能は "使うためにユーザーがする事" はもうたぶん20年以上昔から変わっていないと思うので "いまさら" なのですが、ぼちぼち使い方がおかしくてビルド時間を無駄にしているプロジェクトに関わります。そこで、…

C++/Windows: WinMain/wWinMain な Windows デスクトップ向けアプリで std::cout / std::wcout とかをコンソールに直接出したいときのメモ

Visual Studio で Windows デスクトップアプリを作る場合は WinMain / wWinMain がエントリーポイントのプロジェクトを扱うのが一般的です。コンソールアプリとして作って GLFW から画面を出したり imgui でGUIを作ったり、コンソールアプリの実行時に Win32…

Visual Studio 2019 C++: Configuration に「絵文字」を使える、というメモ

この画面写真↑には3つの構成(Configuration)が含まれています: Debug Release tmp exp hoge 絵文字/everywhere です。上手く使うと構成が多数あったり、似た構成がある場合の間違い防止効果を期待した使い方もできそうです。 全ての表示がUNICODE絵文字に…

Visual Studio 2019 C++: _DEBUG _WINDOWS _WIN32 _WIN64 _UNICODE NDEBUG WIN32 WIN64 UNICODE のメモ

シンボル 自動的に定義される?(predefined macro?) VSが新規作成で構成に追加? そもそも何? 効果ある?(*2) _DEBUG yes ( msbuild ) yes ( Debug ) デバッグビルドを意味する識別用にmsbuild がプロジェクトの Configuration -> Advanced -> Use Debug Li…

symlink と Property Sheet で Visual Studio の C++ プロジェクトの構成を整理するメモ

Windows向けアプリの比較的古いプロジェクトを扱う事になると「構成」がカオスで整理したくなる事がしばしばあります。または、これから新しく作るプロジェクトについて、構成が複雑になりそうな場合の参考にもなるかもしれないので、その整理方法についてメ…

私は Google PIXEL4 から USB-C ポートを介して画面出力を得ようと思ったのです

ふぁっきゅーぐっぐー。できない?なぜ? たいていの一般人はおそらく、大きな画面やたくさんの画面への出力機能に埋もれて、そうしてようやくまともな生産性を得る機会が得られると考えていると思います。私もその一人です。 私は Goole PIXEL4 を発売日の…

あるマシンの GPG 鍵ペアを別のあるマシンでも使いたい場合にすること、手順のメモ。Git, GitHub, VSCode 関連のおまけ付き

さいきんは多くの作業は WSL / Ubuntu でしているのだけど、 WSL の親になってる Windows でも VSCode や Visual Studio で作業する機会が増えてきました。git のコミットだけ WSL で /mnt/c/... へ辿ってやったりすればいいのだけど、事実上同じ(だけど論…

人生ポエムの記録、ルアード化、神の認識と定義と信仰、現実世界への帰還

まえおき 今回の記事は「心の技術」かもしれないけれど、このブログでふだん書いている類の技術についてではまったく無いし、この現実世界の宗教としての神に関してでも無いし、表現はともかく私自身のこころの話であり、すなわちポエムというのが適当そうな…

.net の System.Xml.Linq の XDocument/XElement で Element/Elements メソッドの挙動が意図せず null になったり空になったり、あるいはそもそも名前空間を与えたつもりの実装で例外が飛んだりした時に思い出すため、のメモ

<A xmlns:bbbbb="http://example.com/bbbbb" xmlns="http://example.com/aaaaa" > <bbbbb:Z>z-value</bbbbb:Z> <B>b-value-0</B> <B>b-value-1</B> <B>b-value-2</B> </A> とかなんとか適当に XML があって、 System.Xml.Linq.XDocument / System.Xml.Linq.XElement の Element / Elements を使おうとした…

ProMicro が Unknown USB Device (Device Descriptor Request Failed) になってしまった!?と思ったけど問題はケーブルだった話

ぎゃー はりゃ…手元の実験用のProMicro4個あるんじゃが、全部 Unknown Device になっちゃった…。これは寝ろという神の…— デス味(デス・ウェイ)のうさぎ=ネオウサギデス // Usagi Ito (@USAGI_WRP) March 7, 2019 と、昨晩なったんだ。本当に手元の ProMic…

Metasequoia と RenderMan とカラープロファイル。 It で暗く出力されちゃって途方に暮れないための手順メモ

Metasequoia + RenderMan の連携機能で遊んだら出力画像が暗くなってしまって「なんでーー」ってなった。そうならない方法がわかったのでメモ。 問題の現象 https://twitter.com/USAGI_WRP/status/1102521345227649025 悲しい 何が起きているのか? Metasequ…

KiCad 向けオレオレ 3Dモデリング Pro Micro 編、後半。

https://github.com/usagi/usagi.kicad note: この記事で作成した KiCad 向けの ProMicro などの3Dモデルは OSS として公開しています。 昨晩の 「Pro Micro の KiCad 向け 3Dモデル を作ってみるはなし。 Metasequoia の画像計測を使ったり 3DCG 方面の人っ…

Pro Micro の KiCad 向け 3Dモデル を作ってみるはなし。 Metasequoia の画像計測を使ったり 3DCG 方面の人っぽいアプローチでやってみるよ💁

自分で作ったものを自分で使いたいお気持ちのホビーとして作ってみました。 先ず、ノギスで主要な図りやすい部分の長さを測って記録して…、それから、今回は表面に箱をたくさん生やす必用がある上にノギスでは図りにくい極小部品もあるので画像計測すること…

はじめての KiCad の 3Dモデル 作成メモ

さいきんは Fusion 360 で作る話が一般的なようだけど、私は Metasequoia に慣れているので、 Fusion 360 で作るより速いかなーって思い Metasequoia で作ってみた。 Metasequoia は VRML-1.0 を吐けるのでモデリングから KiCad で必用なフォーマットでの出…

C# こわい話: LINQ でパスのサニタイズしたくらいでテストが通らないなんてそんな事が

起きた 現象 public static class x { public static string f( string input ) { var targets = Path.GetInvalidFileNameChars(); var intermediate = from c in input where !targets.Contains( c ) select c; var result = string.Concat( intermediate )…

ラヴ・クロイガメンの処方箋: Chrome の DARK READER の動作モードの切り替えと良い感じの闇ぐあいについて

概要 いぜん、 Qiita に 「白い画面恐怖症患者のためのChrome系ウェブブラウザーの処方箋」なる文字列を投稿していました。今回はその続編というかおまけ。 現在の DARK READER は動作モードを4つの切り替えから選択できるようになりました。 Filter Filter+…

KiCad 初見プレイ完結編。最初の練習用 PCB の完成まで

(※前回の続編です。前回 「自作キーボード界隈で賑わうそのハッシュタグの謎をあきらかにすべく我々は KiCad の入り口へ向かった」) 現在の状態 KiCad で練習用に簡単な回路を eeschema と pcbnew で設計 eeschema 完成したつもり pcbnew 部品配置、配…

自作キーボード界隈で賑わうそのハッシュタグの謎をあきらかにすべく我々は KiCad の入り口へ向かった

(※今回の記事は技術冒険譚の第0話、主人公の手記みたいなものです。ただの KiCad 初見プレイメモにつき、正しい解説や知識をお求めなのにこのページへ導かれてしまわれた不幸な方はそのままそっ閉じされる事をおすすめします。) 自作キーボード界隈の賑わ…

UE4 の Material における Sampler の Sampler Type の Color と Linear Color の違い、対応する Texture と使い所について

Quiz: どんな描画結果が得られるでしょう? ↓のX軸方向にR値が 0 から 255 へ線形に変化するだけの 8 bit/channel の PNG 画像を UE4 へテクスチャーとしてインポートし、 マテリアルを作成して↓のノードを組み2値化を実装した サンプラーノードの Parameter…

Windows 10 で 64GB 以上の USB マスストレージデバイスを FAT または FAT32 でフォーマットしたい時のメモ

状況 メインボードの BIOS アップデートに USB マスストレージデバイスを使おうと思ったら FAT または FAT32 じゃないと認識してくれないとかそういう状況がたまによくある。 Windows 10 で 64 GB 以上の USB マスストレージデバイスは exFAT または NFTS で…