並び順

ブックマーク数

期間指定

  • から
  • まで

441 - 480 件 / 695件

新着順 人気順

cppの検索結果441 - 480 件 / 695件

  • 良いArduinoライブラリを書くためのTips集 | inajobのいろいろレビュー

    How to Write A Great Arduino Libraryから発見。画像もここから転載。 Arduinoのプログラムを書いたことはありますか? ではライブラリはどうでしょう? マイナーなセンサーモジュールや、自分独自のモジュールのためにArduino用のライブラリを作るというのは良い試みです。 しかし、このライブラリ、如何様にでもかけてしまうがために、その設計や細かい使い勝手をどのように作りこむかを悩んでしまいます。 そんな悩みに答えてくれるのがこの記事です。 Arduino向けの大量のモジュールとそのライブライを提供しているSpackfunの経験知を凝縮したTips集となっています。 ボーレートは115200が良い、とかString型をむやみに使わない、ユーザが利用するコードがトリッキーに見えないようにする、などArduinoのライブラリを書く際に気を付ける点が簡潔にまとめ

      良いArduinoライブラリを書くためのTips集 | inajobのいろいろレビュー
    • GitHub - changkun/modern-cpp-tutorial: 📚 Modern C++ Tutorial: C++11/14/17/20 On the Fly | https://changkun.de/modern-cpp/

      You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

        GitHub - changkun/modern-cpp-tutorial: 📚 Modern C++ Tutorial: C++11/14/17/20 On the Fly | https://changkun.de/modern-cpp/
      • 【連載】Windows 10で始めるC言語開発

        Windows 10でC言語開発をしよう! Windows APIで行く【Microsoft C/C++】(2)

          【連載】Windows 10で始めるC言語開発
        • devill.tamachan / binaryeditorbz · GitLab

          Automatically exported from code.google.com/p/binaryeditorbz

            devill.tamachan / binaryeditorbz · GitLab
          • 【トレンド】C++が急上昇!変化し続けるプログラミング言語シェア

            C++が急上昇し、プログラミング言語のトレンドや需要に関心のあるエンジニアにとって注目すべき情報となりました。 TIOBE Indexによると、C++はCとPythonに次ぐ3位の人気言語となっています。 詳細は以下の通りです。 C++が急上昇し、プログラミング言語のトレンドや需要に関心のあるエンジニアにとって注目すべき情報となりました。 TIOBE Indexによると、C++はCとPythonに次ぐ3位の人気言語となっています。 C++の人気が上昇中 C++は現在、TIOBE Indexの順位でCとPythonに次ぐ3位となっています。 C++の人気はまだ上昇中であり、次のターゲットはC言語とされています。 プログラミング言語の人気トップ10は、Python、C、C++、Java、C#、JavaScript、Visual Basic、SQL、PHP、MATLABです。 C++の年間変化率

              【トレンド】C++が急上昇!変化し続けるプログラミング言語シェア
            • Blog: LLVM's 'RFC: C++ Buffer Hardening' at Google

              In this blog post, we're sharing how we evaluated LLVM's proposed approach at Google, outlining our initial conclusions from this process, sharing useful adoption tips, and pointing to the next steps we plan to take on this journey.

                Blog: LLVM's 'RFC: C++ Buffer Hardening' at Google
              • Making Win32 APIs More Accessible to More Languages

                Introduction Win32 APIs provide powerful functionality that let you get the most out of Windows in your applications. While these APIs are readily accessible to C and C++ developers, other languages like C# and Rust require wrappers or bindings in order to access these APIs. In C#, this is commonly known as platform invoking or P/Invoke. Historically this has required developers to handcraft the w

                  Making Win32 APIs More Accessible to More Languages
                • ソースコードを静的解析するオープンソースのSourcetrailで効率よく解析 | tracpath:Works

                  はじめに sourcetrailはソースの内部依存関係をグラフ等で可視化できる、オープンソースソフトウェアです。ビジュアルグラフなどを使った分かりやすい表示ができるのが特徴で、もともと商用ソフトウェアとして販売されていましたが、2019年にオープンソース化されました。今回は、sourcetrailの導入や運用方法についてのアドバイス等を説明したいと思います。 レッスン1.sourcetrailでできること まずは、sourcetrailとは何なのか、何ができるのかを学びましょう。 対応言語:C/C++、Java、Python 対応OS:Windows、Mac、Linux sourcetrail公式サイトhttps://www.sourcetrail.com/ sourcetrailでできる主な機能は以下です。 依存関係グラフ、ツリーの出力 グラフに相当するコードの表示 コードから関係するグ

                    ソースコードを静的解析するオープンソースのSourcetrailで効率よく解析 | tracpath:Works
                  • Pointer compression in Oilpan · V8

                    Show navigation It is absolutely idiotic to have 64-bit pointers when I compile a program that uses less than 4 gigabytes of RAM. When such pointer values appear inside a struct, they not only waste half the memory, they effectively throw away half of the cache. – Donald Knuth (2008) Truer words have (almost) never been spoken. We also see CPU vendors not actually shipping 64-bit CPUs and Android

                    • CXX — safe interop between Rust and C++

                      CXX — safe interop between Rust and C++ This library provides a safe mechanism for calling C++ code from Rust and Rust code from C++. It carves out a regime of commonality where Rust and C++ are semantically very similar and guides the programmer to express their language boundary effectively within this regime. CXX fills in the low level stuff so that you get a safe binding, preventing the pitfal

                        CXX — safe interop between Rust and C++
                      • C++ / Boostの新たな非営利団体The C++ Alliance - Faith and Brave - C++で遊ぼう

                        The Future of Boost (From Vinnie Falco) (2023-05-08 15:46:03) - Boost developers' mailing list Boost C++ Librariesのコンサルティング会社BoostProがなくなって以来、Boostはリーダー不在でふわふわした状態でした。 Boost.Beast作者のVinnie Falco氏が創設した新しい非営利団体The C++ Allianceでは、Boostを復権させるようBoostの基礎部分を刷新し、C++全般を支援していくことを主な目的としています。 この団体では、Boost.Asio作者のChristopher Kohlhoff氏を雇用し、フルタイムでオープンソース活動をできるようにしています。ほかにもスタッフエンジニアとして、Boostのリリースマネージャを長く続けているMars

                          C++ / Boostの新たな非営利団体The C++ Alliance - Faith and Brave - C++で遊ぼう
                        • Circle C++ with Memory Safety

                          If you are not redirected automatically, follow this link to example.

                          • ソフトウェアエンジニアの技術面接で実際に出たC++質問集 - EurekaMoments

                            独習C++ 新版 作者:高橋 航平翔泳社Amazon 目的 自分のように自律移動システムを開発するエンジニアの採用プロセスでは、 C++の知識がどれだけあるかを問われる技術面接が必ずあると思います。 今まで何度か実際に面接を受けたことがありますが、いざ聞かれて答えようと すると(しかも英語で)、自分がC++の事を全然理解出来ていないということを 思い知らされました。 今後また同じ質問をされたときはちゃんと答えられるように、これまでに 問われた質問の内容と、その模範解答をまとめておこうと思います。 目次 目的 目次 質問集 C++とPythonの違い クラス/構造体/共用体の違い ポインタ渡しと参照渡しの違い 値渡し (Pass by Value) ポインタ渡し (Pass by Pointer) 参照渡し (Pass by Reference) constの使い方 メモリの扱い方 real

                              ソフトウェアエンジニアの技術面接で実際に出たC++質問集 - EurekaMoments
                            • C++ のムーブを理解する

                              はじめに 本記事では C++ のムーブの解説を試みます。 C++ プログラマーにとって、ムーブは今では必修科目となっているにもかかわらず、いざ勉強しようとするとムーブ・セマンティクスだとか右辺値参照だとか所有権だとか、初めて見る用語のオンパレードで怖気づいてしまう方も少なくないのではないかと想像します。 私もそうでした。 この記事では、まずはそういった難しいことは脇に置いておいて、考え方をざっと理解いただくことを目指しました。 過去 10 年間以上にわたって多くの方々が取り組まれたテーマで今さらという感じがしますが、さまざまな解説記事があってもよいでしょう。

                                C++ のムーブを理解する
                              • Cygwin, MSYS, MSYS2, MinGW, mingw-w64, WSL, WSL2 の違い.md

                                Cygwin, MSYS, MSYS2, MinGW, mingw-w64, WSL, WSL2 の違い.md Cygwin, MSYS, MSYS2, MinGW, mingw-w64, WSL, WSL2 の違い 名称 役割 説明 MinGW コンパイラ Windows 用の GNU ツールチェーン。 とにかく Windows 用の gcc や GNU ld。 "Windows 用" とは、Windows 上で動作したり、Windows 用のアプリが作れたりすること。 要するに Visual C++ や Clang/LLVM みたいなもの。 mingw-w64 コンパイラ MinGW のフォーク。Win64 向けの改良が加わっており、2021 年現在の主流。 Cygwin POSIX 環境 Windows 用の POSIX 環境。cygwin1.dll とリンクすると POSIX 環境

                                  Cygwin, MSYS, MSYS2, MinGW, mingw-w64, WSL, WSL2 の違い.md
                                • GCCに27958段ネストした関数を食わせると死ぬ

                                  TL;DR f(f(f(f(1))))のように関数をネストして呼び出す時、27958段以上ネストするとGCCが死ぬので気を付けましょう。 はじめに 最近のコンパイラは、関数のインライン展開をやってくれます。例えば

                                    GCCに27958段ネストした関数を食わせると死ぬ
                                  • All C++20 core language features with examples

                                    Introduction The story behind this article is very simple, I wanted to learn about new C++20 language features and to have a brief summary for all of them on a single page. So, I decided to read all proposals and create this “cheat sheet” that explains and demonstrates each feature. This is not a “best practices” kind of article, it serves only demonstrational purpose. Most examples were inspired

                                    • How Bun supports V8 APIs without using V8 (part 1) | Bun Blog

                                      Bun.CookieMap is a Map-like API for getting & setting cookies. Bun's TypeScript type declarations have been rewritten to eliminate conflicts wit... Faster, more compatible node:crypto. `timeout` option in Bun.spawn. Support for `module.children` in `node:module`. Connect to PostgreSQL via un...

                                      • 「Visual Studio 2022」がついに64bit化。今夏プレビュー公開

                                          「Visual Studio 2022」がついに64bit化。今夏プレビュー公開
                                        • モダンCMake入門 - /home/tnishinaga/TechMEMO

                                          CやC++などのビルドのための仕組みを持たない言語で書かれた大規模なコードをビルドする際、とくに複数の環境でのビルドが必要な場合はCMakeなどのビルドシステムジェネレレーターとNinjaなどのビルドシステムを用います。 この記事ではそういったところで使うCMakeのモダンな書き方について紹介します。 この記事の目的 この記事を通して少しでもモダンCMakeが書ける人が増えたり、世の中のビルドで悩む人が少しでも減らせたら嬉しいです。 TL;DR モダンCMakeは難しいのでChatGPTとかLLMと相談しながら書くのがオススメ 目次 この記事の目的 TL;DR 目次 モダンCMakeとは モダンCMakeの具体例 実行バイナリtargetの追加 ライブラリターゲットの追加 ターゲット間のリンクと伝搬設定 ターゲットのinclude設定 モダンCMakeのbest practice 非推奨設

                                            モダンCMake入門 - /home/tnishinaga/TechMEMO
                                          • 前置インクリメント vs 後置インクリメント | 闇夜のC++

                                            後置インクリメントにはひと目で遅くなりそうな処理が見て取れますね。 前置インクリメントがインクリメント処理後、単純に自身の参照を返すのに対し、後置インクリメントではインクリメント前に一時オブジェクトの生成、そしてインクリメント後にはその前に生成した一時オブジェクトを値で返しています。 前置と後置では、単純にオブジェクトをコピーして返す分、普通に考えたら後置の方が遅いよね。というのが従来の認識でした。 「C++ Coding Standards -101のルール、ガイドライン、ベストプラクティス」の中でも、特に後置インクリメントの必然性が無い時は迷わず前置インクリメントを使うことが推奨されてきました。 元の値を必要としないときは前置形式の演算子を使おう __C++ Coding Standards (p50) 新たな主張 「ゲームエンジン・アーキテクチャ第二版」の中の一節を紹介します。 しか

                                            • AtCoder Library (ACL) クイックリファレンス - naoya_t@hatenablog

                                              というかチートシートを作りました。C++版APIに準拠しています。 URLはこちら:https://www.notion.so/AtCoder-Library-ACL-01a562f6c38e481e88f5a838fd78eb0e www.notion.so

                                                AtCoder Library (ACL) クイックリファレンス - naoya_t@hatenablog
                                              • vittorio romeo's website

                                                It felt wrong to not participate in the Wordle craze, and what better way of doing so than by creating a purely compile-time version of the game in C++20? I proudly present to you… Wordlexpr! (You can play Wordlexpr on Compiler Explorer.) Carry on reading to understand the magic behind it! high-level overview Wordlexpr is played entirely at compile-time as no executable is ever generated – the gam

                                                  vittorio romeo's website
                                                • K&R - 苦しんで覚えるC言語

                                                  C言語を志す人ならば、おそらく、K&Rという書籍の名前を聞いたことがあるでしょう。 K&Rとは、世界初のまともなC言語の解説書です。 この本は、C言語の開発者自身が執筆していたこともあり、業界では大ヒットとなります。 K&Rは、コンピュータ業界最大のベストセラーとも言われます。 この本は、C言語のとても細かい部分まで踏み込んで説明してあり、 当時は、C言語のマトモな規格なんてものはなかったので、 このK&Rを元にしてC言語のコンパイラが作られていたほどです。 しかし、筆者は、皆さんがK&Rを読むことはオススメしません。 というか、むしろ、読んではいけません。 1つ目の理由は、説明がわかりにくすぎることです。 この本を読むには、C言語にかなり精通していないと読めないと思います。 そもそも、書籍自体、初心者が読むことは考えられていないようです。 2つ目の理由は、サンプルプログラムの中で、ポイン

                                                    K&R - 苦しんで覚えるC言語
                                                  • ⚡️ The computers are fast, but you don't know it

                                                    04 May, 2022 Subscribe to my blog via email or RSS feed. Humans have a shit sense of measurement, especially for quantities that they can't biologically perceive. For example, you intuitively know how much more heavy a 10kg object is than a 1kg object. For such quantities, your sense of measurement can improve if you have some way to translate them into signals that the brain is familiar with. For

                                                      ⚡️ The computers are fast, but you don't know it
                                                    • GitHub - zen-browser/desktop: A calmer internet, without any gimmicks.

                                                      You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                        GitHub - zen-browser/desktop: A calmer internet, without any gimmicks.
                                                      • GitHub - google/highway: Performance-portable, length-agnostic SIMD with runtime dispatch

                                                        CPUs provide SIMD/vector instructions that apply the same operation to multiple data items. This can reduce energy usage e.g. fivefold because fewer instructions are executed. We also often see 5-10x speedups. Highway makes SIMD/vector programming practical and workable according to these guiding principles: Does what you expect: Highway is a C++ library with carefully-chosen functions that map we

                                                          GitHub - google/highway: Performance-portable, length-agnostic SIMD with runtime dispatch
                                                        • Jagger - C++ implementation of Pattern-based Japanese Morphological Analyzer

                                                          Jagger - C++ implementation of Pattern-based Japanese Morphological Analyzer About Jagger is a fast, accurate, and space-efficient morphological analyzer [1] inspired by the dictionary-based longest matching for tokenization and the precomputation of machine-learning classifiers. Jagger applies patterns, which are extracted from morphological dictionaries and training data, to input from the begin

                                                          • Microsoft、「Visual Studio 2022」Mac版をプレビュー公開/ネイティブUI化で早く、美しく、使いやすく。安定性も向上

                                                              Microsoft、「Visual Studio 2022」Mac版をプレビュー公開/ネイティブUI化で早く、美しく、使いやすく。安定性も向上
                                                            • 【C++】テキストエディタのバッファ データ構造・アルゴリズム【第3回】 | TECH PROjin

                                                              目次 gap_buffer<char> gap_buffer<char> 前章でも言及したように、テキストエディタにおいてはテキストの参照・編集箇所は局所化されている。 この性質を利用し、vector を高速化したものが gap_buffer (ギャップバッファ、gap vector とも呼ばれる)だ。 vector と gap_buffer のデータ構造の違いは少なく、前者がアロケートしたデータ領域の後ろに未使用部分があるのに対して、 後者はデータ領域の途中に未使用部分があるという点だけだ(下図参照)。 この未使用部分を「ギャップ」と呼び、常に編集位置に設定される。 このようにデータ構造を少し変えただけで、なぜ高速化されるのか不思議に思われる方も少なくないだろうが、 高速になる理由は、挿入・削除時に何が起こるかを見てみると納得していただけるはずだ。 編集位置に ‘a’, ‘b’ が挿入さ

                                                              • 多相からプログラミング言語を見る - 趣味はデバッグ……

                                                                こんにちは。ホビー型システミストの岡本です。 最近 C++ の習得をしていて、なんとなく多相(polymorphism)の視点からいくつかのプログラミング言語をまとめてみようという気になったので書いてみます。 部分型多相(subtype polymorphism) クラスベースオブジェクト指向言語でよく使うのは部分型多相ですかね。 Java や C#・C++ にある、名称的部分型多相(nominal subtype polymorphism)はこんな感じ。次の例は Java です。 class A {} class B extends A {} public class Main { public static void main(string[] args) { A foo = new B(); } } 変数 foo は A 型だけど、型(クラス)B は A の部分型(サブクラス・派生ク

                                                                  多相からプログラミング言語を見る - 趣味はデバッグ……
                                                                • Now announcing: Makefile support in Visual Studio Code! - C++ Team Blog

                                                                  Dev BlogsC++ Team BlogNow announcing: Makefile support in Visual Studio Code! We are excited to announce a brand-new extension for building and debugging Makefile projects in Visual Studio Code: Makefile Tools (preview)! The extension is in pilot stages, but we’ve curated a list of over 70 popular opensource Makefile projects that work with Makefile Tools. Give it a try and let us know what you th

                                                                    Now announcing: Makefile support in Visual Studio Code! - C++ Team Blog
                                                                  • Building the Rust compiler with GCC

                                                                    Bootstrapping Rust with GCC If you know one thing about me, it is that I love working on the Rust compiler. Some people kayak, travel or play guitar - and I stare at assembly, trying to figure out what I broke. This summer, I am taking on quite a large task: bootstrapping the Rust compiler using `cg_gcc` What does that mean? "bootstrapping" is simply a name given to the Rust compiler build process

                                                                    • CIの動的テストでclang sanitizerを使う - aptpod Tech Blog

                                                                      はじめに こんにちは、製品開発グループの落合です。主に エッジサイドミドルウェア(intdash Edge)の開発を担当しています。このintdash EdgeはC++で作成しているのですが、言語が何であろうと「面倒な事は自動化したい」ですよね。そして、特に面倒なのは「テスト」じゃないでしょうか? そんな訳で、intdash Edgeのプロジェクトで使用している「CIでの動的テスト」を紹介させて頂こうと思います。「CIでテストなんて当たり前でしょ」と言われる気もしますが、clangのsanitizerを使っている記事は意外と少ない気がするので今回記事にしてみました。 え、なんでvalgrindではなくsanitizerを使っているかですか?単純に検知できるエラーが多いのが理由です。 はじめに CIで行っているテスト 開発環境の準備 動的テスト Address Sanitizer Undef

                                                                        CIの動的テストでclang sanitizerを使う - aptpod Tech Blog
                                                                      • The V8 Sandbox · V8

                                                                        After almost three years since the initial design document and hundreds of CLs in the meantime, the V8 Sandbox — a lightweight, in-process sandbox for V8 — has now progressed to the point where it is no longer considered an experimental security feature. Starting today, the V8 Sandbox is included in Chrome's Vulnerability Reward Program (VRP). While there are still a number of issues to resolve be

                                                                        • ゲーム開発者のための C++11〜C++20 技術書典 10 Ver.

                                                                          ◆ 内容 本書は、2020 年 9 月に開催された CEDEC 2020 講演「ゲーム開発者のための C++11~C++20, 将来の C++ の展望」で取り上げた C++11~C++20 機能を解説し、説明や項目、サンプルを加筆した本です。 CEDEC ではスライドの面積の都合で include や詳細な実装が省略されていたコードも完全な形で掲載しています。 さらに付録として、2020 年 12 月時点での C++ 標準化委員会の議論の状況を反映し、C++23 に入ることが決まった / 入る見込みが高い 13 個の提案を先取りで解説しています。 ◆ 注意 本書は 2020 年 12 月の「技術書典 10」で販売された PDF 書籍・紙書籍(https://techbookfest.org/product/5738569643589632)と同一の内容です。 必要に応じて改訂やマイナーアッ

                                                                            ゲーム開発者のための C++11〜C++20 技術書典 10 Ver.
                                                                          • いつも忘れてしまうC0/C1/C2カバレッジまとめ

                                                                            カバレッジとは、検査網羅率(テストカバレージ) のことを指し、どれだけテストしたかの指標を表します。 ソフトウェアテストにおいて、カバレッジ(網羅率)を測定/分析することは、ソフトウェアの品質向上に非常に大きな意味があります。 コードのカバレッジを測定し、テストが実施されていないコード(通らないプログラム)を確認することにより、テストの妥当性を向上させることができます。 一般的には、単体テストでコードのカバレッジを測定し、テストの品質を測ります。 C++testなどの静的解析ツールも出ています。 その指標の中に、網羅率ごとのC0/C1/C2カバレッジがあります。 C0:命令網羅(ステートメント・カバレッジ) C1:分岐網羅(ブランチ・カバレッジ) C2:条件網羅(コンディション・カバレッジ) 文章にすると上記のとおりなのですが、毎回忘れてしまいがちなので、コードと照らし合わせてまとめておき

                                                                              いつも忘れてしまうC0/C1/C2カバレッジまとめ
                                                                            • GitHub - OpenNMT/CTranslate2: Fast inference engine for Transformer models

                                                                              CTranslate2 is a C++ and Python library for efficient inference with Transformer models. The project implements a custom runtime that applies many performance optimization techniques such as weights quantization, layers fusion, batch reordering, etc., to accelerate and reduce the memory usage of Transformer models on CPU and GPU. The following model types are currently supported: Encoder-decoder m

                                                                                GitHub - OpenNMT/CTranslate2: Fast inference engine for Transformer models
                                                                              • 使いたい標準C++機能がない環境でいかに実装・設計するか

                                                                                今年のアップデートで振り返るCDKセキュリティのシフトレフト/2024-cdk-security-shift-left

                                                                                  使いたい標準C++機能がない環境でいかに実装・設計するか
                                                                                • [海外動画紹介] あなたが止めるべき31の初心者っぽいC++の習慣 - Qiita

                                                                                  Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

                                                                                    [海外動画紹介] あなたが止めるべき31の初心者っぽいC++の習慣 - Qiita

                                                                                  新着記事