Game Creators Conference '16 http://www.gc-conf.com/ http://www.gc-conf.com/session.html#session-06
![GCC2016 ゲームエフェクト制作の現状報告](https://cdn-ak-scissors.b.st-hatena.com/image/square/d78674e563fc3c1475671eb11e94c8af052f05aa/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fgcc2016vfx-160305185936-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
オープンソースで有名なEric S. Raymondが、自由ソフトウェアで有名なRichard Stallmanに、GCCのアンチプラグインポリシーについて突っ込んでいる。 GCCは、長年、コンパイラーのモジュール化を政治的な理由で行っていなかった。もし、例えばパーサーや意味解析だけを分離して使えるようにしたり、内部表現を規格化したりしてしまうと、GCCの一部が、不自由なソフトウェアに取り込まれたり、あるいは不自由なソフトウェアがGCCのプラグインという形で入り込むことになってしまう。これは、利用者の自由を第一とする自由ソフトウェアにとって、悪夢のような未来である。そのような未来を未然に防ぐために、政治的な理由で、GCCのはプラグインに反対するポリシーを採用している。もし、GCCを改良したければ、自由なソフトウェアとなるべきなのだ。そして、GCCのプロジェクトに参加するべきなのだ。 とはい
Why does the C preprocessor interpret the word "linux" as the constant "1"? - Stack Overflow Why does the C preprocessor interpret the word “linux” as the constant “1”? | Hacker News 以下のCコードをコンパイルしようとするとエラーになる。 $ cat test.c #include <stdio.h> int main(void) { int linux = 5; return 0; } $ gcc test.c test.c: In function ‘main’: test.c:4:9: error: expected identifier or ‘(’ before numeric constant なぜ
JAXAのH2Bロケットに搭載されたTOPPERS/HRPカーネルでの開発環境構築を基にした,高信頼環境におけるgccの能力と,立ちはだかる壁のお話.
GCC開発チームは3月22日、「GCC 4.8.0」を公開した。GCC自体のビルドにC++コンパイラが必須となったほか、最適化機能の強化などが行われている。 GCC(GNU Complier Collection)はGNU Project傘下で開発されているコンパイラ。CやC++、Objective-C、Fortran、Java、Ada、Goなど多数の言語に対応する。 GCC 4.8は、2012年3月に公開されたバージョン4.7に続くメジャーアップデート版となる。大きな変更点としては、ビルドにC++コンパイラが必須となった点がある。GCCは長らくCで実装されていたが、C++で実装したいという要求があり、C++への移行が進められていた。本バージョンではC++への移行が完了し、ソースコードからGCCをビルドする際にC++2003準拠のC++コンパイラが必要となった。また、ループ最適化機構「Gr
本の虫: GCC 4.8のリリースノートとC++関連の変更で、GCC 4.8は464.h264ref: SPEC CPU2006 Benchmarkを壊してしまう。これはSPECベンチマークの規格違反によるものであると書いた。では、具体的に何なのか。それを解説している記事を発見したのでかいつまんで紹介。 Embedded in Academia : GCC pre-4.8 Breaks Broken SPEC 2006 Benchmarks Regehr: GCC 4.8 Breaks Broken SPEC 2006 Benchmarks [LWN.net] どうやら、SPECベンチマークは以下のようなコードを含むそうだ。 int d[16]; int SATD (void) { int satd = 0, dd, k; for (dd=d[k=0]; k<16; dd=d[++k])
今時のgcc に驚いた。kernel/VM advent cal. 2012/ DEC/07 | たけおか ぼちぼち日記 kernelVM advent calendar 2012/ DEC/07 今時のgcc に驚いた話。 (kernelともVMとも関係なくて、スマソ) -- a.c main() { foo(); } foo() { printf("FOO"); bar(); } bar() { printf("BAR"); foo(); } -- というソースを書く。 foo()とbar()は、お互いに呼びあい無限ループを描く。 % cc -S -O0 a.c で、出たオブジェクトは -- a.s -O0 (略) main: .LFB0: (略) movl $0, %eax call foo (略) ret .cfi_endproc .LFE0: (略) .LC0: .string
コンパイラ「GNU Compiler Collection(GCC)」の開発者は5月30日、開発元のFree Software Foundation(FSF)とGCC Steering CommitteeがGCCでのC++利用を承認する決定を下したことを発表した。目的は「ユーザーに優れたコンパイラを提供するため」とし、「GCCをC++コードベースにすることが目的ではない」と説明している。 GCCはCおよびC++、Javaなど多数の言語に対応するコンパイラ。GCCそのものはCで実装されているが、これからはC++による機能実装も許可される。ただし、C++に精通していないGCC開発者に配慮するため、利用するC++の機能に制限を設けるべきだとGCC開発者は記している。その後、適切だと判断されれば利用できる機能を拡充していくという方針を提案している。 GCCの開発者であるMark Mitchell氏
GNU Compiler Collection(GCC)メーリングリストへの投稿によると、GCC開発におけるC++の利用をGCC Steering CommitteeおよびFree Software Foundationが承認したとのこと(本家記事、SourceForge.JP Magazine記事)。 GCCはCで書かれているが、今回の決定により今後はC++での開発が可能になる。現時点ではどのサブセットを利用するかは未定とのこと。 この件をメーリングリストに投稿したCodeSourceryのMark Mitchell氏によると、C++の採用はより良いコンパイラを作るためとのことで、C++の利用それ自体が目的ではないという。同氏はC++に精通していない開発者を考慮し、当初は利用できるC++の機能を「Cプログラマーに理解し易く、かつC++初心者が間違い難い」ものに制限したほうが良いと提言して
FreeBSD、GCC 4.2.1でアップデート停止 FreeBSD - The Power To Serve FreeBSDはシステムコンパイラとツールチェーンの入れ替えを進めている。2010年5月中旬にカナダで開催されたBSDCan2010およびFreeBSD Developer Summitで、このあたりのまとまった議論と発表があった。GCCからLLVMへの移行はFreeBSDのみならず他のOSSプロジェクトでも進んでいる。FreeBSDの事例が他のプロジェクトにすべて当てはまるわけではないが、FreeBSDの場合にはどういった背景があってLLVMへの移行が決定されたのかがわかって興味深い。なお、いくつかのプロジェクトはFreeBSDと似たような理由で移行を進めている。 FreeBSDはこれまでGCCをシステムのデフォルトコンパイラとして採用してきた。強力な機能、必要とするアーキテク
ストーリー by reo 2010年05月25日 10時00分 諸君、私はベンチマークが好きだ 部門より GCC 4.6 には Core 2 / Core i7 向けの最適化機能が搭載されるそうだ (Phoronix の記事より) 。 GCC の ML に投稿されたメッセージによると、unaligned vector 命令の追加やよりチューニングされたスケジューリング機能の提供、命令の選択 / 重み付けモデルの改善などが計画されているとのことで、時期マイナーリリース版である GCC 4.6 での採用に向けて進められているそうだ。 これら機能の開発を行っているのは GCC や GNU 開発ツールのポーティング、独自のソフトウェア開発ツールの提供などを行っている CodeSourcery 社で、Intel の支援の下で進められているという。Intel は自社プロセッサ向けの最適化を売りにした
FreeBSD Daily Topics 2010年4月19日FreeBSD GCCを置き換えるLLVM Clang、広くテスト呼びかけ src ClangBSD - LLVM Clang Call for Test Roman Divacky氏がメーリングリストにおいてLLVM ClangのFreeBSD統合が一定のレベルに達したとしてコミュニティに広くテストを呼びかけています。LLVM Clangがセルフホストに到達したこと、ClangのC++サポートが向上したこと、i386/amd64のシステムとカーネルのビルドと成功していることなどが背景にあります。 テストはClangBSDのブランチを取得してビルドすることで実施できます。作業の詳しい方法はBuildingFreeBSDWithClang - FreeBSD Wikiにまとまっています。いつ、どのタイミングでメインブランチに取り込
The GNU Compiler Collection 14日(米国時間)、GCCの最新版となるGCC 4.5.0がリリースされた。GCC 4.4.0のリリースから1年経てのメジャーアップグレードバージョンとなる。バグ修正や最適化の改善以外にも新機能の追加や新しいアーキテクチャのサポートが実現されている。アクティブではない移植に対しては同バージョンで非推奨が指示されており、次のメジャーアップグレードバージョンではサポートの廃止が予定されている。GCC 4.5.0における主な特徴は次のとおり。 GCC 4.5.0の特徴 C++0xサポートの改善 (ラムダ式のサポート、explicit方変換処理のサポート、raw stringのサポート)。 libstdc++ランタイムライブラリへプロファイルモードの追加。 コンパイル時により複雑な算術を最適化処理するためにMPCライブラリを使用。 Graph
未踏プロジェクトの支援を受けて開発していた、C/C++のための開発援助ツールGCCSenseをリリースしました。配布物やドキュメントは次のURLから入手できます。 http://cx4a.org/software/gccsense/index.ja.html 開発援助ツールと銘打っていますが、現状利用できる機能はコード補完と自動構文チェック(Emacsのみ)だけです。将来的には関数ヘルプ機能や型表示機能を実装する予定です。 GCCSenseはコード補完などの機能を搭載した独自のGCCを利用しているため、インストールがかなり面倒です。ドキュメントによってある程度カバーしたつもりですが、環境によってまちまちなのでインストール時に問題が出てくるのは必至だと思います。その際は私に連絡してください。 また、独自GCCを利用している関係上、現状ではWindowsでの利用はできません。自由なソフトウェア
今年の文化祭で書いた記事です。 - C言語といえば、いやなイメージ、過去の遺産といった感じがあるかもしれません。 C言語のネガティブな側面というと、やはりポインタやメモリ管理などが難しい、ということが思いつくかもしれません。 しかし、C言語のポインタは表記に騙されやすいだけで、仕組み自体は全く難しくありません。 文法も、どこぞのPerlやC++と比べたら屁でもない単純さです。 実のところ、仕様が煩雑で難しいのは、Cプリプロセッサなのであります。 普段からあまり複雑な使いかたをしないから気づかないかもしれませんが、Cプリプロセッサの置換処理は、欺瞞と裏切りに満ちた世界なのです。 これが進化するとテンプレートなどといったもっと面白いものになるのですが、今回はCプリプロセッサで計算をしちゃったりするところまで試しにやってみましょう。 (なお、GCCにより実験的に調べた記事なので、他のCコンパイラ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く