並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 54件

新着順 人気順

CPPの検索結果1 - 40 件 / 54件

CPPに関するエントリは54件あります。 プログラミングprogrammingc++ などが関連タグです。 人気エントリには 『『ゼロからのOS自作入門』に込めた思い - uchan note』などがあります。
  • 『ゼロからのOS自作入門』に込めた思い - uchan note

    2021 年 3 月 22 日に『ゼロからの OS 自作入門』を出版する予定です。 本書は OS を手作りする本で、現代のパソコンでちゃんと起動する点が特長です。 15 年前の 2006 年に出版された『30 日でできる!OS 自作入門』を読んで育った私(uchan)が その後継となるだろう本を書いたということで、執筆の裏話を記してみたいなと思います。 書籍の概要 タイトル:ゼロからの OS 自作入門 著者:内田公太(uchan) 出版予定日:2021 年 3 月 22 日 ページ数:768(最大。実際はもっと少なくなる予想) ISBN:978-4-8399-7586-9 出版社の書籍ページ:ゼロからのOS自作入門 | マイナビブックス 本書は OS 作りに関する知識がないところから始め、オリジナルの OS「MikanOS」を作る一通りの過程を説明します。 パソコンの電源を入れ、他の OS

      『ゼロからのOS自作入門』に込めた思い - uchan note
    • 電子情報学特論:Chromiumのアーキテクチャを解き明かす

      電子情報学特論: Chromium のアーキテクチャを解き明かす 〜 EEIC の授業が生きるプロダクトの世界〜 Kentaro Hara 2020 April (๑>ᴗ<๑) * * * *

        電子情報学特論:Chromiumのアーキテクチャを解き明かす
      • 電子情報学特論:Chromiumのアーキテクチャを解き明かす

        電子情報学特論: Chromium のアーキテクチャを解き明かす 〜 EEIC の授業が生きるプロダクトの世界〜 Kentaro Hara 2022 April (๑>ᴗ<๑) * * * *

          電子情報学特論:Chromiumのアーキテクチャを解き明かす
        • 至高のDockerイメージ生成を求めて -2019年版- - Qiita

          この記事は@yugui氏の書いた至高のDockerイメージ生成を求めてに感謝しつつ、記事が投稿された当時には無かったさまざまな事情を組み込んで再度まとめたものである。 良いDockerイメージ 良いDockerイメージとは何だろうか。Dockerの利点は次のようなものだから、それを活かすイメージが良いものであるに違いない。 ビルドしたイメージはどこでも動く 適切にインストールされ、設定されたアプリケーションをそのままどこにでも持っていける。 コンテナ同士が干渉し合うことはないので、任意のイメージを互いに配慮することなく柔軟に配備し実行できる 必要のないサービスがコンテナ内で走っていないので、セキュリティの向上に資する イメージの転送が効率的である ベースイメージ部分は一度送ればいちいち再転送する必要がないので、ベースイメージを共有する複数のイメージを効率的に転送できる 標準のレジストリAP

            至高のDockerイメージ生成を求めて -2019年版- - Qiita
          • Amazon Prime Videoが動画再生にWebAssemblyを採用。再生デバイス上にWasm VMをデプロイ、高フレームレートなど実現

            これだけ多種多様なデバイスに対して、ログイン画面やパーソナライズされたポータル画面、動画の再生などの機能を実現するために、Amazon Prime VideoのアプリケーションはC++で開発されたJavaScript VMと、その上で動くJavaScriptアプリケーションの2つから構成されています。 そしてそれぞれが必要に応じてデバイスにダウンロードされ、実行されます。 特にJavaScriptのアプリケーション部分は実行時にダウンロードされ実行されることで、機能追加などの変更やバグフィクスが容易になっていると説明されています。 プロトタイプのWebAssembly化で10倍から25倍高速に Amazon.comがこのAmazon Prime VideoのアプリケーションにWebAssemblyの採用を検討し始めたのは2020年8月とのことです。 同社はプロトタイプとして低レイヤのJav

              Amazon Prime Videoが動画再生にWebAssemblyを採用。再生デバイス上にWasm VMをデプロイ、高フレームレートなど実現
            • C++ の学習サイトを作りました - Qiita

              はじめに C++ って他の言語に比べると勉強しづらくないですか? 書籍や学習サイトの内容が古い、または少ないんですよね。ただでさえ言語仕様が複雑なのに、それを手助けする情報も少ないと初学者には辛いんじゃないかと思います。というか僕がそうでした。 そんなわけで、もう少し今風な学習サイトを作ろうと思って作成しました。 ゼロから学ぶ C++ ちゃんとスマホでも読めるようになっています。 C++11 をベースに作っているので、このサイトももはや古い方に入るかも知れませんが、C++20 が浸透してきたらアップデートしようと思います。 よかったらご活用下さい。 ゼロから学ぶ Python(姉妹サイト) 『ゼロから学ぶ Python』というサイトも作成しています。あわせてご活用下さい。 さいごに 上記のサイトはどちらも GitHub でソースコードを管理しています。 スターを付けてもらうと励みになります

                C++ の学習サイトを作りました - Qiita
              • オブジェクト指向宗教史

                OOC 2024 の発表資料です。後のフィードバックを参考に、より妥当な文言に改訂してあります。 ※ 本コンテンツには、一部特定の宗教思想の迫害に言及する表現がございますが、そのような行いを肯定する意図の内容ではございません。

                  オブジェクト指向宗教史
                • ゲーム開発者のための C++11~C++20, 将来の C++ の展望 - CEDEC2020 - Speaker Deck

                  ゲーム開発者のための C++11~C++20, 将来の C++ の展望 【CEDEC ページ】https://cedec.cesa.or.jp/2020/session/detail/s5e8327a52702c 【解説付きの書籍版 📚】https://zenn.dev/tetsurom/books/cpp11-cpp20-for-game-developers

                    ゲーム開発者のための C++11~C++20, 将来の C++ の展望 - CEDEC2020 - Speaker Deck
                  • おっさんのためのModernC++入門ガイド(草稿) - dec9ue's diary

                    みなさんはC++の読み書きができますか? 自信がある方、いつ頃勉強しましたか?もし20世紀に勉強したのであれば、その知識は相当古いです。実質現在のModernC++(C++11以降のC++)とは概念上の互換性がないので脳のアップデートが必要です。 自信がない方、文法は知っているけどなんとなく使いこなせていない方、マサカリ屋にあーだこーだ言われて大混乱している方。必勝パターンを身につければもっと楽にコードを読み書きできるようになるかもしれません。 この文章の目的は、ModernC++におけるメンタルモデル(考え方)や必勝パターンをざっくりと導入することでみなさんが楽にModernC++を読み書きできるようなお手伝いをすることです。主要な内容としてはムーブセマンティクスと右辺値 とその次の章でだいたいA4換算で15ページくらい?ほかは正直流し読みしてもらえるような内容です。また、内容的にはその

                      おっさんのためのModernC++入門ガイド(草稿) - dec9ue's diary
                    • 電源を切っても消えないメモリとの付き合い方

                      メモリのように書けて永続化される次世代ストレージデバイスNVDIMMの扱い方を解説します これは2019年10月19日に行われる予定だった カーネル/VM探検隊@北陸 5回目(台風の影響で中止) での発表資料です サンプルコード: https://github.com/Fadis/kernelvm_20191019_samples

                        電源を切っても消えないメモリとの付き合い方
                      • Learn Modern C++

                        This site contains an original, self-contained guide to learning the fundamentals of Modern C++, intended to be the basis of a self-study course. Some Chapters depend upon material presented in earlier ones, so studying them linearly is recommended. There are also regular posts (accessible from the front page) which cover topics or areas of C++ not covered in the course. If you have any queries or

                          Learn Modern C++
                        • ルールズ・オブ・プログラミング

                          TOPICS Programming , Game , C/C++ 発行年月日 2023年08月 PRINT LENGTH 452 ISBN 978-4-8144-0041-6 原書 The Rules of Programming FORMAT Print PDF EPUB 全世界で1,000万本に迫る実売数を誇り、日本でも累計実売数100万本を突破(2023年5月時点)した大ヒットゲーム『Ghost of Tsushima (ゴースト・オブ・ツシマ) 』をはじめ、『怪盗スライ・クーパー』などで著名なゲーム制作スタジオ、Sucker Punch Productions(サッカーパンチプロダクションズ)の共同創設者であるChris Zimmermanによる、プログラミングのベストプラクティス集。 全部で21の「ルール」から成り立っており、すべてのプログラマーが知っておくべき本質的な知恵と、

                            ルールズ・オブ・プログラミング
                          • ポケットモンスター ソード/シールドにHaxeが採用されていた - terurouメモ

                            顛末 昨日、こういう感じのツイートを見かけかました。 ポケモンほどの大規模なゲームでHaxe採用されるの初めてなのではhttps://t.co/i8lCJx0NWh— neguse (@neguse) November 14, 2019 結果、このような形となりました。 これは、Haxeという高度な型システム及びマクロシステムを持つ静的型付き言語であり、マルチプラットフォームでC++, JavaScript, C#, Java, Python, PHP, Luaなどのターゲットに出力可能なプログラミング言語の現実世界での利用状況を調査するために購入されたものです pic.twitter.com/UnaZsMrH9I— てろるー (@terurou) November 16, 2019 調査結果 確かにポケモン ソード/シールドの知的財産の表記には、Haxeの記載がありました。 確かにポケモ

                              ポケットモンスター ソード/シールドにHaxeが採用されていた - terurouメモ
                            • 最近またLinux用の日本語IMEを作っている - tokuhirom's blog

                              最近またLinux用の日本語IMEを作っている 本件は mozc の ut がどうこうとかは関係なくて、ふと linux desktop を使おうと昨年末に思いまして、昨年末からちまちまやってます https://github.com/tokuhirom/akaza かな漢字変換って作るの難しいのかなぁ、と思ったので作ってみている。これはまさに Just for Fun でやっている。 わりと普通に自分で常用してる分には困らないかな、というところまできている。 以下は、思ってることの垂れ流しという感じで、まとまってないですが。 「日本語入力を支える技術」という本が 2018年に出ていて、この本の内容を読めば、だいたいエンジン部分は実装できる。Amazon のレビューではこの本よんでも実装できないって書いてあるけど、変換エンジン自体は実装できます。 UI が辛い。けど。 エンジンは、ビタビア

                              • Nintendo Switch™ ネイティブバイナリへの Go コンパイルを成功させた話

                                本記事は「Go Advent Calender」25 日目の投稿です。 Happy Holidays! EDIT (2022-01-03): There is an English version of this article. tl;dr いままでは Go プログラムを Nintendo Switch 上で動かすために WebAssembly に一度変換し、それを C++ に変換してコンパイルするということを行ってきました。今回、 Go の Nintendo Switch 向けネイティブコンパイルに成功し、実際に手元でゲームを動かすことができました。手法として、システムコール呼び出しを C の関数呼び出しに置き換えるように -overlay オプションを指定してビルドしました。また、 -overlay オプションに指定する JSON を生成するパッケージ Hitsumabushi を開

                                  Nintendo Switch™ ネイティブバイナリへの Go コンパイルを成功させた話
                                • オープン化が進むC++の現状と展望

                                  AWS Application Composerで始める、 サーバーレスなデータ基盤構築 / 20240406-jawsug-hokuriku-shinkansen

                                    オープン化が進むC++の現状と展望
                                  • Learn Contemporary C++ | Concise&Visual Examples

                                    Learn up-to-date, idiomatic C++ with code examples, concise explanations, cheat sheets and infographics. -- Lerne aktuelles, idiomatisches C++ mit Code-Beispielen, knappen Erklärungen und Infografiken. -- 学现代的C++ // 代码示例,简洁的说明和图表

                                      Learn Contemporary C++ | Concise&Visual Examples
                                    • ZigはCMakeの代替となるか

                                      既存のプロジェクトで使用しているコンパイラを置き換えるだけで、Zigに付属しているCコンパイラを利用できる。 クロスビルドが標準で可能 上でも述べた通り、Zigは標準でクロスコンパイルが可能である。 Zig libcのTaget一覧 ❯ zig targets | jq ".libc" [ "aarch64_be-linux-gnu", "aarch64_be-linux-musl", "aarch64_be-windows-gnu", "aarch64-linux-gnu", "aarch64-linux-musl", "aarch64-windows-gnu", "aarch64-macos-none", "aarch64-macos-none", "armeb-linux-gnueabi", "armeb-linux-gnueabihf", "armeb-linux-musleabi

                                        ZigはCMakeの代替となるか
                                      • Rust言語でAndroidはより強固・安全に ~GoogleがOS開発への導入を進める/C/C++コードの完全な置き換えは非現実的だが、新規コードへの活用は不具合の予防に効果あり

                                          Rust言語でAndroidはより強固・安全に ~GoogleがOS開発への導入を進める/C/C++コードの完全な置き換えは非現実的だが、新規コードへの活用は不具合の予防に効果あり
                                        • WebAssemblyとRustが作るサーバーレスの未来

                                          注目を集めるWebAssemblyとRustそしてサーバーレスに結びつく未来を、Cloudflareのエンジニアが解説する。 JavaScriptの登場によって、Webブラウザーはスタティック(静的)なWebページを表示するだけの存在から、より動的なアプリケーションを実行するプラットフォームに進化した。そしてそれをさらに進化させるために登場したのがWebAssemblyだ。WebAssemblyは2015年にMozilla Foundationによって発表され、その後2019年12月にW3Cのレコメンデーションとして採択されたブラウザーで実行されるコードのバイナリーフォーマットの標準だ。 HTML、CSS、そしてJavaScriptに続く進化のための要素の一つとして紹介されるWebAssemblyは、動的型付けのインタープリター言語であるJavaScriptと比較してコードのサイズが小さく

                                            WebAssemblyとRustが作るサーバーレスの未来
                                          • C++ 標準ライブラリ - C++ の歩き方 | cppmap

                                            Home C++ 規格 記事 学習 ライブラリ ツール 貢献 C++ 標準ライブラリ¶ C++ の規格で定められた標準ライブラリに含まれるヘッダの一覧です。 リファレンス Web サイトは en: cppreference.com, jp: cppreference.com (日本語訳) cpprefjp: cpprefjp に対応しています。 標準ライブラリ¶ ヘッダ リファレンス 実装 バージョン

                                            • 開発イテレーション偏重 - 兼雑記

                                              開発イテレーションを早くすれば、かなりの問題が勝手に解決される、と信じています。なんか最近、他の要素を軽視しすぎていたり、特にイテレーション速度に影響しなさそうなことすらしている気がしていて、信仰とかのレベルかもしれない、という気がしてきたので、ちょっと書いてみようかなと。主に C++ の話です。 仕事とかしてると良い判断力が求められたりしますが、判断というのは結構難しいですよね。アプローチ A と B で悩んだ時に、手が速ければ両方できたりします。開発イテレーションを無限に速くすると、必要とされる判断力はゼロに漸近していきます。やったね。 2手で変更の正当性を高速に確認できるようにする make (かその他のビルドコマンド)てやったらビルドができて、 make check (かその他のテストスクリプト)てやったら遅くないテストが全部走る、という体勢が好きです。試すためにはあっちのディレク

                                                開発イテレーション偏重 - 兼雑記
                                              • ボレロ村上逝去

                                                村上原野 aka ボレロ村上, 中3女子 逝去 ボレロ村上、中3女子ことC++プログラマーで陶芸家の村上原野の訃報が流れている。それによるとどうやら、2月16日未明に、陶芸作品を製作中に倒れ、翌朝に発見されたようだ。 2月15日の21時51分のtweetに体調の変化を示唆する書き込みがある。倒れたのが16日の未明とあるので、そこから6時間後ということになる。 この書き込みから急な脳梗塞ではないかと思われる。体調の変化を感じたら病院に行くべきなのだろう。 首の後頭部の付け根がゴリゴリビキビキして頭までジンジンきてやばい — 狂える中3女子ボレロ村上/陶芸C++er (@bolero_MURAKAMI) February 15, 2020 大一報はおそらく猪風来美術館のFacebookで、これは20日に公開されたとのことだが、我々プログラマーの界隈に知られるまでに9日間を要したようだ。 岡山に

                                                • Meta(旧Facebook)が、Rustを社内の正式サポート言語に採用。サーバサイド向けとしてPython、C++、Hackに追加

                                                  Meta(旧Facebook)は、ブログ「Engineering at Meta」で公開した記事「Programming languages endorsed for server-side use at Meta」で、Rustを新たに社内の正式サポート言語に追加したことを明らかにしました。 Meta社内ではソフトウェア開発において正式にサポートする言語を慎重に選択しており、社内においてサポートされた言語に対しては十分な投資が行われ、プログラミング、デバッグ、デプロイなどにおいて良好な開発体験が期待できるとともに、新しプロジェクトが開始される場合には、サポートされている言語を選択することが推奨されています。 サーバサイド向けの言語としてこれまでPython、C++、Hackがサポートされており、今回そこにRustが追加されました。 性能重視のバックエンドサービスやCLIの開発にRustを推

                                                    Meta(旧Facebook)が、Rustを社内の正式サポート言語に採用。サーバサイド向けとしてPython、C++、Hackに追加
                                                  • 例外を初めて実装した言語 - from scratch

                                                    リクルートアドベントカレンダーの20日目の記事です。 adventar.org 最初にこの疑問を思ったのは、今も忘れない R-ISUCON 2021 というリクルートの社内ISUCONの運営で炎上していた時の話です。 ちなみに R-ISUCON 2021 は劇的な結果で終わっているので、興味のある方は見てみてください。 blog.recruit.co.jp R-ISUCON 2021 では、 Node.js (TypeScript), Go, Java の3パターンの実装が出てくることが通例になっていまして、今回は Java の実装から Node.js, Go に適用していた時に一緒に実装していたメンバーからの疑問が『例外には色々な議論があるけれど、「例外を初めて実装した言語」ってどういう気持ちで実装したんだろう』という話が挙げられたので、そのネタを持ってきました。 ちなみにここで指してい

                                                      例外を初めて実装した言語 - from scratch
                                                    • GNU Makeの使い方 / How to use GNU Make

                                                      研究室ハンズオン資料

                                                        GNU Makeの使い方 / How to use GNU Make
                                                      • GitHub - google/autocxx: Tool for safe ergonomic Rust/C++ interop driven from existing C++ headers

                                                        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 - google/autocxx: Tool for safe ergonomic Rust/C++ interop driven from existing C++ headers
                                                        • Big Sky :: C++ で flask ライクなウェブサーバ「clask」書いた。

                                                          今まで C++ でちょっとしたウェブアプリを作る際は crow という micro-framework を使ってきました。 GitHub - ipkn/crow: Crow is very fast and easy to use C++ micro web framework (inspired by Python Flask) How to Build If you just want to use crow, copy amalgamate/crow_all.h and include it. Requirements C... https://github.com/ipkn/crow ヘッダオンリーで使えてとても便利だったのですが、boost に依存している点があまり好きじゃなかったのと、最近 crow の開発が止まり最新の boost でビルド出来なくなってしまったので、自分で作

                                                            Big Sky :: C++ で flask ライクなウェブサーバ「clask」書いた。
                                                          • 競プロのための標準 C++

                                                            ◆ 内容 競技プログラミングで使える C++ の主要な標準機能のサンプル付き解説を執筆しています。C++ のバージョンは AtCoder の gcc 12.2 に準拠した C++17 / 20 / 23 です。競技プログラミング固有のハックやスタイル(<bits/stdc++.h>, 大きな配列、using namespace std 等)の使用を避けているため、一般的な C++ ソフトウェア開発でも使える、また C++ 標準ライブラリの機能 (std:: から始まる) を意識したコーディングの練習ができます。 ◆ 対象読者 ・競プロ上達のために C++ 標準ライブラリを一通り学びたい方 ・コンテストで参照できる C++ ドキュメントを探している方 ・現時点ではとくに APG4b や市販入門書で C++ を学んだ人にとって有益な内容から書き始めています。将来的にはさらに幅広い内容を扱う計画

                                                              競プロのための標準 C++
                                                            • C++マルチスレッド一巡り

                                                              C++11/14/17/20標準ライブラリで提供されるマルチスレッド関連機能について一通りの説明を行います。 読み物として通読してもらえば、最新C++20におけるマルチスレッド対応のほぼ全機能を俯瞰できます。 提供機能・利用目的別に概要説明と簡単なサンプルコードを記述しているため、必要な箇所だけを拾い読みすることもできます。 本書に関する指摘・要望はTwitterアカウント( https://twitter.com/yohhoy )までお願いします。

                                                                C++マルチスレッド一巡り
                                                              • データ型は明示しないで! Modern C++での型推論

                                                                このように、(1)(2)と「vector<int>」を2回も書かなければなりません。特に(2)では、右辺の型は分かっているんだから、左辺はそれに合わせてよ! という文句が出そうです。 初期化漏れを防止する このように、同じ意味の型を何回も書くのはかったるいな! というときに型推論は役立つわけですが、もっと切実な理由があります。それは、変数の初期化漏れの防止です。JavaでもRustでもそうなんですが、変数は宣言しっぱなしでOKです。宣言しっぱなしというのは、明確な初期化が行われていないという意味です。こうなると、その変数を参照しようとするといろいろとまずいことが起きてきます。 基本データ型とかなら、どんな値か分からない ポインタ型とかなら、どこを指しているか分からない(ダングリングポインタ) なので、実行時にプログラムが不可解な動作をしたり、いきなり落ちたりするわけです。しかし、コンパイラ

                                                                  データ型は明示しないで! Modern C++での型推論
                                                                • Rustが敗北!?C++で書かれた新時代のWebアプリケーションフレームワーク「drogon」 - Qiita

                                                                  つい昨日(日本時間では今日)、TechEmpowerが行っているWebアプリケーションのベンチマーク結果が更新されました。 なんと、Round 18ではRustのフレームワーク「actix-web」が2位以下に大差をつけて圧勝していたにも関わらず、Round 19ではさらにそれを上回るライブラリが出現しました。 その名もdrogon! 名前からして素晴らしいフレームワークの予感がしますが、Rustのactix-webとはどのような点で異なり、またどのようにしてこの速度を達成したのか気になったので調べてみました。 フルスタックのライブラリ drogonはフルスタックのWebアプリケーションフレームワークとして実装されています。つまり、(actix-webとは違い)データベースとのやり取りを行うAPIやJSON, ORM, HMRなどさまざまな機能が盛り込まれています。 一方actix-web

                                                                    Rustが敗北!?C++で書かれた新時代のWebアプリケーションフレームワーク「drogon」 - Qiita
                                                                  • GitHub - microsoft/STL: MSVC's implementation of the C++ Standard Library.

                                                                    Microsoft's C++ Standard Library This is the official repository for Microsoft's implementation of the C++ Standard Library (also known as the STL), which ships as part of the MSVC toolset and the Visual Studio IDE. Our Changelog tracks which updates to this repository appear in each VS release. Our Status Chart displays our overall progress over time. Join our Discord server. What This Repo Is Us

                                                                      GitHub - microsoft/STL: MSVC's implementation of the C++ Standard Library.
                                                                    • こわくないLLVM入門! - Qiita

                                                                      対象読者 LLVMを勉強し始めたけど何からして良いのかわからない方 アセンブリがちょっとわかる 目標 LLVMの基本的な文法がわかるようになる 環境 Mac Mojave 10.14.6 LLVM 8.0.0 clang 8.0.0 (trunk 348837) LLVMってなに...? LLVMは一言で言えば、プログラミング言語を作成する為の基盤です。プログラミング言語はコンパイラによってバイナリに変換され実行することができます。それを言い換えれば、自分が考えたプログラミング言語のコンパイラを作ることで自作プログラミング言語を作れます。 そして、コンパイラは通常フロントエンド、ミドルエンド、バックエンドに分けられ、各プロセスで様々な処理をしています。特にミドルエンド、バックエンドでは中間言語や各アーキテクチャに対するたくさんの最適化を施さなければなりません。この最適化を預けてフロントエン

                                                                        こわくないLLVM入門! - Qiita
                                                                      • Androidの開発へ「Rust」を導入、なぜなのか

                                                                        2021年4月6日(米国時間)、Googleは公式ブログでAndroidオープンソースプロジェクト(AOSP)がモバイルデバイス向けオープンソースOS「Android」の開発において、オープンソースのシステムプログラミング言語「Rust」の導入を進めていることを明らかにした。Googleは2021年2月に設立された独立非営利団体「Rust Foundation」にも加盟している。 Androidはこれまで、「C」や「C++」といったシステムプログラミング言語を用いて開発されてきた。Android開発にRustを導入した目的は、メモリ安全性のバグを予防することにある。 AOSPはこれまでもメモリ安全性のバグの検出や修正、軽減に注力してきたが、さらに予防を強化しようとしている。メモリ安全性を特徴とした言語の採用が、最も費用対効果の高い予防方法だとの認識から、Rustの導入に至った。 Andro

                                                                          Androidの開発へ「Rust」を導入、なぜなのか
                                                                        • C++ のパッケージマネージャーの選択メモ( conan vs. vcpkg vs. Hunter on Windows and Ubuntu ): C++ 実装がサブプロジェクトとして内包されるクロスプラットフォームアプリのリポジトリーの場合 - C++ ときどき ごはん、わりとてぃーぶれいく☆

                                                                          タイトルが少しややこしいので最初に整理します。 このメモは: C++ のパッケージマネージャーの選択のはなし ただし: アプリはクロスプラットフォーム ( このメモでの具体例は Windows-10 & Ubuntu-19.04 ) アプリ全体(=このメモでは「ソリューション」とします)はいくつかの構成部品(=このメモでは「プロジェクト」とします)に分けて作られる プロジェクトの1つ以上に C++ を採用したい そのプロジェクト単位で C++ のライブラリーを管理できるパッケージマネージャーを導入したい → どうするのが楽そうかな のメモです。 選択肢と大雑把な検討 conan https://conan.io/ クロスプラットフォーム対応の C++ のパッケージマネージャーが欲しいの悩みに答えてくれる定番。 CMake でごにょごにょする vcpkg https://github.com

                                                                            C++ のパッケージマネージャーの選択メモ( conan vs. vcpkg vs. Hunter on Windows and Ubuntu ): C++ 実装がサブプロジェクトとして内包されるクロスプラットフォームアプリのリポジトリーの場合 - C++ ときどき ごはん、わりとてぃーぶれいく☆
                                                                          • Chromiumプロジェクト、重大度の高いセキュリティバグの約70%がメモリに由来すると発表 | スラド セキュリティ

                                                                            Anonymous Coward曰く、 Chromiumプロジェクトは今週、重大度の高いセキュリティバグの約70%は、メモリの安全性に関する問題(ポインタの誤り)に由来すると発表した。これはGoogleのエンジニアが2015年以降の912の重大度の高い、もしくは重大なセキュリティバグを分析した結果から導き出させたものだという。これはユーザーのセキュリティを危険にさらすだけでなく、Chromeの修正と出荷においてコストを増大させているとしている。 同様の問題はMicrosoftも指摘している。2019年2月のセキュリティ会議で講演したMicrosoftのエンジニアは過去12年間、Microsoft製品のすべてのセキュリティアップデートの約70%がメモリの安全性が原因だったと指摘している。端的に言えば、コードベースで2つの主要なプログラミング言語であるCとC++は「安全でない」言語であるという

                                                                            • 「彼氏と別れました。理由は、私が義両親を養わなければ…」から始まる一連のツイートが家庭の話かと思ったらC++プログラマしか笑えないネタだった

                                                                              めぐぷにゅ 󠁀󠁍󠁍󠁥󠁧󠁐󠁵󠁮󠁹󠁵 @MegPunyu そのため、私たちが結婚すると多重継承に伴うメソッド名の衝突が生じ、コンパイルエラーで両家共々滅亡してしまいます。店名に元祖または本家を付けることを提案しましたが、そのような事をするなら廃業する方がマシと言われてしまいました。しかし、こんな状況でも解決は可能です。そう、C++ ならね。 2023-02-05 07:09:25 リンク Wikipedia C++ C++(シープラスプラス)は、汎用プログラミング言語のひとつである。派生元であるC言語の機能や特徴を継承しつつ、表現力と効率性の向上のために、手続き型プログラミング・データ抽象・オブジェクト指向プログラミング・ジェネリックプログラミングといった複数のプログラミングパラダイムが組み合わされている。C言語のようにハードウェアを直接扱うような下位層向けの低水準言語とし

                                                                                「彼氏と別れました。理由は、私が義両親を養わなければ…」から始まる一連のツイートが家庭の話かと思ったらC++プログラマしか笑えないネタだった
                                                                              • 村上原野(ボレロ村上)の思い出

                                                                                村上原野(ボレロ村上)の思い出を色褪せないうちに書いておこうと思う。 村上原野の父親であり師匠であった猪風来は縄文土器による芸術家である。縄文土器の制作方法を復元した人物だ。 猪風来プロフィール | 美術館の紹介 | 猪風来美術館 縄文土器は窯を使わずに野焼きで焼き上げる。野焼きで窯ほど燃焼温度が上がらないので、低温でも焼き上がるような粘土を使わなければならない。その製法は再発見され、村上原野が縄文土器作成を学ぶ頃には、一通り完成していた。製法を復元した上で、その製法を使って芸術品を作るというのだ。 聞いた話では、猪風来は極めて形から入る芸術肌の人間で、縄文人の心を理解するために、北海道に竪穴式住居をこしらえて家族で住んでいた。つまり、村上原野の父親と母親と本人は中学生か高校生ぐらいまで北海道の竪穴式住居に住んでいたのだ。 竪穴式住居とは歴史の教科書にも出てくる様式の原始的な家だ。地面を掘

                                                                                • C++でジョブシステムを作ってみる(2)

                                                                                  はじめに この記事ではC++でジョブを並列に実行するためのジョブシステムを実装していきます。 前回 は下記のステップ1まで実装しました。 ジョブを並列実行する機能 ジョブ間の依存関係を設定する機能 大きなジョブを分割して並列化する機能 前回の記事はこちら ↓ 今回はステップ2とステップ3を実装してみます。前回と同様、この記事の全てのコードはパブリックドメインとします。 2. ジョブ間の依存関係を設定する機能 ステップ2ではジョブ間の依存関係を設定する機能を実装します。 例えば、ゲームエンジンであれば、物理演算をしている途中でレンダリングを始めてはいけません。また、スケルタルアニメーションを計算している途中にコリジョン判定をしてはいけません。このような場合には、ジョブ間に依存関係を設定する機能が必要になります。 今回の実装では、下のようにハンドルを介してジョブ間の依存関係を表現することにしま

                                                                                    C++でジョブシステムを作ってみる(2)

                                                                                  新着記事