並び順

ブックマーク数

期間指定

  • から
  • まで

121 - 148 件 / 148件

新着順 人気順

gccの検索結果121 - 148 件 / 148件

  • GNU poke - GNU Project - Free Software Foundation

    GNU poke is a new interactive editor for binary data. Not limited to editing basic entities such as bits and bytes, it provides a full-fledged procedural, interactive programming language designed to describe data structures and to operate on them. Once a user has defined a structure for binary data (usually matching some file format) she can search, inspect, create, shuffle and modify abstract en

    • Goの固定長/可変長エンコーディングを理解する

      この記事では、標準の encoding/binary パッケージを使ってカスタムフォーマットに従ってバイナリエンコーディングする方法と、その仕組みについて解説します。 はじめに プログラム上で扱うデータ構造をネットワークやファイルに書き込む際は、何らかのフォーマットに従って自己完結したバイト列へとエンコードする必要があります。 プロセス間でデータをやりとりする場合は通常、言語非依存な標準化されたフォーマットを利用します。 しかし、多くの標準化されたフォーマットは冗長すぎる傾向にあります。Protocol BufferやApache Thriftはバイナリエンコーディング形式なので、テキストフォーマットと比べるとはるかにサイズを小さく出来ますが、これらは専用のスキーマを定義することが必須です。一つのプロセスからしかアクセスしないようなケースなど、Go言語特有のフォーマットでエンコードしたくな

        Goの固定長/可変長エンコーディングを理解する
      • 【Windows10 WSL2/Ubuntu 20.04 LTS】gcc, make などの開発ツールをインストールして使う

        下記コマンドを実行して、ビルドツールをインストール。 $ sudo apt install build-essential 確認 gccとmakeコマンドが実行できるか確認 $ gcc --version gcc (Ubuntu 9.3.0-10ubuntu2) 9.3.0 Copyright (C) 2019 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. $ make --version GNU Make 4.2.1 Built for x86_64-pc-linux-gnu

          【Windows10 WSL2/Ubuntu 20.04 LTS】gcc, make などの開発ツールをインストールして使う
        • Cコンパイラを作るときのlibcとの付き合い方 - Qiita

          Cコンパイラを作っていると、セルフホストを目指した瞬間、今まで味方だったlibcとの対決を迫られる熱い展開になります 前提 低レイヤを知りたい人のためのCコンパイラ作成入門 C言語でCコンパイラを書いてセルフホストを目指す場合の話 x86_64のLinuxとgcc 上記の環境に限った話かどうかについては明記しない予定 libcとの付き合い方 libcを使わない つまり自分でlibc(の一部)を書きます ファイルIO(標準出力も含む)とメモリ操作(例えばalloc/cpy/cmpな各種)など、いくつか必須っぽいものがある libcにはシステムコールラッパーとしての役割がある 自分でlibcを実装する場合にはシステムコールをアセンブリで出力する システムコールのABIは、C言語の関数呼び出しABIとは異なる 引数と返り値の扱いについてはABIが同じOSもあるが、x86_64 Linuxでは異な

            Cコンパイラを作るときのlibcとの付き合い方 - Qiita
          • A Rust-in-GCC update [LWN.net]

            Hi everyone, Since November 2020, I've worked full-time on the Rust front-end for GCC, thanks to Open Source Security, Inc and Embecosm. As a result, I am writing to this mailing list to seek feedback from the collective experience here early to plan a path for upstreaming the front-end into GCC. 1. What is the actual process of merging a prominent feature like this upstream - How do we review thi

            • GNU poke

              __) The extensible editor for structured __) binary data ---._______) [ video | releases | pickles | development | community | related projects ] GNU poke is an interactive, extensible editor for binary data. Not limited to editing basic entities such as bits and bytes, it provides a full-fledged procedural, interactive programming language designed to describe data structures and to operate on th

              • SizeBench: a new tool for analyzing Windows binary size - Performance and Diagnostics

                We’ve recently released a new tool called SizeBench, which helps investigate binary size for compiled native PE files such as DLLs and EXEs. This post will talk a bit about what the tool can do and how we’ve used it inside Microsoft over the past few years as it has been developed. You can download the tool now from the Microsoft Store – just click here to get started: https://aka.ms/SizeBench Tab

                  SizeBench: a new tool for analyzing Windows binary size - Performance and Diagnostics
                • The state of static analysis in the GCC 12 compiler | Red Hat Developer

                  Building a static analyzer into the C compiler offers several advantages over having a separate tool, because the analyzer can track what the compiler and assembler are doing intimately. As a Red Hat employee, I work on GCC, the GNU Compiler Collection. Our static analyzer is still experimental but is making big strides in interesting areas, including a taint mode and an understanding of assembly-

                    The state of static analysis in the GCC 12 compiler | Red Hat Developer
                  • GitHub - gcarmix/HexWalk: Hex Viewer/Editor/Analyzer compatible with Linux/Windows/MacOS

                    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 - gcarmix/HexWalk: Hex Viewer/Editor/Analyzer compatible with Linux/Windows/MacOS
                    • gccの-rdynamic option 調査メモ - Qiita

                      はじめに gccの-rdynamic optionの調査メモ。 gcc 9.1.0, glibc 2.29を対象に調査した。 基本内容に差はないと思うが、target archはx86_64-pc-linux-gnu。 TL;DR -rdynamicオプションはリンク時のみ効果がある。 -rdynamicオプションを適用すると、共有ライブラリから実行ファイルのシンボル情報を動的に取得できるので、バックトレースの表示などに使われる。 -rdynamicオプションを適用することで、共有ライブラリとして利用可能な実行ファイルを作成できる。 -rdynamicオプションを適用するとシンボルバッティングや意図せず共有ライブラリに制御されてしまうリスクが増えるので、明確に目的がないなら通常は無効にしておく。 gcc,glibcのソースコードは面白い。 gccのspecファイルむずい。 公式ドキュメント

                        gccの-rdynamic option 調査メモ - Qiita
                      • GitHub - vshymanskyy/muon: µON - a compact and simple binary object notation

                        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 - vshymanskyy/muon: µON - a compact and simple binary object notation
                        • Ubuntu LinuxやDebianで使う、build-essentialってなんだ? - CLOVER🍀

                          これは、なにをしたくて書いたもの? たまに、Ubuntu Linux/Debianを使っている時のソフトウェアのインストール前提条件としてこういう記述を見ることがあり $ sudo apt install build-essential 「開発パッケージ一式」みたいなざっくりしたイメージでずっと捉えていたのですが、1度ちゃんと見てみようかなと 思いまして。 build-essentialとはなんなのか?という話です。 環境 今回の確認環境は、こちらです。 $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.1 LTS Release: 20.04 Codename: focal $ uname -srvmpio Linux 5.4.0-54-gener

                            Ubuntu LinuxやDebianで使う、build-essentialってなんだ? - CLOVER🍀
                          • New C++ features in GCC 12 | Red Hat Developer

                            Version 12.1 of the GNU Compiler Collection (GCC) is expected to be released in April 2022. Like every major GCC release, this version will bring many additions, improvements, bug fixes, and new features. GCC 12 is already the system compiler in Fedora 36. GCC 12 will also be available on Red Hat Enterprise Linux in the Red Hat Developer Toolset (version 7) or the Red Hat GCC Toolset (version 8 an

                              New C++ features in GCC 12 | Red Hat Developer
                            • Debuginfod - Debian Wiki

                              Debian now has a debuginfod server available for its users. Please keep reading this page if you would like to know how to configure your system to use debuginfod. TL;DR: How do I configure my system to use debuginfod? As of version TBD, libdebuginfod (part of the elfutils package) will automatically install a file named /etc/profile.d/debuginfod.sh which contains the proper configuration to make

                              • gccで各関数が使用しているスタックサイズを出力するオプション - いろいろ備忘録日記

                                概要 プログラムがいきなり落ちた gcc の -fstack-usage オプション 現在のスタック領域のサイズを調べる 試してみる makefile github にサンプルプロジェクトをアップ 参照情報 概要 忘れないうちメモメモ。こういうのは知ってるのと知らないので手間が大きく変わりますね・・・。 プログラムがいきなり落ちた 自分が書いたプログラムではないんですが、動かしていると特定の処理パターンを通したときにいきなり死ぬという状況が発生。 C言語なので、本当にスンって死んでくれます・・w いろんなところをコメントアウトしたり、printfデバッグ入れたりして箇所は特定。 最終的にいろいろ調べたところの結果が「デフォルトのスタックサイズを超える割当をしてるのが原因」でした。これはアカン・・。 で、修正するのは良いとして、もうちょいマシな調べ方ないのかしら?って思いました。 手作業すぎ

                                  gccで各関数が使用しているスタックサイズを出力するオプション - いろいろ備忘録日記
                                • GCC 11がリリース

                                  Free Software Foundationは米国時間2021年4月27日、GNU Compiler Collection(コンパイラーコレクション)の最新版「GCC 11」をリリースした。バイナリーページでは、AIXやDOS(DJGPPベース)、HP-UX、Solaris 2、macOS、Windows(CygwinおよびMinGW)などバイナリーファイル、もしくは国内ミラーサイトからソースコードを入手できる。Changelogによれば、前バージョンと比較してIntelやAMD、ARMプロセッサーのサポートや、C++の既定をC++17に変更し、C++20のサポート改善やC++23の初期機能の追加、次期C言語となるC2Xへの対応準備を開始した。 Linux上のGCC 11。正しくはバージョン11.1.0となる この他にも既定のデバッグ形式をDWARF 5に切り替え、コンパイル対象がAR

                                    GCC 11がリリース
                                  • zero length array, flexible array - Shohei Yoshida's Diary

                                    github.com たまたま目に入ったこのコードを見ていて, zero length arrayって末尾のメンバ以外でも使えたんだって思って気になるところを調べてみた. Flexible array en.wikipedia.org C99から入った機能. 配列の長さを宣言しないことで利用できる. sizeofはできない. 構造体などの末尾フィールドに置くことができる. 典型的な使い方は以下のような感じ. struct Data { // some fields SomeData s[]; }; struct Data *d = malloc(sizeof(Data) + some_arbitrary_size); ポインタを使ってしまうと構造体とこの末尾のデータがある場所は別の領域になってしまうわけだが, このようにすることで連続するメモリにすべて割り当てることができる. 構造体の末尾

                                      zero length array, flexible array - Shohei Yoshida's Diary
                                    • コグノスケ GCCを調べる - memmoveのfoldingその1

                                      VSCodeを使ってWindowsからLinuxアプリのデバッグ その1 目次: Linux その1、その2 同じことをしている人があまり居なさそうだったので、メモしておきます。 きっかけはGCCのコードをGDBのCUIモードで追っていて辛くなったことです。GCCのコードは超ぐちゃぐちゃの悲惨なコードで非常に追いづらく、GDBをもってしても何が起きているのか把握するのは困難です。せめてデバッガの画面くらいはGUIにして、見やすくできないか、と考えました。 WindowsからLinuxアプリのデバッグ、それぞれの役割 想定する構成は上記のとおりで、Linux側にはGUIがなく(ディスプレイを繋いでいない、など)、Windows側はデバッグのみで、Linux側でその他の全て(ビルドなど)を行う想定です。 Linux側の準備 この記事を読んでいるということは、既に何かデバッグしたいアプリケーショ

                                      • Patching GCC to build Actually Portable Executables | Blog Needs a Name

                                        Patching GCC to build Actually Portable Executables2023-07-13: I wrote a ~2000-line gcc patch to simplify building Actually Portable Executables with Cosmopolitan Libc. Now you can build popular software such as bash, curl, git, ninja, and even gcc itself, with Cosmopolitan Libc via the ./configure or cmake build system, without having to change source code, and the built executables should run on

                                        • Clangのインストール | 学生たちの技術ブログ

                                          Clangのインストール ​Clangとは ​ Clangはコンパイラの一つでC,C++等の言語のコンパイルに使えます。Gccと比較されることが多いツールです。LLVMをバックエンドに動作しています。 どうしてClangを使うか ​私はGccと比べてClangのほうがより細かいワーニング、エラー文を表示してくれるので気にいっています。LLVMをバックエンドとして使用していることもあり、高度な最適化ができるのも魅力です。また、LLVM-IRを吐くことができるのでLLVMの勉強にも使えます。 Mac ​最新版をインストールする前に ​MacにはXcodeをインストールすると、自動的にデフォルトのコンパイラとしてClangがインストールされます。しかし、そのClangはAppleが手を加えているある程度古いバージョンのClangのため、最新機能が使えません。最新版のほうがより多くのバグ検出ができ

                                          • GitHub - StanfordSNR/gg: The Stanford Builder

                                            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 - StanfordSNR/gg: The Stanford Builder
                                            • The Solid-State Register Allocator

                                              I recently found myself needing a very fast register allocator for very simple code. There's a huge amount of academic research on the subject, dating back decades, and just as many published implementations; my specific implementation – while not fundamentally novel – landed in an interesting-enough part of configuration space that it seemed worth writing up. The system has one big limitation: it

                                              • Introducing xd(1)

                                                xd(1) is a tool that dumps binary input in a more human-readable format. There are countless tools that fit this description, including od(1), hexdump(1), xxd(1), and a bunch of Rust crates in the same vein, but this one has a new trick up its sleeve. A column with printable ASCII bytes shown as exactly that, and everything else as a dot, is such a strong convention that it basically defines the v

                                                • GitHub - michaelforney/cproc: C11 compiler (mirror)

                                                  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 - michaelforney/cproc: C11 compiler (mirror)
                                                  • New C++ features in GCC 10 | Red Hat Developer

                                                    The GNU Compiler Collection (GCC) 10.1 was released in May 2020. Like every other GCC release, this version brought many additions, improvements, bug fixes, and new features. Fedora 32 already ships GCC 10 as the system compiler, but it's also possible to try GCC 10 on other platforms (see godbolt.org, for example). Red Hat Enterprise Linux (RHEL) users will get GCC 10 in the Red Hat Developer Too

                                                      New C++ features in GCC 10 | Red Hat Developer
                                                    • GAS(Google Apps Script)でテキストファイルやCSVファイルを出力する方法

                                                      概要 Google Apps Script(GAS)でスプレッドシートの情報を、テキストファイルやCSVファイルなどの出力をする方法です。 今回は、スプレッドシートに以下のような都道府県名のデータがあり、CSVファイル出力をしたいとします。 ソースコード スクリプトエディタを開く スプレッドシートのスクリプトエディタを開きます。 GAS(Google Apps Script)のコンテナバインド型とスタンドアロン型 Google Apps Scriptには、「コンテナバインドスクリプト」と「スタンドアロンスクリプト」の2種類があります。それぞれの説明をまとめました。コンテナバインドスクリプトコンテナバインドスクリプトとは「コンテナバインドスクリプト」は ソースコード /** * スプレッドシートの内容をCSVファイルへ出力 */ function outputCsvFile() { // 出

                                                        GAS(Google Apps Script)でテキストファイルやCSVファイルを出力する方法
                                                      • GCC Rust Front-End v4 Posted - Now Cleared For Merging In GCC 13 - Phoronix

                                                        GCC Rust Front-End v4 Posted - Now Cleared For Merging In GCC 13 Written by Michael Larabel in Programming on 6 December 2022 at 06:50 AM EST. 53 Comments The GCC Rust front-end that provides very preliminary support for the Rust programming language atop the GNU Compiler Collection is now cleared for merging to the mainline codebase! Earlier this year the GCC steering committee approved Rust whil

                                                          GCC Rust Front-End v4 Posted - Now Cleared For Merging In GCC 13 - Phoronix
                                                        • C/C++のためのデバッグツール

                                                          とすればよいのですが、これでもなおgccコマンドではClangが起動されます。この状態でGCCを使うにはgcc-10コマンドを使います。GCCが起動されることを確認するには とすればよいです。ただし、GCCのバージョンが上がった場合には、gcc-11, gcc-12, ...とする必要があります。 静的解析 ソースコードの解析には動的解析と静的解析があります。動的解析は実際にプログラムを実行して行う解析で、静的解析はプログラムを実行することなく行う解析です。動的解析は普段printfデバッグやデバッガで行っていると思うので、ここでは静的解析を紹介します。新たにソフトを入れなくても、GCCとClangには静的解析機能が付いています。GCCでは-fanalyzer、Clangでは--analyzeを付けてコンパイルすると、静的解析が行われます。また、いくつかのプログラムで試したのですが、どうや

                                                            C/C++のためのデバッグツール

                                                          新着記事