タグ

gccに関するadvblogのブックマーク (20)

  • フリーソフトウェア徹底活用講座 - GCC - 岸哲夫 - Interfaceコラム目次

    ◆移り気な情報工学 第62回  地震をきっかけにリアルタイム・システム再考 第61回  海を渡って卵を産む北京の「海亀族」 第60回  超遠距離通信とソフトウェア無線 第59回  IT先進国フィンランドの計画性 第58回  物理的に正しいITの環境対応 第57回  年金,e-チケットに見るディジタル時代の情報原 第56回  「着るコンピュータ」から「進化した布地」へ 第55回  技術を楽しむネットの文化 第54回  情報爆発2.0 第53回  プログラミングの現場感覚 第52回  GPS+LBS(Location Based Service)がおもしろい 第51回  技術の格差社会 第50回  フィンランドに見る,高齢化社会を支える技術 第49回  たかが技術倫理,されど技術倫理 第48回  若者の理科離れ,2007年問題から「浮遊」せよ 第47回  機械のためのWWW――Google

  • 第6回 LinuxでC/C++言語のコンパイルを試す

    今回は,最新Linux(Ubuntu 8.04 LTS 日語ローカライズド Desktop CDをインストールしたマシン)上で,C/C++言語で記述したプログラムをコンパイルして動かしてみます。また,4ページ以降では,WindowsにインストールしたVMware Player上で,「Ubuntu 8.04 LTS 仮想マシン」を動かした場合を想定し,具体的な操作方法を紹介します。 これまでは,オープンソースの基事項や,Linuxコマンドの必要最小限の使い方を説明してきました。 今回はいよいよ,Linux上でC/C++言語を用いてソースコードを作成し,コンパイルして実行する流れについて解説します。Linuxディストリビューションの上で,「どのようにコードを書いて,コンパイルし,実行するのか」について,具体的なイメージをつかんでください。 開発環境の準備 多くのLinuxディストリビューシ

    第6回 LinuxでC/C++言語のコンパイルを試す
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
    advblog
    advblog 2009/05/22
  • GCCでのH8割り込み - PukiWiki

    advblog
    advblog 2009/04/22
  • hogetrace - 関数コールトレーサ - memologue

    でかいソフトウェアの、大量のソースコードを短時間で読む必要が生じたので、その補助ツールとしてptrace(2)ベースのLinux用関数トレーサを自作しました。こういうツール上でまずソフトウェアを実行してみて、どのファイルのどの関数がどういう順で呼ばれるか把握おけば、いきなりソースコードの山と格闘を始めるより楽かなーと思いまして。せっかく作ったので公開します。 http://binary.nahi.to/hogetrace/ straceはシステムコールだけ、ltraceは共有ライブラリ(DSO)の関数呼び出しだけ*1をトレースしますが、このツールは、実行バイナリ中の自作関数の呼び出しもトレースします。例えば再帰で1から10まで足し算するソースコードを用意して % cat recursion.c #include <stdio.h> int sum(int n) { return n ==

    hogetrace - 関数コールトレーサ - memologue
  • 普通のやつらの下を行け: assert_caller() - bkブログ

    普通のやつらの下を行け: assert_caller() 以前に、低レベルプログラミングを愛好する知人が「普通のやつらの下を行け」を口癖にしていました。当時は何を言っているのかと聞き流していましたが、自分も最近になってようやく低レベルプログラミングのおもしろさがわかってきました。今回は「普通のやつらの下を行け」企画の第一弾として assert_caller() なるものを作ってみたいと思います。 assert_caller() とは assert_caller() とは、特定の関数からの関数呼び出しだけを通すためのアサーションです。たとえば、次のように foo() の先頭で assert_caller(main) と書いた場合、 foo() は main() からしか呼び出せなくなります。他の関数から foo() を呼び出した場合はエラーメッセージとともに異常終了します。 void foo

  • GCCで、__attribute__ にconstructor指定した関数内から他のライブラリを呼び出すとき - torutkのブログ

    Binary Hackで記載されていたGCCの__attribute__を使ってconstructor指定した関数は、その実体を持つ動的リンクライブラリファイルをロードしたときに実行されます(main関数が呼ばれる前)。 namespace charlie { void init() __attribute__((constructor)); void init() { std::cout << "charlie::init()" << std::endl; // 初期化処理 } } 例えば上記のコードを持つ動的リンクライブラリlibcharlie.soを作成し、main関数を持つコードとリンクすると、charlie::initが先に実行されて、mainが実行されます。 main.o ---> libcharlie.so これはなかなか便利な機能ですが、扱い上の注意点もあります。cons

    GCCで、__attribute__ にconstructor指定した関数内から他のライブラリを呼び出すとき - torutkのブログ
  • GCC Manual Japanese Translation

    GCC マニュアル日語訳 gcc-2.95.3 に付属の Texinfo 形式マニュアルの日語訳です。 "Using and Porting GCC" の日語訳(HTML 1508KB) "The C Preprocessor" の日語訳(HTML 124KB) ソースを含むフルアーカイブ(tar+gz 形式 2632KB) Texinfo 形式ソースのみのアーカイブ(tar+gz 形式 894KB) Info 形式ファイル(tar+gz 形式 485KB) DVI 形式ファイル(tar+gz 形式 805KB) 以下は、ソースアーカイブに含まれる README の内容です。 gcc-jman α-20010717版パッケージ 矢吹洋一 2001年7月17日 このパッケージには GCC のマニュアルの日語訳が含まれています。 GCC のマニュアルとは、GCC のソースコード

    advblog
    advblog 2008/11/29
  • ホワット・ア・ワンダフル・ワールド C/C++ コンパイラでの末尾再帰最適化判定

    なんかプチブームに. 末尾再帰最適化をC/C++上で検知してみたい (higepon さん) 末尾再帰最適化判定 (yaneurao さん) 再帰判定 (shinh さん) んで,ちょっと気になったのが. 再帰の最適化 (masa.edw さん) shinh さんの fact のコードは末尾再帰じゃないけど、こういうのもちゃんと解析して最適化するんだー GCC すげー。 いやいや,ちゃんと末尾再帰のコードですがな… 追記 : 全然末尾再帰じゃないです (寝ぼけすぎ…).末尾再帰 (= ループ) に (GCC が) 変換可能なコード,です. shinh さんのコード (質部分だけ) int fact(int x) { return x == 1 ? 1 : fact(x-1) * x; } は, int fact(int x) { if(x == 1) return 1; else ret

  • ホワット・ア・ワンダフル・ワールド gcc のフロントエンド作る日記 (1) if を作ろう

    いつものことながら gcc のことを書き出すと目に見えてアクセス数が落ちる当ブログですが,そこはまぁ KY で (最近の中高生は「空気読めない」をこういうそうです). フロントエンドの雛形は hello-world を使うとして,後は個々の構文木の作り方をいろんなところからパクッてくれば,とりあえずフロントエンドは作れるはず. 一番手ごろなところということで,いつものように treelang フロントエンドサンプルを見て見ます. treetree.c あと,wo さんの ILogScript のマニュアルも非常に参考になります. ILogScriptほげほげ # あー,そろそろ真面目にgcc internals/9.8 Expressions の翻訳進めないとなぁ.gcc には大量の組み込みの構文木ノードが用意されていて,これを読めば,ソースコードを構文木として表現するにはどのノードを使え

  • ホワット・ア・ワンダフル・ワールド デバッガを勉強しよう

    今回,初めてまともに gdb を使いました.ちょーいまさらで,すいませんすいません.生きててすいません. ことの経緯は. マイミクの組込み系の偉大な御方が,最近仕事で gcc のバックエンドを作り始めたそうなんですが. gcc はデバッガで完全に動作を追いかけられるのでどこで何をやってるのかを見るのは比較的楽なんだけど,逆にデバッガ無しでソースコードだけを読むのは無理.理解する頃にはエンジニア人生が終わってそうだ. とのこと.linux kernel のコードをスイスイ追っていたような人でもこうなのだから,やっぱり gcc のコードは頭おかしい魔窟なのだろう. 僕は 「ソースコード -> GENERIC」 のあたりをちょろっと見たことがある程度なんですが,「GIMPLE -> RTL -> アセンブリコード生成」 のあたりは関数ポインタ使いまくりなので,コードだけを追っていくのはほぼ絶望的

  • ホワット・ア・ワンダフル・ワールド Write GCC in C++

    Write gcc in C++ (GCC Summit 2008 in otawa) PDF # GCC Summit に行ってきて興奮冷めやらぬ QLeap さんに twitter でこの PDF を教えてもらったのが,そもそもの関心を持ったきっかけ. あとの流れは, Converting GCC to C++ > tabesugi.net 2008年 6月 (2)。Jun 19 [Thu] (20:38) >>はじめてのにき (2008-06-20) みたいな感じ. Lisp ってのがあいまいですけど,通常単に Lisp と言ったら,Common Lisp のはず.そして Common Lisp はネイティブコンパイラの方が普通だと思います. ブートストラップを達成云々は CLISP (バイトコードコンパイラ) じゃなくて,SBCL (CMUCL) のことですかね.SBCL (CMU

  • ホワット・ア・ワンダフル・ワールド GCC Hacks セミナー資料

    Author:あろは (alohakun) WAKATSUKI toshihiro デバッガ開発者見習い(予定) 連絡先 : alohakun ___at___ gmail.com mixi : http://mixi.jp/show_friend.pl?id=182927 twitter : http://twitter.com/alohakun このページはインラインフレームを使用しています

    advblog
    advblog 2008/11/29
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • GCCの標準インクルードパス - torutkのブログ

    /usr/local/include 知らなかった。てっきり/usr/includeだとばかり。 GNUコーディング規約によると、以下である。 includedir Cプリプロセッサ制御行 #include によりプログラムからインクルードされるヘッダファイルを置くディレクトリ. これは通常 /usr/local/include であるが $(prefix)/include と書く. (Autoconf を使うのなら, @includedir@ と書く. GCC以外のコンパイラはディレクトリ /usr/local/include にあるヘッダファイルを参照しないので, ここにヘッダーファイルをインストールするのはGCCに対してだけ意味がある. /usr/includeについても上述GNUコーディング規約に記述があります。 oldincludedir GCC以外のコンパイラで使われる #in

    GCCの標準インクルードパス - torutkのブログ
  • はてなブログ | 無料ブログを作成しよう

    織田信長 ぼちぼち、元気にやっています。少し薬にも慣れた...んかなぁ。相変わらずべられないけど。朝、指がこわばって文字なんて入力できなかったけど、それはほぼなくなった。関節もどこも痛くない。薬効いてきたんやろな。 で、ブログを書こうと言う気がまた起きてきた。 …

    はてなブログ | 無料ブログを作成しよう
  • はてなブログ | 無料ブログを作成しよう

    ネイルで使う材料で、DIY時の木割れやネジ跡を派手にしたらかわいい OSB合板でちょっとしたボックスをつくりました。 ビス止め下手すぎて木を割ったり穴あけすぎたりした場所に、好きな派手色の樹脂を詰めてパテ代わりにしてみました。 ちょっと某HAYっぽみ出て可愛かったので、自分用にメモです。 手順 塗装 派手色グミジェルで失敗部分…

    はてなブログ | 無料ブログを作成しよう
  • ホワット・ア・ワンダフル・ワールド 社会人になりました.

    今日が入社日でした.まぁ,既に何度も通っていたので,いつもと何も変わりませんでしたが. 会社の雰囲気は,見学した時に想像していた通りでした.ありとあらゆる意味で,大学の研究室のような感じで,就職したという実感がゼロです.北大の研究室から,別の研究室に移ってきたような感覚.会社の先輩方や社長とは,だいたい 20 歳以上ぐらい離れているわけが,それほどの年齢さを感じません.みなさん非常にお若く,溌剌としていて,年齢を全く感じさせません.こういう歳の取り方したいな,という方々ばかりです. 仕事の内容は,GCC で何かやりたいとは思っているのですが,まだ何も決まっていない感じです.今日は,午前中は備品を揃えてもらったり,開発環境を整えたりしてました.午後は,なんかよくわかりませんが,いきなりいろいろ問題が起きて GCC を 10 回ぐらいビルドしてました (笑) 買ってもらったマシンが速くて良いで

  • はてなブログ | 無料ブログを作成しよう

    トルコ水紀行 -前編 イスタンブール- みなさんこんばんは、地図子です!8月は久しぶりに毎月更新にしようと思います。今までずっと名古屋について書いてきましたが、ワープして・・・ トルコについて書きたいと思います。 2024年6月に念願のトルコに行ってきました。いつからトルコに行きたかったかわから…

    はてなブログ | 無料ブログを作成しよう
  • gcc attribute overview

    function attributes -- type attributes -- variable attributes This list was automatically generated from the GCC documentation. It lists documented GCCs function, type and variable attributes (__attribute__) together with the GCC versions the attribute was found in. Versions used: Major - minor version used. 2.0 - 2.0 2.1 - 2.1 2.2 - 2.2.2 2.3 - 2.3.3 2.4 - 2.4.5 2.5 - 2.5.8 2.6 - 2.6.3 2.7 - 2.7.

    advblog
    advblog 2008/09/21
  • 1