タグ

C++とCに関するfjwr38のブックマーク (8)

  • clangでソフトウェアをビルドしC++を知る - 射撃しつつ前転 改

    clangというのはllvm向けのC/C++/Obj-Cのためのフロントエンドで、最近はGoogle ChromeとかFirefoxもコンパイルできるレベルにまで成熟してきているらしい。 いくつかのブログで紹介されているのを見ても、ふーん、ぐらいにしか思っていなかったのだが、あんな大規模なソフトウェアがコンパイルできるというのは、考えてみるとすごいことである。大事なことなので強調しておくが、すごいことである。十分に実用的なレベルに到達していることだ。ビルドも早いし生成されたコードもg++と同程度には速いというし、試してみる必要がある。 という訳で、いくつか実際にソフトウェアをビルドしてみた。試してみた限りでは、 libstdc++のtr1/unordered_mapがビルドできない C++のコーナーケースで、clangが許容しないものが多い といった問題があったが、割とどれもすんなりとコン

    clangでソフトウェアをビルドしC++を知る - 射撃しつつ前転 改
  • どうも周知徹底が不足しているようなので再度のお願いとなりますが、C死ね。

    確かにCでしか書けない類のプログラムは存在する(例を挙げるならKernel)が、それはCの存在を赦す理由にはならない。確かにCに輪をかけてさらにダメな類のプログラミング言語は存在する(例を挙げるならC++)が、それはCの存在を赦す理由にはならない。確かにCでしか書けないダメプログラマは存在する(例を挙げてほしければここにおまえの名前を入れろ)が、それはCの存在を赦す理由にはならない。結論:C死ね。 そもそも計算機にできて算盤にできないことなど存在しない。存在しないんだぞ。なのに何故人はプログラムを書くのか。それはオートメーションのためなのであり、奴隷的使役から人類の尊厳を開放して、この地上に楽園を築くためである。まあそこまで大上段に振りかぶって普段から書いてる輩はいないにせよ、プログラミングとは楽をするため、豊かな人生を実現するため、誰かの幸福のために行うものだ。違うか?じゃあなぜプログラ

    どうも周知徹底が不足しているようなので再度のお願いとなりますが、C死ね。
    fjwr38
    fjwr38 2012/12/15
  • C++マニアック,よくわかるC++言語プログラミング講座

    What's new 2008/06/30 Google 検索窓をつけてみました。 2008/06/14 身長や体重など複数の基準でソートする例 を追記。 2008/06/14 英文字文書を読んで、文字数の頻度順にソートする例 を追記。 古い What's new 当サイトで提示するサンプルコードは、あまりにも単純明快で、一見つまらないぐらいに見えるはずです。しかし、もしあなたがそう感じたのであれば、それは、ねらいどおりで、大成功と言えます。ちょっと難解と思われている C++ が、つまらなく見えるほど平易に解説されているということですから。 基礎(入門)編 その他(非 C++ 的) エッセー C++ はアセンブリ言語のように軽快であるにもかかわらず、仮想クラスやクラスの継承、オペレータのオーバーロード、そして、テンプレートと、高級言語のプログラミングテクニックを余すところなく駆使で

  • bwin·必赢(中国)唯一官方网站

    fjwr38
    fjwr38 2012/06/15
    C系のコード補完
  • Big Sky :: quickrun.vim で C/C++ のコーディングをもっと便利にする quickrunex.vim を書いた。

    quickrun.vim は言うまでもなく、とても便利なプラグインなのですが、C言語もしくはC++を書く人にとって少し使いにく所があります。 quickrun はファイルタイプに従ったコマンド定義に従って編集中のファイルを実行してくれます。C/C++ であれば実行可能なコンパイラでコンパイルし、実行した結果を表示してくれます。 しかし例えば C++ で boost を使う場合、ヘッダオンリーな物であれば問題無いのですが、ライブラリをリンクする必要がある場合には、quickrun では面倒な実行方法を取らざるを得ません。 ユーザからすれば #include <boost/filesystem.hpp> と書かれていれば、出来れば -lboost_filesystem をリンクして欲しいものです。今日はそれを実現してくれる quickrunex.vim というのを作りました。 上記の様に bo

    Big Sky :: quickrun.vim で C/C++ のコーディングをもっと便利にする quickrunex.vim を書いた。
  • nomtats.com: auto-complete.elを使ってEmacsで自動補完

    auto-complete.elを使ってEmacsで自動補完 2010年11月23日火曜日 Emacsで開発していると、Visual StudioやEclipseにあるような補完機能が欲しくなるときがあります。Emacsのデフォルトでは[M-/]にexpand-abbrevが割り当てられているので、これを使えばそこそこ便利です。しかし、とても自動補完と呼べるほどのものではありません。 そこで、auto-complete.elを導入してEmacsでの開発を少し楽にしたいと思います。 http://cx4a.org/software/auto-complete/ wget http://cx4a.org/pub/auto-complete/auto-complete-1.3.tar.bz2 tar xfvj auto-complete-1.3.tar.bz2 mv auto-comple

  • Kanazawa Univ. Information System Design

    携帯型ゲーム機用のソフトウエアの開発では、クロス開発環境(開発環境 != 実行環境)構築のスキルと対象ハードウエアに関する詳細な知識またはハッキング力が必要となります。このような開発プロセスは、ゲーム機以外の携帯情報端末や通信機器のミドルウエアやアプリケーションソフトウエア開発でもほぼ同じです。ここでは、GBA (Gameboy Advance, ARM7TDMI搭載) を用いて、携帯型ゲーム機のアプリケーションソフトウエアの開発にチャレンジしてみましょう。プログラミング技法の追求よりも、携帯型ゲーム機の面白い使い方を発見してください。このテーマは、ハードウエア志向の人にお勧めです。 (注)Gameboy Advanceは、任天堂株式会社の登録商標です。市販ゲームソフトのコピー、改変等は、絶対にしないで下さい。また、ネットに流通している不正コピー(ROMイメージ)の使用や逆アセンブルは違法

  • Success is a Journey, not a Destination: 全てのCプログラマが未定義な振る舞いについて知っておくべきこと #1/3

    [What Every C Programmer Should Know About Undefined Behavior #1/3 の翻訳です。] LLVMでコンパイルしたコードは、最適化を有効にしているとたまにSIGTRAPシグナルを生成するのはなぜなのか、と聞かれることがある。いろいろ調べたあと、(X86での話だが) Clangは "ud2" インストラクションを生成していたことがわかった。"ud2" は__builtin_trap()が生成するインストラクションと同じものだ。[訳注: #UD例外を発生させる命令。ソフトウェアが#UD例外をハンドルできているかテストするために使われる。つまり、ソースコードが未定義な振る舞いを使っていたから、LLVMはud2インストラクションを生成したのであって、LLVMのバグではない、ということ] こういう問題は幾つかあって、すべて、Cの未定義な振る

    fjwr38
    fjwr38 2012/02/01
    その内低レイヤー人間になるかもしれない時のために
  • 1