タグ

ブックマーク / cpplover.blogspot.com (7)

  • Ubuntu 13.04の感想

    Ubuntu 13.04の感想だが、12.10よりさらに悪くなっている。おそらくLTSの12.04にとどまっていたほうが賢明だと思われる。 なぜか再起動するとカーネルパニックを起こす。今のところ再現率100%だ。シャットダウンしてから起動すれば、問題なく起動する。 プロプラドライバーのnvidia-currentがnvidia-304を指している。しかし、どうもnvidia-310が推奨ドライバーのようだ。 日フォントより簡体字フォントが優先されるのは相変わらず。12.04で修正されたと思ったのに12.10で問題が復活してそのままだ。.fonts.confを設定して自力で直した。 追記:ウインドウをドラッグして動かすとスムーズに動かない。確か11.10がこんな挙動で、12.04あたりで直されたはずだが。

    at-aka
    at-aka 2013/04/26
    最近の Ubuntu はどうしたことか?
  • GNU/Linuxでlibc++をビルドする方法

    "libc++" C++ Standard Library まず、libc++をチェックアウトする。 $ svn co http://llvm.org/svn/llvm-project/libcxx/trunk libcxx libc++をビルドするにあたっては、使用するC++ABIライブラリを明示的に指定しなければならない。C++ABIライブラリは、例外やRTTIや名前マングリングといったC++の低級層のABIを提供するライブラリである。GNU/Linuxでは、デファクトスタンダードである Itanium C++ ABIが使われている。 C++ABIの実装は複数ある。そのため、どの実装を使うのか選ばなければならない。GCCによるC++ABI実装は、libsupc++だ。libsupc++を使うことの利点は、GCCとC++ABIの互換性を保てるという事だ。 LLVMでも、C++ABIの実装

    at-aka
    at-aka 2013/04/20
    自分が Libc++ のコンパイルをするかと聞かれればしないと答えると思けど、やっぱソースからコンパイルって憧れる
  • LLVM/Clangがぜってーサポートしねーと宣言しているLinuxカーネルに多用されているGCC拡張

    [Phoronix] LLVM/Clang 3.3 Should Be Close To Building Linux Kernel LLVMLinux Bug 9254 – clang can't build iptables in Linux kernel: error: fields must have a constant size: 'variable length array in structure' extension will never be supported ClangでLinuxカーネルをビルドできる状況は、多くの勢力に望まれてきた。理由は様々だ。Clangはビルド時間が短い。静的解析による警告も優れている。ソースコードも綺麗だ。複数の独立した実装でコンパイルできるコードは、誤りを静的に発見しやすい移植性にも優れる。より優れたコピーレフトなライセンスであるGPLv

    at-aka
    at-aka 2013/04/19
    llvm は C99 の variable length array をサポートしないの? ショック。
  • LLVMによる自動C++11移行ツール

    LLVM Project Blog: Status of the C++11 Migrator 先月のRSSフィードに一瞬だけ現れたのだが、すぐ消えてしまった記事が復活した。 cpp11-migrateは、LLVMのツールに含まれる、既存のコードをC++11に変換する移行ツールである。 現在のところ、四種類の変換が可能だ。 STLコンテナーや配列の要素をループでなめるコードをRange-based forに変換する。 こんないけてないコードが、 std::vector<int> myVec; for (std::vector<int>::iterator I = myVec.begin(), E = myVec.end(); I != E; ++I) llvm::outs() << *I; こんなに格好良くなる。 std::vector<int> myVec; for (auto & el

    at-aka
    at-aka 2013/04/16
    C++ 暫らく見ないうちに、なんて冗長なコードに変貌してしまったんだろう。
  • GNU Texinfoのmakeinfoの実装がCからPerlになった

    2013年2月16日に、実に5年ぶりに、GNU Texinfoがバージョン5に更新された。前回の更新は、2008年9月18日のバージョン4.13だ。 2012年中に、Texinfoのうち、従来Cで実装されていたtexi2anyとmakeinfoを、Perlで再実装したそうだ。 Perlで実装したことにより、プログラムは遅くなったが、コードが平易になり、開発に新規参入しやすくなり、拡張もしやすくなったという。また、Unicodeへの対応も、Cでは難しいが、Perlならばとても簡単になる。 まあ、遅くなったといっても、たかだか人の手で書く程度の量のテキストの変換処理であるし、それに大半の人は、texi2anyやmakeinfoを直接使わないし、ドキュメントも含めて完全に自前でソースからビルドするようなシステムだとしても、やはりmakeinfo以外のビルド処理に比べればたかがしれているし、どうで

    at-aka
    at-aka 2013/02/19
    Texinfo 好きとしては聞き逃せないニュース!
  • バージョン管理ソフトウェアの寿命は10年?

    Gitが10年後存続してるとは思えないけど、Excelが10年後に消えてる筈がないだろ!!と熱弁してる — (あんちべ 心はS式とともにあります) (@AntiBayes) December 5, 2012 言うまでもなく、gitは今をときめく流行のバージョン管理システムである。たったの10年後に存続していないのだろうか。 gitが登場したのは2005年だ。githubが登場したのは2008年だ。githubは直接関係がないが、gitの価値を押し上げたといえる。それ以前、自由なソフトウェア実装によるバージョン管理システムといえば、Subversionが有名だった。Subversionは、2000年に登場している。2010年、gitは流行していた。いま、SVNがgitの流行に押されているのを考えると、たったの10年でよく変わったものだ。 Subversion以前、自由なソフトウェア実装で有名

    at-aka
    at-aka 2012/12/05
    RCS や CVS とは懐かしいなぁ
  • IPアドレスという確証がある

    明治になって、全国の名主に米を支給して郵便局になってもらい、郵便網を発達させた時、果たして以下のような拷問が発生しただろうか。 「俺はやってない」 「まだそんな白々しいことを言うか。消印という確証がある。この手紙はお前の住所のすぐ近くの郵便局から出されたものだ。つまりお前が出したに決まってるだろう」 「消印は個人を特定しない」 「今認めれば罪が軽くなるぞ。早く釈放できるしな。急ぐ必要はない。なにしろ時間はたっぷりある。いくらでも勾留できるからな」 あるいは、昔は以下のような浄瑠璃があっただろうか。 「斯様に候者は、名も無き弓矢取りに候。こたび、我が家より矢の飛び出して人を射殺すによって、其、厳しく咎めを受け、すでに誅せられ畢。我が家より矢の飛び来たるも、我が射たる証拠ならず、そも、我はその時、家には居らじ、と陳じしかども、弓箭の家に生まれてなんぞ見苦しき、早く自害して、名を汚す事なかれと責

    at-aka
    at-aka 2012/10/10
  • 1