- 運営しているクリエイター
記事一覧
クリティカルセクション
マルチスレッドでの並行処理を書いているとき、共有リソース(主には共有変数)を同時に書きかえないよう排他アクセスする必要がある。
排他制御を実現するためにコンピューター・サイエンスではセマフォやミューテックスを使う、と習う。 Windows ではこれらより軽量なクリティカルセクション(CRITICAL_SECTION)オブジェクトが使える。
プロセスやセッションをまたいだ排他制御が不要──つまりプ
終了ステータスコード
定義プログラムがどのように終了したかを示すコード。
C プログラムの main 関数が return で戻す整数値。
main の戻り型は int のため「符号つき」におもえるけれど、 POSIX で定められている有効な値の範囲は 0 から 255 までの整数(符号なし)。
値の使いかたには「これ!」という決定的な文書は存在しない?(ご存じのかた、いらっしゃったら教えてください)
意味プログラ
コンテナ内の要素を定数倍する(C++)
std::vector に格納した要素を、一律定数倍するのってどう書けばよいのだったっけ?
すぐにおもいだせず悔しかったのでメモを残す。いわゆる map 関数をつかうというのが答えでした。(C++ なので map した結果を直接コンテナに書き戻せる)
日本語をふくむ URL を urlencode 状態でクリップボードにコピーする(macOS)
Wikipedia (日本語)のページリンクをツイートにのせるとき、(⌘L で)アドレスバーに移って(⌘C で)コピーすると日本語がデコードされた状態でクリップボードに入ってしまう。
見た目にわかりやすいのでありがたい。
しかし Twitter クライアントは日本語を URL とは認識してくれないため、ただしいリンクにならずに困ってしまう。
これを解決するために Automator とキーボー
システムインストール済みの Windows SDK バージョンの確認
Explorer で以下を覗くと、どのバージョンがインストールされているか確認できる。
64bit システム%PROGRAMFILES(x86)%\Windows Kits\10\Include
32bit システム%PROGRAMFILES%\Windows Kits\10\Include
いいコードを書くための戦
む? Gist リンクが動かない?(下には gist の URL https://gist.github.com/ryohji/c4ea6fe1c4958eb75fa794aaa43cb669 を貼ったのだけれど)
どうでもいい人にはどうだっていい話。
ぼくは「いいコード」が書きたい。
いいコードとはなにか。
とことん突きつめていきたい。とにかく磨いていたい。
Bazel で指定する Google Test アーカイブ
ユニットテストをしたいな、と考えて数年前にお世話になった Google Test をおもいだす。
(10年くらい前のような気がする。まだメインの開発環境として Visual Studio を使っていたころ)
(スタティックリンクライブラリーをビルドして、それをプロジェクトでリンクして…… とか、そんなことをしていた)
さて、時は流れてもう令和も3年。(もうすぐ4年だ)
Google Test は