This web page provides GNU Fortran, C and C++ for Windows for download. Equation Solution build the compiler. DOWNLOAD: RELEASES Download self-extracting executable, and run the executable to install.
Location: ProgrammingUnlimited.Net :: Articles :: SEH on MinGW NOTE: THIS INFORMATION MAY NO LONGER BE RELEVANT AS CLANG HAS PARTIAL SEH SUPPORT FOR BOTH X86 AND X86_64! THIS PAGE REMAINS HERE FOR HISTORICAL PURPOSES. Note: you might also be interested in LibSEH, which can be found here. Structured Exception Handling is a feature implemented in most versions of Windows (at least since Windows 95)
Google's Go Has Been Called To Go Into GCC 4.6 Written by Michael Larabel in Google on 24 October 2010 at 08:16 AM EDT. 13 Comments Last year one of the many projects introduced by Google was the Go programming language. Do you remember? It's reached a state of being a production-ready language, at least within Google's confines, but this project hasn't received as much attention and interest by t
Table of Contents Reporting Bugs What we need What we DON'T want Where to post it Detailed bug reporting instructions Detailed bug reporting instructions for GNAT Detailed bug reporting instructions when using a precompiled header Frequently Reported Bugs Non-bugs General C C++ Common problems when upgrading the compiler Reporting Bugs A good bug report, which is complete and self-contained, enabl
先日Python 3.1a1 がリリースされました。 Python 3.0 は Python 2.6 に比べてパフォーマンスが悪かったのですが、Python3.1はPython2.6よりも速くなるかもしれません。 Python3.1のパフォーマンス向上は、主に次の2点が影響しています。 ioモジュールがC言語で書き直された computed goto の採用 (--with-computed-gotos というconfigureオプションで有効) computed goto という名前を聞き慣れなかったのですが、調べてみると Ruby 1.9 の VM (YARV) や、 Perl6 の VM として開発されとうとうリリースされた Parrot にも採用されている手法でした。今回は簡単に computed goto の紹介をしてみます。 とりあえず label as value C言語の規
By Hiran Ramankutty Introduction Even if one is an experienced C programmer, a successful compilation of your program in the first attempt certainly brings a sense of satisfaction - whatever the logic behind it may be. "Hey, look! The GNU C Compiler has accepted my program!" Take a look at the two code samples given below; these are the two most common methods used by programmers to start coding a
Chris Lattner's post last week to cfe-dev, "Blocks" in Clang (aka closures), has generated a certain amount of enthusiasm, since Clang is, or will be, a compiler for C to LLVM (cf. LLVM 1.5 has been released!). The representation of closures as blocks resembles the technique used for Poletto's 'C language; cf. the related discussion on The MetaC Language.
明らかに前者の方が速いだろうと思っていたがコンパイラをなめていたようだ。 g++ (Ubuntu 4.3.3-5ubuntu4) 4.3.3 Copyright (C) 2008 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 PURPOSEon model name : Intel(R) Xeon(R) CPU W3520 @ 2.67GHzで、次のコードを試してみた。 #include <iostream> #include <vector> #include <utility> #includ
gcc(Gnu C Compiler)の拡張文法 [警告!] C/C++言語初心者はこのページを読まないでください。 このページではgcc独自のC/C++拡張文法について解説します。 これらの拡張文法が可能にする機構は確かに便利なのですが、 もちろんANSI規格に従っていないので、一般的には使うべきではありません。 C/C++言語文法を学び始めている初心者はこれらgcc拡張文法を 知るべきではありません。C/C++言語を正しく理解する上で大きな 支障となります。 C/C++言語を十分に熟知した者は、gccがこのようなこともすることを 「雑談」として知っておくと楽しいかもしれません。もちろん 実戦に使うべきではありませんが。しかし初心者が偶然に、これらの 機能を使ってうまくいく場合がありますので、そのような初心者を 見つけたら、それが標準規格ではないことを注意してください。 配列変数をコピー
Code Project という有名サイトに、VC++の例外処理方法に関する記事があります (http://www.codeproject.com/cpp/Exceptionhandler.asp) が、そこにg++の例外処理方法を解説したコメントがありました。 ざっくりと次のような事を言っています(翻訳してるわけではないので詳しくは英文読んでください)。 g++は、VC++とはちょっと違うやりかたで例外処理を実装している。g++の場合、実際に例外がthrowされない限りは、try/throw/catchを使ったコードを書いてもランタイムのコストはかからない。 foo()がbar()を呼んでいて、bar()が例外を投げるとせよ。このとき、foo()はスタックに戻りアドレス*1を置いてからbar()を呼ぶ。この戻りアドレスを仮にXとする。 このときコンパイラは、 (X, 掃除コードのアドレス
まだ正式版ではないけれど,かなり安定してきたらしいgcc4.1.変更点一覧*1によると,とにかく最適化が改善された模様. そこで,とりあえず以下のようなコードをつかって,最適化(特にauto-vectorization)ぐあいを確認してみた. #define SZ 320*240*10 void foo(const int * __restrict__ s, int * __restrict__ d) { int i; for (i=0;i<SZ;i++){ *d = (*s>0)?*s:0; d++; s++; } } int sum(const int * __restrict__ s) { int sum=0; int i; for (i=0; i<SZ; i++){ sum += *s; s++; } return sum; } int main() { static int sr
プリミティブ型でなくとも小さな構造体 (or 共用体) ならレジスタ渡しになる、ってのは C で最適化されたコードを書く際に、しばしば使われるテクニック。でも C++ だと、コピーコンストラクタやデストラクタがある場合はこの最適化が不可能。他にも言語仕様的に細かな条件はあるのかな。ともかくコンパイラの実装でこの可否判断はどうなっているのか、と SUN のドキュメントを読んでいたら、とても頑張っていて驚いた。 In compatibility mode (-compat[=4]), a class is passed indirectly if it has any one of the following: A user-defined constructor A virtual function A virtual base class A base that is passed ind
とある都合で、ソフトウェア開発の際にソースコードの提供されていないツールを使うことになりました。x86なLinux上で動く、ちょっとしたtoolchainです。が、そのツールの処理速度が遅く、入力サイズに対して、結果が出てくるまでの時間がどうもO(N^2)かそれよりひどい。遅くてイライラするので、昨晩ついカッとなってパッチを当てました。そのメモです。また、ありがちな事態(?)な気もするので、みなさんどうしてるのかなー的なお伺いも兼ねて。 ボトルネックの特定 そのツール(以下A)の実行バイナリはstripされておらず.symtabが残っていました。のでまず、どこが遅いのかgoogle-perftoolsをLD_PRELOADしてそのソフトウェアを実行し、実行プロファイルを取りました。すると、嬉しいことにある一つの関数(以下F)で全体の90%以上の時間を消費していることがわかりました。関数Fは
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
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く