Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

gccに関するudzuraのブックマーク (10)

  • もしコンパイラを全世界で同時にうっかり削除してしまったら、元の状態に復旧できるのだろうか?|Rui Ueyama|note

    思考実験として、全世界の人が同時に、自分の持っているコンパイラやインタープリタなどの実行ファイルをうっかり全部消してしまったとしよう。そうするとそれ以降、ソースコードが残っていても、コンパイラ自身も含めてどのようなプログラムもコンパイルできなくなってしまう。この状況から人類は元のコンピュータ文明を復旧することができるのだろうか? 僕は結論としては、かなり簡単に復旧できると思う。ここではその手順についてちょっと考えてみよう。 コンパイラのバイナリファイルが全部消えてしまった後、復旧のために目指すべきマイルストーンは、おそらくCコンパイラを元に戻すことになるだろう。Cで書かれたプログラムはOSやコンパイラ自身を含めてたくさんあるので、そこを起点にすれば、たくさんのプログラムを芋づる式に復旧していけるからだ。 ほとんどのCコンパイラはCかC++で書かれている。最近のGCCやClangは巨大かつC

    もしコンパイラを全世界で同時にうっかり削除してしまったら、元の状態に復旧できるのだろうか?|Rui Ueyama|note
    udzura
    udzura 2017/12/05
    “つまり昔のバージョンからGCCを芋づる式にコンパイルしていけばいい。何回か繰り返せば最新のGCCをコンパイルできるはずだ。”
  • SEGV探偵が往く - なるせにっき

    人は誰しも108つの夢を持つと言いますが、読者の皆さんにも探偵を夢見た人は多いことでしょう。実際問題として探偵業をやろうと思ったら地道な聞き込み&張り込みの日々でしょうし、逆に派手な探偵業は陰謀&殺人で恐ろしい。わたしも自分の命は大事ですからどうするか。そう、探偵ごっこをするわけですね。 というわけでSEGV探偵です。死ぬのはプロセスなので安心。Rubyを使っていればSEGVなんて見慣れたものですが、いざ捜査しようと思うと意外とその辺には転がっていないもの。(むかしはつかみ取り出来るくらいいたそうですよ)とはいえ今でもいわゆる「バグ鉱脈」みたいなものはありまして、その一つが「最新のコンパイラでビルドしてみる」です。 今日はGCCの開発版であるGCC8を試してみましょう。FreeBSDだとsudo pkg install lang/gcc8-develで簡単に入れられるのですが、他の環境だと

    SEGV探偵が往く - なるせにっき
    udzura
    udzura 2017/09/03
    便利まとめ、Tipsだ
  • UNIX/Linux gccによるC共有ライブラリの作成 webzoit.net

    gccとはbash同様FSFのGNUプロジェクトによって開発されたコンパイラでGNU C Compiler、後にC/C++/Objective C/FORTRAN/Java...といった各種プログラミング言語に対応したことからGNU Compiler Collectionとして知られています。 コンパイルの過程 コンパイラとコンパイルではUNIX/Linux及びシェル環境におけるコンパイラとコンパイルについてccとgccの関係、続くUNIX/Linux C コンパイル過程では、実行ファイルができるまでに具体的に何が行われているのかについて、その流れを追いました。 そして実際にgccでコンパイルと中間ファイルの残し方、更にstatic library/スタティックライブラリ/静的ライブラリ(拡張子.a/archive/アーカイブ)ファイルの作成とリンクによる実行ファイルの作成をしてみました。

    UNIX/Linux gccによるC共有ライブラリの作成 webzoit.net
    udzura
    udzura 2016/11/16
    魔法がいろいろ書いてある...
  • Where are the gcov symbols?

    I'm trying to compile a simple app with gcov and getting the following link errors: gcc AllTests.o CuTestTest.o CuTest.o -o TestTest AllTests.o: In function `global constructors keyed to 0_RunAllTests': /home/p7539c/cutest/AllTests.c:26: undefined reference to `__gcov_init' AllTests.o:(.data+0x44): undefined reference to `__gcov_merge_add' CuTestTest.o: In function `global constructors keyed to 0_

    Where are the gcov symbols?
    udzura
    udzura 2016/08/31
    hai
  • Linux共有ライブラリの簡単なまとめ - wagavulin's blog

    Linuxで共有ライブラリ(*.so)を作るようになったのでちょっと勉強してみた。今までは使うだけだったので、以下のようなことは知っていた。 作るときはgccの-sharedオプションを使う。 使うときはgccの"-lライブラリ名"でリンクするライブラリを指定する。 リンク時のライブラリ探索パスは-Lオプションで指定する。 実行時のライブラリ探索パスは/etc/ld.so.confに書いてあるディレクトリ。環境変数LD_LIBRARY_PATHでも指定可能。 ライブラリを作るときは、.cから.oを作るときに-fPICをつけるといいらしい。 新しくライブラリを入れたときはldconfigするといいらしい。 逆に今まであまり知らなかったこと。 ほとんどのライブラリはlibhoge.so, libhoge.so.1, libhoge.so.1.1のように3つくらいのファイルがあり、libhoge

    Linux共有ライブラリの簡単なまとめ - wagavulin's blog
  • GNU Development Toolsが良書すぎてヤバい - As a Futurist...

    gcc hoge.cってするとa.outができて実行できて、まぁなんて C プログラミングって簡単なんでしょう!ってレベルのプログラム力しかないんですが、何の因果かそれがどうやって動いてるのか/できてるのかが気になり始めるお年頃を迎えてしまっている riywo です。情弱です。 jemalloc とか LD_PRELOAD について調べてみた – As a Futurist… この記事を書いてる時に、そもそも動的リンクとか静的リンクとか、概念的にはぼやっと分かってるつもりだけど、細かいことなんにも知らないなーやばいなーって思ってたら、mizzy さんが「GNU Development Tools」というを教えてくれました!ありがとうございます! GNU 開発ツール|オーバーシー・パブリッシング このは自費出版されているで、すでに上記サイトでは取り扱いがなく、絶版状態で困ってしまいまし

    GNU Development Toolsが良書すぎてヤバい - As a Futurist...
    udzura
    udzura 2012/04/26
    この本欲しい
  • How do you install (build) Ruby 1.9.3 on OSX Lion?

    I've been working on installing Ruby on my mac, OSX Lion. I've installed XCode, GCC, Readline, Homebrew, and JewleryBox, but I have no idea what's going on. Any pointers? Here's what my terminal says? hugo-pc:ruby-1.9.3-p125 squantowalks$ rvm install 1.9.3 Fetching yaml-0.1.4.tar.gz to /Users/squantowalks/.rvm/archives Extracting yaml-0.1.4.tar.gz to /Users/squantowalks/.rvm/src Error running 'tar

    How do you install (build) Ruby 1.9.3 on OSX Lion?
  • Can't install Ruby under Lion with RVM – GCC issues

    Most questions regarding this problem are due to missing Xcode; I have Xcode 4.2 installed. Install attempt: rvm install 1.9.3 Installing Ruby from source to: /Users/jamie/.rvm/rubies/ruby-1.9.3-p0, this may take a while depending on your cpu(s)... ruby-1.9.3-p0 - #fetching ruby-1.9.3-p0 - #extracted to /Users/jamie/.rvm/src/ruby-1.9.3-p0 (already extracted) Fetching yaml-0.1.4.tar.gz to /Users/ja

    Can't install Ruby under Lion with RVM – GCC issues
    udzura
    udzura 2012/01/16
    オッこのスレッドいい感じにまとまってる
  • kuroigamen.com

    This domain may be for sale!

    udzura
    udzura 2012/01/16
    これ、他の諸々のコンパイル時にも影響しそう…
  • gccコマンドの使い方: UNIX/Linuxの部屋

    最終更新 2019-01-03 GCC は GNU が作成している C・C++ 等のコンパイラである。Linux においては標準の C コンパイラが gcc になっている (cc と gcc へのシンボリックリンクになっている)。Solaris など商用マシンでも gcc の重要度は高く、OS 標準のコンパイラではコンパイルできず、gcc を使わないといけないソフトウェアも多い。

    gccコマンドの使い方: UNIX/Linuxの部屋
  • 1