タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

gccに関するmtymのブックマーク (8)

  • RAIIもどき in C __attribute__((cleanup(fn)))

    gccの__attribute__((cleanup(fn))) が便利すぎる件について。 C++でコードを書くときは、RAIIとか呼ばれているイディオムを使えば、ご存じの通り、ロックしたmutexを手動で開放する必要もないですし、newしたオブジェクトを手動でdeleteする必要もないです。 void Baz::boo() const { boost::mutex::scoped_lock lock(mutex); // ... return; // lock変数のデストラクタで自動開放。手動での開放不要 }でもC言語だと、当然ながら手動で開放しないといけません。複数箇所でreturnしている場合など、タイプが面倒臭すぎ。 int foo() { pthread_mutex_lock(&mutex); // ... if (hogehoge) { pthread_mutex_unlock

    RAIIもどき in C __attribute__((cleanup(fn)))
    mtym
    mtym 2009/04/26
  • GCC some extensions

    gcc(Gnu C Compiler)の拡張文法 [警告!] C/C++言語初心者はこのページを読まないでください。 このページではgcc独自のC/C++拡張文法について解説します。 これらの拡張文法が可能にする機構は確かに便利なのですが、 もちろんANSI規格に従っていないので、一般的には使うべきではありません。 C/C++言語文法を学び始めている初心者はこれらgcc拡張文法を 知るべきではありません。C/C++言語を正しく理解する上で大きな 支障となります。 C/C++言語を十分に熟知した者は、gccがこのようなこともすることを 「雑談」として知っておくと楽しいかもしれません。もちろん 実戦に使うべきではありませんが。しかし初心者が偶然に、これらの 機能を使ってうまくいく場合がありますので、そのような初心者を 見つけたら、それが標準規格ではないことを注意してください。 配列変数をコピー

    mtym
    mtym 2007/01/25
  • clmemo@aka: gcc の警告オプション -Wall と -W

    先日、友人と clmemo@aka: Binary Hacks がらみで、gcc の Warning flag をどうしてるか? という話になった。友人は、とりあえず -Wall オプションを付けているという。なるべく警告の出ないコードを書きたいものだよね、と応えた後、ぼくはかう続けた。「でも、-W オプションを付けると、-Wall よりも詳しい警告が出るよ」友人は驚いていた。 せっかくなので、ちょっとここでまとめておかう。 -Wall オプション gcc の info を読むと、-Wall オプションは、以下のオプションを全て指定したものに等しいとある (gcc 3.3.4 から引用)。 -Wno-import -Wchar-subscripts -Wcomment -Wformat -Wno-format-y2k -Wno-format-extra-args -Wno-format-z

    mtym
    mtym 2006/11/18
  • TSU-GCC製作記 - higepon blog

    面白い読み物。 大学の授業で作ったオリジナルCPUをターゲットとするGCCの製作記。 このようなものを大学3年のときにやるとは・・・。 TSU-GCC 製作記 じっと良く見てみたら、Min-Camlのid:sumiiさんだということに気づいてびっくり。 こういうのを読むと自分が足踏みばかりして前に進んでいないのではという気になってきますね。 気を引き締めてがんばろう。

    TSU-GCC製作記 - higepon blog
    mtym
    mtym 2006/05/15
  • TSU-GCC 製作記

    前のページ 次のページ 目次 TSU-GCC 製作記 住井 英二郎 (sumii@is.s.u-tokyo.ac.jp)1997 年 4 月 5 日 1. はじめに 2. 96 年 10 月 3. 96 年 11 月 4. 96 年 12 月 5. 97 年 1 月 6. 97 年 2 月 6.1 第 1 週 6.2 第 2 週 6.3 第 3 週 6.4 第 4 週 7. 97 年 3 月 7.1 第 1 週 7.2 第 2 週 7.3 第 3 週 7.4 第 4 週 8. 97 年 4 月 8.1 第 1 週 9. おわりに 前のページ 次のページ 目次

    mtym
    mtym 2006/05/15
  • レッドハット マガジン 64ビットコンピューティング: 32ビット環境での共存

    Guilt is usually considered a negative emotion, but by steering it well, you can achieve surprising success.

    mtym
    mtym 2006/03/22
  • gccのx86インラインアセンブリに関して

    GCCでインラインアセンブリを使用 する方法と留意点等 for x86  (1999〜2006年10回改訂、2006年1月22日注意を追加、最終更新日2006年5月27日) 文: A. SAITOH <s-akira at users.sourceforge.net>  home ※システム名、CPU名は一般に開発会社の登録商標です。 以下の情報はあまり過度に信用しないで下さい。より正確な情報は、asやgccのinfoから得て下さい。 個々のプロセッサ命令の解説はここでは述べません。そのような技術資料は、インテルやAMDのウェブ サイトのdeveloper向けのページからpdf形式で入手できます。 以下の文及びプログラム例の運用結果に関して、筆者は一切責任を負いません。 参考文献 [0] D. Stancevic, K. Scheibler, J. Leto, Linux Assembly

    mtym
    mtym 2006/02/11
  • gccの最適化オプション(1)

    今回は最適化オプションのまとめとLINK関連のオプションの補足,および出力の種類の制御オプションの補足,またIntel386とAMD x86-64オプションについて説明する. (筆者) 来は最適化オプションを付けなくとも理想的なコードを生成することがコンパイラの役目です.しかしそのようなレベルに達していない以上,使う側が理解して最適化オプションを付加してやらなければなりません. 特にこだわらないのであれば,普遍的な最適化をコマンド・オプション一つで行うことが可能です. ● -O この最適化オプションを付けることで,無理のない最適化を行うことができます.あまりコンパイル時間をかけず,メモリも消費しない程度に,コード・サイズと実行時間を減らす最適化を行います.なお,フレーム・ポインタなしでもデバッグをサポートできる機種では,-fomit-frame-pointerをオンにします. -O1オプ

    mtym
    mtym 2006/02/11
  • 1