Binary 2.0カンファレンス 2006 発表資料とレポート Binary 2.0 カンファレンス 2006 は大盛況のうちに無事終了いたしました。開催にご協力いただいた皆様、スピーカーの皆様、参加していただいた皆様、大変ありがとうございました。当日の発表資料とレポートをこのエントリでまとめます。
Binary 2.0カンファレンス 2006 発表資料とレポート Binary 2.0 カンファレンス 2006 は大盛況のうちに無事終了いたしました。開催にご協力いただいた皆様、スピーカーの皆様、参加していただいた皆様、大変ありがとうございました。当日の発表資料とレポートをこのエントリでまとめます。
WhirlwindTutorialOnCreatingReallyTeensyElfExecutablesForLinux - 目次 Linux で動く極小 ELF 実行ファイルをつくる怒涛のチュートリアル (あるいは "Size Is Everything") コメント 以下の文章の日本語訳です: http://www.muppetlabs.com/~breadbox/software/tiny/teensy.html gcc の info の日本語は以下のページから拝借しました: http://www.asahi-net.or.jp/~wg5k-ickw/html/online/gcc-2.95.2/gcc_2.html#SEC13 Linux で動く極小 ELF 実行ファイルをつくる怒涛のチュートリアル (あるいは "Size Is Everything") She studied
■ [FC6] --hash-style=both 日経LinuxにFC6では--hash-style=bothをつけてリンクされてて速くなってると書いてあったので、Rubyで試した。 time make testだと時間が短かすぎるのか差が全く出ない。 test-allは1.9だと今動かないしなあ。 optparse.rb:666:in `OptionParser::CompletingHash#match': failed to splat (TypeError) あれ、*"string"はだめになったんだっけ? % ruby-1.9 -ve 'p(*"string")' ruby 1.9.0 (2006-11-07) [i386-linux] -e:1: failed to splat (TypeError) ■ [Soft] GNU tar 1.16 (Release) Chang
本書に寄せて by 川合史朗さん クレジット はじめに 1章 イントロダクション 1. Binary Hack入門 2. Binary Hack用語の基礎知識 3. fileでファイルの種類をチェックする 4. odでバイナリファイルをダンプする 2章 オブジェクトファイルHack 5. ELF入門 6. 静的ライブラリと共有ライブラリ 7. lddで共有ライブラリの依存関係をチェックする 8. readelfでELFファイルの情報を表示する 9. objdumpでオブジェクトファイルをダンプする 10. objdumpでオブジェクトファイルを逆アセンブルする 11. objcopyで実行ファイルにデータを埋め込む 12. nmでオブジェクトファイルに含まれるシンボルをチェックする 13. stringsでバイナリファイルから文字列を抽出する 14. c++filtでC++のシンボルをデマ
prelink の効果を測定する prelink は大量の共有ライブラリをリンクしたプログラムの起動時間を短縮するためのツールです。最近の Linux で利用できます。Gentoo Linux Prelink ガイドによると「典型的なKDEプログラムの起動時間は50%も短縮することができます」とのことです。このエントリでは簡単なプログラムを書いて prelink の効果を調べる実験を行ってみます。 通常、動的リンクされたプログラムはシンボルの参照時に再配置およびシンボルのルックアップなどを行う必要があります。prelink は実行ファイルと依存する共有ライブラリを書き換えて、これらの処理を行う必要性を減らします。また、prelink されたプログラムはリロケーションによって発生する共有不可能ページが減るため、プロセス間で共有できるページが増えるというという効果もあります。 prelink
こんなプログラムはいやだ: INT_MIN / -1 昨日とは別の知人から、INT_MIN / -1 を計算するとおもしろいことになると教えてもらいました。次の C のプログラムをコンパイルして実行するとどのような結果になるでしょうか。 #include <limits.h> int main () { volatile int a = -1; printf("%d\n", INT_MIN / a); return 0; } 結果は、プラットフォーム依存ですが、 x86 の上では SIGFPE (Floating point exception) で落ちると思います。 例によって、volatile をつけているのはコンパイラの最適化を防ぐためです。-1 をいったん、変数 a に入れているのも、コンパイラがコンパイル時に計算を済ませてしまうのを防ぐためです。 GCC で x86 用のインライ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く