並び順

ブックマーク数

期間指定

  • から
  • まで

281 - 320 件 / 1740件

新着順 人気順

C++の検索結果281 - 320 件 / 1740件

  • 大学の C++ 講義で使っているオンラインコンパイラ

    C++ Advent Calendar 2023, 9 日目の記事です。 学校で C++ を教える場合、受講者に最初から Visual Studio Code や、Visual Studio, Xcode などの統合開発環境をインストールしてもらうのは難しいことがあります。 とくにプログラミングが初めての学生、パソコンに不慣れな学生が多い場合は、なるべく環境構築に時間をかけず、スムーズに C++ プログラミングの学習に入れるよう、講義の序盤ではオンラインコンパイラの使用が選択肢として有効です。 本記事では、筆者が実際に大学の C++ 講義で使った 3 つのオンラインコンパイラを、講義での活用の観点から紹介します。 Simple C++ Editor Simple C++ Editor は、Wandbox をバックエンドとしたオンライン C++ コンパイラです。初心者がよく起こすエラーや警告

      大学の C++ 講義で使っているオンラインコンパイラ
    • 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.
      • SpaceX開発のロケット「Falcon 9」はLinuxとC++で宇宙へ飛び立っている

        by Official SpaceX Photos アメリカ航空宇宙局(NASA)とイーロン・マスク氏が設立した民間宇宙開発企業・SpaceXが2020年5月31日に、再利用可能なロケット「Falcon 9」を使った有人宇宙船の打ち上げに、成功しました。そんなFalcon 9のソフトウェア面について、IT系ニュースメディアのZDNetが解説しています。 From Earth to orbit with Linux and SpaceX | ZDNet https://www.zdnet.com/article/from-earth-to-orbit-with-linux-and-spacex/ ロケットや宇宙船などでは、PCやサーバーなどで使われるような最新鋭のCPUはほとんど使われていません。ロケットの開発には基本的に数年あるいは数十年という長い期間が必要となるため、開発した時は比較的新

          SpaceX開発のロケット「Falcon 9」はLinuxとC++で宇宙へ飛び立っている
        • 【インターンレポート】LINEクライアント内に見つかった脆弱性について

          LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog 初めまして。LINEの夏季インターンシップにセキュリティエンジニアとして参加した小池悠生です。1ヶ月間、アプリケーションセキュリティチームにて、LINEが提供するプロダクトのリスクアセスメントや、オープンソースプロジェクト(https://github.com/line/)のバグハントなどに取り組んでいました。 インターンが始まる前、インターン中の業務として与えられるのは主にリスクアセスメントのみだと思っていたのですが、蓋を開けてみれば自分のしたい事をほとんど自由にさせていただける非常に柔軟なインターンでした。その成果の1つとして、私がLINEクライアント内で見つけた脆弱性についてお話ししたいと思います。 以下、少し技術的な話

            【インターンレポート】LINEクライアント内に見つかった脆弱性について
          • GitHub - ggerganov/whisper.cpp: Port of OpenAI's Whisper model in C/C++

            Stable: v1.5.4 / Roadmap | F.A.Q. High-performance inference of OpenAI's Whisper automatic speech recognition (ASR) model: Plain C/C++ implementation without dependencies Apple Silicon first-class citizen - optimized via ARM NEON, Accelerate framework, Metal and Core ML AVX intrinsics support for x86 architectures VSX intrinsics support for POWER architectures Mixed F16 / F32 precision 4-bit and 5

              GitHub - ggerganov/whisper.cpp: Port of OpenAI's Whisper model in C/C++
            • 『Cコンパイラを作っています』

              ブログが長らく休止状態になっていたのですが,現在,nlccという完全独自のCコンパイラを開発しています. https://kozos.jp/nlcc/ nlの意味のひとつは「No Learn, No Listen」で,「何も見ず,聞かず,参考にせずに作る」です.まあ特別そうした確固たるポリシーがあるとかではないですが,そういうやりかたで作ってみたら面白い…というか独自性あるものになるかもと思って,そういうやりかたで作っています. なのでおそらく,実装や用語や考え方が独自になっている部分が多いと思います. 前段階として,nlshという独自シェル(見ためはtcsh互換)と,nllibcという独自の標準Cライブラリを開発していて,それらと合わせた形で「nlux」として配布しています. 一応,gcc(に含まれる,cc1相当)の代替となることを目指して開発しています. nlccやnlshは,nlli

              • プログラミングに向いていない人の特徴 – ITキャリア

                プログラミングを勉強し始めたけど、自分は向いてないんじゃ・・・どうすればプログラミングができるようになるか教えてほしい システムエンジニアがこの悩みにお答えします。 この記事を書いている僕は、独学でプログラミングを覚えて今ではWEB制作会社でシステムエンジニア兼マーケターをしています。プログラミングの適性やどうすればプログラミングができるようになるかを説明します! 僕もプログラミングの独学を始めた時に感じたのですが、プログラミングは難しいと感じるのが普通で、わからないから自分に向いてないと諦めないでください。 プログラミングに限らず、どんな分野も勉強してすぐに理解できることは少ないと思います。 わからないから向いていないと諦めずに、継続して勉強することでプログラミングは誰でもできるようになります。 僕も一般的にプログラミングに向いていないと言われるものに当てはまりましたが、今では普通にプロ

                  プログラミングに向いていない人の特徴 – ITキャリア
                • C++入門 for if などの基本からサンプル実行までを解説 | AKKODiS(アコーディス)コンサルティング株式会社

                  C++は、C言語をもとに機能を拡張した汎用プログラミング言語です。「シープラプラ」または「シープラ」と呼ばれ、手続き型プログラミングの他にオブジェクト指向プログラミングやジェネリックプログラミング、データ抽象化などの複数のプログラミングパラダイムを持っています。 C++は1983年に誕生し、度重なる標準化によって標準規格が設定され、最新規格は実用ベースではC++17、2020年3月に技術的最終決定がされた次期バージョンはC++20となります。C言語と同様にマシン語に近い低水準言語としても扱える一方で、高度なアプリケーション開発に用いる高水準言語としても使用できるため、非常に汎用性が高い言語として設計されています。 他のC言語系同様に習得が難しいと言われているC++ですが、基本は非常にシンプルな構造をしているため、一つずつステップアップしていけば決して難しい言語ではありません。ここではC++

                    C++入門 for if などの基本からサンプル実行までを解説 | AKKODiS(アコーディス)コンサルティング株式会社
                  • 書籍が開発者としての資質を強化する。C++エキスパート・高橋晶が選ぶ、人生に影響を与えた5冊

                    書籍が開発者としての資質を強化する。C++エキスパート・高橋晶が選ぶ、人生に影響を与えた5冊 2024年8月8日 高橋 晶 C++日本語リファレンスサイトcpprefjpを運営し、C++の最新情報を日本語で発信している。 株式会社Preferred Networksに所属し、スーパーコンピュータのソフトウェア開発に携わっている。 著書として、『C++テンプレートテクニック』(SBクリエイティブ)、『C++ポケットリファレンス』(技術評論社)、『プログラミングの魔導書』(ロングゲート)。 X: @cpp_akira GitHub: faithandbrave 1. 『スイッチ!「変われない」を変える方法』Chip Heath 著、 Dan Heath 著 千葉敏生 翻訳 2. 『習慣の力』Charles Duhigg 著、渡会 圭子 翻訳 3. 『これからの「正義」の話をしよう ── いまを

                      書籍が開発者としての資質を強化する。C++エキスパート・高橋晶が選ぶ、人生に影響を与えた5冊
                    • 米国家安全保障局、CやC++からメモリ安全なプログラミング言語への移行を推奨する文書を公開

                      同ガイダンスは、近年のサイバーセキュリティ脅威の多くに利用されている、ソフトウェアのメモリ安全性の悪用を防ぐことを目的としており、組織におけるソフトウェアの開発にあたっては、可能な限りメモリ安全なプログラミング言語を使用するとともに、コンパイラのオプション、ツールのオプション、OS構成といったコードの安全性を高める対策を施すことで、保護を強化することを推奨している。 メモリ安全でないプログラミング言語としては、一般的に使用されているCやC++を挙げており、これらのプログラミング言語はメモリ管理において高い自由度と柔軟性を提供する一方で、メモリ参照が安全に行われているかどうかのチェックはプログラマに大きく依存していると指摘する。 ソフトウェア解析ツールを使用すれば、ソースコード中のメモリ管理における問題の多くを検出できるほか、OSによっては不正なメモリの利用を防ぐオプションも用意されているも

                        米国家安全保障局、CやC++からメモリ安全なプログラミング言語への移行を推奨する文書を公開
                      • Microsoft、「Visual Studio for Mac」終了

                        米Microsoftは8月30日(現地時間)、2016年から提供している「Visual Studio for Mac」を終了すると発表した。最新版(17.6)のサポートは2024年8月末まで続ける。 Microsoftは「リソースの方向を転換」し、「Visual StudioとVS Code(Visual Studio Code)をクロスプラットフォーム開発向けに最適化することに重点を置く」としている。 VS Codeは、Windows、Linux、macOSに対応するクロスプラットフォームのエディタだ。Microsoftは今月初頭、Unity拡張機能のプレビュー版をリリースしている。 MicrosoftはVisual Studio for Macのユーザーに、VS Codeの利用を勧めている。あるいは、MacのVでWindowsを起動し、そこでのVisual Studio IDEというオ

                          Microsoft、「Visual Studio for Mac」終了
                        • RustのLLVMに関する問題 - 日記

                          概要 dereferenceable_globally NonZeroUXXのLower 空無限ループ 終わりに 概要 この記事はRust Advent Calendar 2019の12日目の記事として書かれました。 qiita.com 遅刻してしまった...すいません(最悪)。 言わずもがなRustはLLVMをバックエンドに持つ言語です。 なのでバグがLLVMの最適化のせいだったりします。有名な例はnoaliasとか無限ループとかです。この辺りは定期的(2ヶ月一回くらい?)にTwitterとかで話題になりますね。またRustでの強い制約がLLVMにおける意味とのギャップで弱く表現せざるを得なかったりもします。そんな感じのこと少しだけ掘り下げて、RustのIssueとかLLVMのPhabricatorから幾つかまとめてみます。怪しいこと言ってたら教えて下さい。 dereferenceabl

                            RustのLLVMに関する問題 - 日記
                          • Julia, Python, F#, C#, C++で単位付き数値を扱う - Qiita

                            技術者なら「プログラミングで単位の扱いの間違いはコンパイルエラーにして欲しい」と思った事があるでしょう。 mm と inch でごっちゃになったとか、次元(ディメンジョン)が不合理な演算をしたとか、そういう頭の痛いバグに悩まされることありますよね。 言語によっては実行時またコンパイル時に単位チェックできるパッケージもあります。 今回は、Julia, Python, F#, C#, C++ について見てみましょう。 Julia Unitful Unitfulパッケージのインストール juliaでREPLに入り]でパッケージ管理に入る。

                              Julia, Python, F#, C#, C++で単位付き数値を扱う - Qiita
                            • 表紙 - 本物のC

                              このサイトは「本物の C 言語」について学習する機会の提供を目的としています。 「本物の」とはつまり、 標準規格(仕様)が C 言語をどういうものとして定めているか C プログラムが実際に CPU をどう動かすか という二つの意味合いに於いてです。 どうも巷間にはその辺りを気にせず何となくで書かれた資料が多い様なので、このサイトにより少しでも世界が最適化される事を期待します。 権利について 当然ですがこのサイト全体は著作権法により保護されています。法と良心に則って御利用下さい。 連絡はcontact<アット>real-c.infoまで。

                              • 「ソフトウェアはメモリ安全でなければならない」との声明を発表、米ホワイトハウス

                                米ホワイトハウス国家サイバー局長室(The White House Office of the National Cyber Director:ONCD)は、2024年2月26日(米国時間)、サイバー空間における攻撃対象領域(アタックサーフェス)を積極的に削減するよう技術コミュニティーに呼びかける報告書を発表した。 ONCDは、IT企業がメモリ安全なプログラミング言語を採用することで、あらゆる種類の脆弱(ぜいじゃく)性がデジタルエコシステムに侵入するのを防ぐことができると述べている。ONCDはまた、サイバーセキュリティの品質を測定するより優れた診断の開発を可能にするために、ソフトウェアの測定可能性の問題に取り組むことを奨励している。 関連記事 Google、「メモリ安全性」に関する見解と対策をまとめたホワイトペーパーを公開 Googleは、「セキュアバイデザイン:メモリ安全性に関するGoo

                                  「ソフトウェアはメモリ安全でなければならない」との声明を発表、米ホワイトハウス
                                • Googleがプログラミング言語「Rust」に100万米ドルを助成、「C++」との併存・置き換えを図る/メモリ安全性にかかわるセキュリティ問題を減らしつつ、生産性を向上

                                    Googleがプログラミング言語「Rust」に100万米ドルを助成、「C++」との併存・置き換えを図る/メモリ安全性にかかわるセキュリティ問題を減らしつつ、生産性を向上
                                  • Microsoft、「MSVC」のSTL実装をオープンソースとしてリリース/“GitHub”にビルド可能なリポジトリを公開

                                      Microsoft、「MSVC」のSTL実装をオープンソースとしてリリース/“GitHub”にビルド可能なリポジトリを公開
                                    • C言語のざんねんなしよう事典

                                      モダンなプログラミング言語が多数登場した現代においても、C言語は重要な言語です。具体的に言うと、多くのプログラミング言語(あるいは言語ランタイム)がC言語で実装されていたり、OSのAPIはC言語のインターフェース(ABI)で提供されている場合が多かったり、異なるプログラミング言語間で関数呼び出しをしようとするとC言語のABIがベースとなったりします。 そんなC言語ですが、登場時から現代まで、少しずつですが進化を遂げています。その過程では、「この機能は良くなかった」ということが判明し、非推奨になったり削除された機能もあります。この記事では、C言語のそのような「良くなかった」機能を紹介します。 gets 関数 C言語には、誤って使うとバッファオーバーフローなどの問題を引き起こす関数が多数用意されています。例えば、

                                        C言語のざんねんなしよう事典
                                      • マイクロソフト、「Rust」に基づくプログラミング言語プロジェクト「Project Verona」がGitHubに

                                        Microsoftは最近、「Project Verona」という旗印の下、「インフラのための安全なプログラミング」に向けた新言語の創出という目標を掲げ、人気のプログラミング言語「Rust」からのアイデアを取り入れることを明らかにして注目を集めていた。 Microsoftのリサーチャーであり、ケンブリッジ大学コンピューター研究所に在籍していたこともあるMatthew Parkinson氏は、2019年11月にProject Veronaについて初めて詳細を語り、Microsoftがこのプロジェクトを間もなくオープンソース化すると約束していた。 Microsoft Researchは今回その約束を果たし、Project VeronaをGitHub上でオープンソース化し、同プロジェクトに関するさらなる詳細と、より優れたメモリー管理とコンパートメント化、「広範囲に及ぶサンドボックス化」を通じてより

                                          マイクロソフト、「Rust」に基づくプログラミング言語プロジェクト「Project Verona」がGitHubに
                                        • CでもC++でもなく「Rust」を使いたくなる“なるほどの理由”

                                          関連キーワード アプリケーション開発 | プログラマー | プログラミング 独立性の高い小規模サービス「マイクロサービス」の開発において、プログラミング言語「Rust」は一定の地位を築いている。Rustにはどのような強みがあるのか。 CやC++じゃなく「Rust」を選ぶ理由はこれだ 併せて読みたいお薦め記事 連載:GoとRustを比較する 第1回:CでもC++でもなくプログラミング言語「Go」を使いたくなる“あの良さ”とは? 第2回:「Go」に期待し過ぎたプログラマーが落胆する“完璧じゃない部分” GoとRustの魅力 プログラミング言語「Go」の魅力とは? 「Goで“脱COBOL”」の成功者が語る 「Rust」はなぜクラウドネイティブ開発者の間で大人気なのか? 「C」や「C++」といったプログラミング言語では、開発者は手動でメモリを管理する必要があるが、Rustはその必要はない。これはプ

                                            CでもC++でもなく「Rust」を使いたくなる“なるほどの理由”
                                          • 【C言語】ハァ… 困ったなァ 「未定義動作」にもう疲れちゃって 全然動けなくてェ… - Qiita

                                            はじめに どうも、y-tetsuです。 以前、こんな記事でお世話になりました。 お久しぶりです。あい変わらずC言語の学びなおしにいそしんでおります! いやー、C言語ってムズカシイですよね。最初は文法がとっつきづらかったり、ポインタでつまずいたり、慣れてきたら慣れてきたで色んな災いが出てきたり…で、結果「もう疲れちゃって 全然動けなくてェ…」っておもわずヘコたれそうになります…。 最近、筆者がC言語を学びなおしてみて新しく知った事としまして、「未定義動作」というものがありました。なんだこれはァ!?という事で少しずつ調べる中で、これがまァー「もう疲れちゃって 全然動けなくてェ…」を引き起こす要素が"満載"な代物でした。 そこで今回は、様々な未定義動作にフォーカスした内容を、ご紹介していきたいと思います。 (正直なところ、ご存じの方からすると何番煎じだよ!?という中身なのですが、筆者自身の自学習

                                              【C言語】ハァ… 困ったなァ 「未定義動作」にもう疲れちゃって 全然動けなくてェ… - Qiita
                                            • C++ is faster and safer than Rust: benchmarked by Yandex

                                              To get the licence for your open-source project, please fill out this form

                                                C++ is faster and safer than Rust: benchmarked by Yandex
                                              • 累計3.3億DL突破「ibisPaint」GPUベース、C++ワンソースを選んだ理由は?成功を支えた技術選定の裏側

                                                株式会社アイビス 代表取締役社長 神谷 栄治 ソフトウェア技術者・経営者。2000年に「株式会社アイビス」を創業。フィーチャーフォン向けアプリの開発を経て、2011年にスマホ向けペイントアプリ「ibisPaint」をリリース。2023年現在も開発組織をリードしている 株式会社アイビスが提供する「ibisPaint(アイビスペイント)」は、高度な機能と使いやすさ、優れた安定性を兼ね備えたペイントアプリとして世界中のユーザーに愛されています。 リリースは2011年。当時からGPUベースで、開発言語にはC++を採用し、UIパーツやライブラリもすべて自社で制作しているという。ibisPaintの企画・設計・開発を一手に担った創業者の神谷栄治氏は「この技術選定が、現在のibisPaintの発展につながった」と語ります。 2011年当時のスマホアプリ開発において異例の技術選定の意図は? 全世界での累計

                                                  累計3.3億DL突破「ibisPaint」GPUベース、C++ワンソースを選んだ理由は?成功を支えた技術選定の裏側
                                                • 「C++」が人気1位に浮上、Java離れ加速の理由…プログラミング言語に異変

                                                  プログラミング言語「C++」 人工知能チャットボット「Chat GPT」などの高性能な機能が話題を呼び、さらなる技術革新が予想されるIT業界。アプリやウェブサービス、システム開発の基盤となるのがプログラミング言語であるが、今、その人気に変化が起きているという。ソフトウェアの品質管理の評価を発表しているオランダの「TIOBE Software」によれば、2022年に最も人気が上昇したプログラミング言語第1位は「C++」。人工知能(AI)開発、ロボット制御技術によく使用される言語であり、有名どころでいえば「Google Chrome」の主言語でもある。 同ランキングは第2位「C」、第3位「Python」と続き、第4位にランクインしたのが「Java」で、Javaは21年の第3位から転落してしまっているのだ。なぜプログラミング言語の代表格ともいえるJavaに代わり、C++の人気が伸びているのか。I

                                                    「C++」が人気1位に浮上、Java離れ加速の理由…プログラミング言語に異変
                                                  • かつての当たり前が通用しない? Modern C++ではやらないこと

                                                    21世紀に入ってまったく別物と言えるプログラミング言語に進化したC++。本連載では、Modern C++と称されるC++について、Modern C++らしい言語仕様をピックアップし紹介していきます。第1回は、かつてのC++の当たり前が今では通用しないことを紹介します。たとえばインスタンスの生成にnewを、破棄にdeleteをというのが常道でしたが、もはやそれらは非推奨なのです。導入として、このようなかつては常識だったことが非推奨になっているという状況を、いくつかのトピックスを通じてお話しします。 はじめに C言語から派生したオブジェクト指向プログラミング言語であるC++は、21世紀に入ってまったく別物とも言えるプログラミング言語に成長していきました。それは、Modern C++と称されています。1990年代にC++を触っていたプログラマが現在の仕様を知れば、隔世感に苛まれるのではないでしょ

                                                      かつての当たり前が通用しない? Modern C++ではやらないこと
                                                    • セルフホストできるCコンパイラを作ってみた - Qiita

                                                      低レイヤを知りたい人のためのCコンパイラ作成入門 (以下 コンパイラブック) を一通り読んでCコンパイラを作ってみました。 この本はまだ完全でなく(2020/09/01現在)、例えば構造体の実装の説明などは文章としては存在せず、この本の参照実装である chibicc を写経がてら作っていきました。 (実際には今現在進行中の @rui さんの Cコンパイラ作成のオンラインコースを始めます の参加者のみに現状は公開されているchibiccよりもうちょっと改善されたcコンパイラ実装が参照実装だそうです) もともと構文解析とかはちょっと興味があったりして、qiitaでも [ruby] Parsletで構文解析する[その1] [ruby] Parsletで正規表現をパースしてvm型のエンジンを実装してみる[その1] パース〜ASTまで みたいな記事は書いていたんですが、あんまりややこしいパーサーは書

                                                        セルフホストできるCコンパイラを作ってみた - Qiita
                                                      • いかにして命令の入れ替わりについて心配するのをやめ、メモリモデルを愛するようになったか

                                                        kernel/vm探検隊 17回 @nullpo_head

                                                          いかにして命令の入れ替わりについて心配するのをやめ、メモリモデルを愛するようになったか
                                                        • こわくないLLVM入門! - Qiita

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

                                                            こわくないLLVM入門! - Qiita
                                                          • Python 2の終了日が2020年1月1日に決定

                                                            Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。この本では、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

                                                              Python 2の終了日が2020年1月1日に決定
                                                            • C++erですがCOMに翻弄されています: 再入との戦い - Qiita

                                                              C++ Advent Calender この記事はC++のカレンダー | Advent Calendar 2023 - Qiita の21日目の記事です。 20日目: Try to make a try ! by @wx257osn2 22日目: C++ コンパイル時「出力」で画像ファイル生成 #C++ - Qiita by @Raclamusi はじめに 2021年に新卒で今の会社に入社して以来、ずっととある一つの製品の開発部門に所属していて、その中のWindowsチームというところにいます。 WindowsチームなのにiOSの要件が来たり、サーバーEoLの要件が来たりとなんだか特殊部隊感があるのですが、きっと気の所為です。 さて、ここまで入社以来ずっと本格的な理解から逃げ続けてきた存在があります。それがCOMです。 ところがついにこの秋から冬にかけての要件ではVisual Studio

                                                                C++erですがCOMに翻弄されています: 再入との戦い - Qiita
                                                              • Rustで作る!自作言語・コンパイラ入門:学園生活研究部

                                                                Rustで自作言語とコンパイラを作るために必要な知識と実装手法を初心者向けに簡単に説明することを試みました。パーサコンビネータやLLVM関連のライブラリを利用し、Rustで自作言語やコンパイラ作りをやっていきます。

                                                                  Rustで作る!自作言語・コンパイラ入門:学園生活研究部
                                                                • RISC-VでC言語のポインターを理解する! ポインターの動作と処理を詳細に解説した書籍が発売/『RISC-Vから学ぶC言語 ポインタ理解のためのアセンブリ入門』【Book Watch/ニュース】

                                                                    RISC-VでC言語のポインターを理解する! ポインターの動作と処理を詳細に解説した書籍が発売/『RISC-Vから学ぶC言語 ポインタ理解のためのアセンブリ入門』【Book Watch/ニュース】
                                                                  • 江添亮のC++入門が出版された

                                                                    江添亮のC++入門が出版された。もうすでに一部書店では店頭に並べているところもあるようだ。 9/18新刊『江添亮のC++入門』KADOKAWA(978-4-04-893071-0)江添亮 著◆「C++」棚にて展開中!次の規格として標準化が進められているC++20を意識しながら、現行の規格に準拠したC++プログラムの書き方を徹底的に解説。C++による本格的なプログラム開発に必須の知識を網羅した本格的な入門書。 pic.twitter.com/fZEu6Sm1xa — 書泉ブックタワーコンピュータ書売り場 (@shosen_bt_pc) September 18, 2019 この本はタイトル通り入門書だ。C++のソースコードのコンパイル方法から初めて、GNU Makeによるビルドシステムを少し触り、基本的な文法を解説し、一部のライブラリの仕組みまで解説する。 この本の執筆にあたっては、知識のブ

                                                                    • 競技プログラマのための抽象セグメント木実装のすすめ - beet's soil

                                                                      午前起床!(素振り) はじめに 先にこっちを見て beet-aizu.hatenablog.com うし木(一点更新区間取得)について書きます おまけ なんだこれはたまげたなあ(わかる人にはわかる記事、わからない人にはわからない) beet-aizu.hatenablog.com 前提知識(C++) 厳密性や歴史的背景をガン無視しています。あんまりあてにしないでください。 雰囲気を掴むためと割り切って読んでもらえるといいと思います。 C++のバージョンは14を前提にしていますがそのうち17に上がりそう? struct is 何 競技プログラマならpairやtupleくらいは使ったことがあると思いますが、自分でそういうのを作るための機能です。 たとえば struct Node{ int fi,se; }; Node v; v.fi=0;v.se=1; みたいな感じで使えます。 つまり、大きな

                                                                        競技プログラマのための抽象セグメント木実装のすすめ - beet's soil
                                                                      • 10月新刊情報『ハンズオンWebAssembly』

                                                                        『ハンズオンWebAssembly ―EmscriptenとC++を使って学ぶWebAssemblyアプリケーションの開発方法』 Gerard Gallant 著、北原 憲、洲崎 俊、西谷 完太、磯野 亘平、米内 貴志 訳 2022年10月12日発売予定 512ページ(予定) ISBN978-4-8144-0010-2 定価4,180円(税込) WebAssemblyはWebブラウザ上で効率的かつ安全にコードを実行するために開発された技術です。様々なプラットフォームでの実行や、C++やRustなどのプログラミング言語で開発が可能です。本書はWebAssemblyの技術的な原理、動作、どのようなことが可能なのかを基礎からしっかり学ぶことができ、かつ実践的な開発テクニックにまで踏み込んだ開発者向けの解説書です。プログラミング言語は主にC++を取り扱います。簡単な例から解説をはじめ、動的リンクや

                                                                          10月新刊情報『ハンズオンWebAssembly』
                                                                        • GPU向けコンパイラの最適化の紹介と論文のサーベイ - Jicchoの箱

                                                                          この記事では,私の研究分野であるGPU向けコンパイラの最適化の紹介と論文のサーベイを行う. 以下,随時更新. 分岐発散 (Branch Divergence) 分岐発散とは Independent Thread Scheduling 分岐発散に対する最適化 Software based approaches Hardware based approaches その他 サーベイ論文 カーネル融合 (Kernel Fusion) Kernel Fusionとは 垂直融合(vertical fusion) 水平融合(horizontal fusion) Inner Thread Block Inter Thread Block カーネル融合に関する論文 その他のGPU関連の論文 Dimensionally redundant instruction elimination Others 分岐発散

                                                                            GPU向けコンパイラの最適化の紹介と論文のサーベイ - Jicchoの箱
                                                                          • 月単価の高いプログラミング言語ランキング 2位は「Ruby」で87万円、1位は? レバテック調べ

                                                                            最も月単価の高いプログラミング言語は何か。IT人材の紹介事業を行うレバテック(東京都渋谷区)が2月13日に発表したランキングによると、1位は「Go」(平均月単価88万円/最高単価130万円)だった。2位には「Ruby」(平均月単価87万円/最高単価150万円)、3位には「Swift」(平均月単価86万円/最高単価200万円)が入った。 Goは米Googleが開発したプログラミング言語。レバテックは「動作が軽く、扱えるデータ量も多いためブロックチェーンや広告、ゲームなどスピードが求められる分野のサービス開発でよく使われている」と解説。スピーディーな開発を行いたい企業を中心に導入が進み、今後も需要は伸びていくのではないかと予想している。 2位のRubyは、短期間で開発ができるため、スタートアップ企業などのWebサービスを迅速に立ち上げたい企業でよく使われているという。案件数は安定して多いが、R

                                                                              月単価の高いプログラミング言語ランキング 2位は「Ruby」で87万円、1位は? レバテック調べ
                                                                            • C++でジョブシステムを作ってみる(1)

                                                                              ジョブシステム (Job System) ゲームエンジンの勉強をしているとジョブシステムの話がよく出てくるので、実際にC++20で実装してみました。マルチスレッドに慣れていないため、正しいアプローチである確信はありません。重要なミスがあったら教えていただけると助かります。 コードは標準ライブラリにある機能は素直に使い、シンプルな実装を目指します。また、この記事の全てのコードはパブリックドメインとします。 これから、3つのステップでジョブシステムを実装していきます。 ジョブを並列実行する機能 ジョブ同士に依存関係を設定する機能 大きなジョブを分割して並列化する機能 この記事ではステップ1の最も基本的なジョブシステムを実装することを目標にします。 実装に入る前に、雰囲気を伝えるために、各ステップにおけるインターフェイスを示します。 // スレッド数4としてジョブシステムを作成 JobSyste

                                                                                C++でジョブシステムを作ってみる(1)
                                                                              • https://natalie-lang.org/

                                                                                • Bugs in Hello World

                                                                                  Posted on March 08, 2022 Hello World might be the most frequently written computer program. For decades, it's been the first program many people write, when getting started in a new programming language. Surely, this humble starting-point program should be bug free, right? After all, hello world programs only do one thing. How could there be a bug? Hello world in C There are a lot of different way