はてなブックマークアプリ

サクサク読めて、
アプリ限定の機能も多数!

アプリで開く

はてなブックマーク

  • はてなブックマークって?
  • アプリ・拡張の紹介
  • ユーザー登録
  • ログイン
  • Hatena

はてなブックマーク

トップへ戻る

  • 総合
    • 人気
    • 新着
    • IT
    • 最新ガジェット
    • 自然科学
    • 経済・金融
    • おもしろ
    • マンガ
    • ゲーム
    • はてなブログ(総合)
  • 一般
    • 人気
    • 新着
    • 社会ニュース
    • 地域
    • 国際
    • 天気
    • グルメ
    • 映画・音楽
    • スポーツ
    • はてな匿名ダイアリー
    • はてなブログ(一般)
  • 世の中
    • 人気
    • 新着
    • 新型コロナウイルス
    • 働き方
    • 生き方
    • 地域
    • 医療・ヘルス
    • 教育
    • はてな匿名ダイアリー
    • はてなブログ(世の中)
  • 政治と経済
    • 人気
    • 新着
    • 政治
    • 経済・金融
    • 企業
    • 仕事・就職
    • マーケット
    • 国際
    • はてなブログ(政治と経済)
  • 暮らし
    • 人気
    • 新着
    • カルチャー・ライフスタイル
    • ファッション
    • 運動・エクササイズ
    • 結婚・子育て
    • 住まい
    • グルメ
    • 相続
    • はてなブログ(暮らし)
    • 掃除・整理整頓
    • 雑貨
    • 買ってよかったもの
    • 旅行
    • アウトドア
    • 趣味
  • 学び
    • 人気
    • 新着
    • 人文科学
    • 社会科学
    • 自然科学
    • 語学
    • ビジネス・経営学
    • デザイン
    • 法律
    • 本・書評
    • 将棋・囲碁
    • はてなブログ(学び)
  • テクノロジー
    • 人気
    • 新着
    • IT
    • セキュリティ技術
    • はてなブログ(テクノロジー)
    • AI・機械学習
    • プログラミング
    • エンジニア
  • おもしろ
    • 人気
    • 新着
    • まとめ
    • ネタ
    • おもしろ
    • これはすごい
    • かわいい
    • 雑学
    • 癒やし
    • はてなブログ(おもしろ)
  • エンタメ
    • 人気
    • 新着
    • スポーツ
    • 映画
    • 音楽
    • アイドル
    • 芸能
    • お笑い
    • サッカー
    • 話題の動画
    • はてなブログ(エンタメ)
  • アニメとゲーム
    • 人気
    • 新着
    • マンガ
    • Webマンガ
    • ゲーム
    • 任天堂
    • PlayStation
    • アニメ
    • バーチャルYouTuber
    • オタクカルチャー
    • はてなブログ(アニメとゲーム)
    • はてなブログ(ゲーム)
  • おすすめ

    WWDC25

『qiita.com』

  • 人気
  • 新着
  • すべて
  • strlen() の深淵 - Qiita

    230 users

    qiita.com/i_saint

    あらまし strlen() という関数がある。御存知の通り、文字列の長さを算出する標準 C ライブラリの関数だ。 やってることは単純で、例えば以下のように実装できる。 size_t strlen_simple(const char* str) { const char* p = str; while (*p) ++p; return size_t(p - str); } '\0' が見つかるまでポインタを進め、初期位置との差分を返すだけだ。これで機能的には std::strlen() と同等である。 では、速度的にはどうだろう?適当にベンチマークを書いて MSVC 2022 でコンパイル&実行するとこうなった。

    • テクノロジー
    • 2023/08/06 19:48
    • アルゴリズム
    • プログラミング
    • C++
    • C
    • あとで読む
    • C言語
    • algorithm
    • qiita
    • programming
    • SIMD
    • std::vector をがんばって高速に resize する - Qiita

      4 users

      qiita.com/i_saint

      あらまし プロファイラとにらめっこしながら気合を入れて最適化していくと、最終的に上位に std::vector<char>::resize() が残った、という経験が度々ある。 該当ケースは大抵 std::vector<char> を一時バッファとして利用しており、頻繁に resize() が呼ばれ、サイズは数十~数百 MB 規模に及ぶ、といった感じである。std::vector の resize() は新規に追加される要素に対してはコンストラクタを呼ぶが、組み込み型の場合はゼロクリアがなされる。大きなメモリ領域へのゼロクリアは重い処理であるため、プロファイル上位に残ることになるのだが、一時バッファは基本的にゼロクリアは不要であり、純粋に時間の無駄である。この無駄をなんとかしたい。 根本的な話として、こういう状況では std::vector<char> は使うべきではないと思う。mallo

      • テクノロジー
      • 2021/08/24 12:43
      • C++
      • Windows の 3 種類のスクリーンキャプチャ API を検証する - Qiita

        22 users

        qiita.com/i_saint

        Screen Capture API 現在 Windows には画面をキャプチャする方法が 3 通りくらい用意されている。一番速いのはどれなのか?それぞれ検証してみたい。(他にも非公開の API があるらしいが、ここでは触れない) なお、記事中のソースは説明のため色々省いている。一通り動作するものはこちら。 https://github.com/i-saint/ScreenCaptureTest GDI 石器時代の API だが、今でも機能するしお手軽。 注意すべき点として、GetSystemMetrics() や GetWindowRect() を使う場合、Visual Studio 上のプロジェクトの設定、"Manifest Tool" にある "DPI Awareness" を "Per Monitor High DPI Aware" に設定しておくべきである。これを怠ると、該当 A

        • テクノロジー
        • 2021/01/20 00:06
        • Windows
        • api
        • メモ
        • C++
        • Raw Input API を使う - Qiita

          3 users

          qiita.com/i_saint

          目的 マウスやキーの入力を記録したい。 背景 昔はこういう目的には SetWindowsHookEx() を使うのが勧められていたように思う。この API は非常に強力で、既存のプロセスに自作の dll を潜り込ませてウィンドウメッセージ hook 用のコールバックを呼ばせることができ、これで全てのウィンドウに送られてくる WM_MOUSEMOVE を監視、といったことができる。 しかしこの API、強力すぎて悪用されまくったそうで、Vista 以降使用が厳しく制限されている。管理者権限、UI Access、デジタル証明など、ありとあらゆる権限を付与しないと機能しなくなっており、もう事実上使えなくなったと言っていい。 (既存プロセスに自作 dll を潜り込ませたい場合、CreateRemoteThread() が今でも使える。未だにこの API が野放しなのは驚きだが、既存の色んな便利ツー

          • テクノロジー
          • 2021/01/15 17:34
          • プログラム
          • Windows

          このページはまだ
          ブックマークされていません

          このページを最初にブックマークしてみませんか?

          『qiita.com』の新着エントリーを見る

          キーボードショートカット一覧

          j次のブックマーク

          k前のブックマーク

          lあとで読む

          eコメント一覧を開く

          oページを開く

          はてなブックマーク

          • 総合
          • 一般
          • 世の中
          • 政治と経済
          • 暮らし
          • 学び
          • テクノロジー
          • エンタメ
          • アニメとゲーム
          • おもしろ
          • アプリ・拡張機能
          • 開発ブログ
          • ヘルプ
          • お問い合わせ
          • ガイドライン
          • 利用規約
          • プライバシーポリシー
          • 利用者情報の外部送信について
          • ガイドライン
          • 利用規約
          • プライバシーポリシー
          • 利用者情報の外部送信について

          公式Twitter

          • 公式アカウント
          • ホットエントリー

          はてなのサービス

          • はてなブログ
          • はてなブログPro
          • 人力検索はてな
          • はてなブログ タグ
          • はてなニュース
          • ソレドコ
          • App Storeからダウンロード
          • Google Playで手に入れよう
          Copyright © 2005-2025 Hatena. All Rights Reserved.
          設定を変更しましたx