タグ

clangに関するhitoriblogのブックマーク (5)

  • Ubuntu で Objective-C の ARC を試す - 表道具

    何度目かのiOS開発がついに始まった。しかし、2ヶ月前まで「俺はもうiOS開発なんてしないだろう」と思っていたので、もらったMacBookを元の持ち主がiOS開発をするから返してくれると有難いと言われ、ホイホイ返却してしまった。 さて、最近のことだが、Objective-Cにすさまじい変化が訪れた。ARC(Automatic Reference Counting)だ。俺は元々、PythonPHPJavaなどのメモリ管理にルーズでも許される言語ばかりを使ってきたため、Objective-Cのretain, releaseにかなり悩まされてきた。前の開発では最後の方はだいぶわかってきたが、「なぜかここはreleaseを2回やるとうまくいく」みたいなものが多かったし、メモリリークは最後までなくならなかった。ARCはそれを勝手にやってくれるとのことで、非常にうれしい限り。ただ、これはまだまだノ

    Ubuntu で Objective-C の ARC を試す - 表道具
  • Xcode 4 でデフォルトになった LLVM って何?

    こんにちは。開発担当の金内です。 Xcode 4 は UI もすっかり変わりましたが、ビルドの要であるコンパイラもデフォルトが変更されています。その新しいコンパイラのキーワードが「LLVM」です。いまいち聞き慣れない方もいると思うので、今回はその LLVM について簡単にご紹介します。 ざっくりとした結論から言ってしまえば、Xcode における LLVM は従来のデフォルトコンパイラである GCC を置き換えるものです。LLVM には次のような特徴があります。 ・コンパイルが速い ・コンパイルされたコードが速い ・エラーメッセージがわかりやすい ・他のツールと連携しやすい いいことばかりですね。 しかし、コンパイラは要となる重要なコンポーネントなので、互換性などへの配慮から、Apple は GCC からの移行を少しずつ段階的に進めています。 実際、Xcode 4.0 でのデフォルトは完全に

    Xcode 4 でデフォルトになった LLVM って何?
  • sakamoto.kazuki on Twitter: "@hitoriblog -arch armv6 -arch armv7 でuniversal binaryになったりしますですね"

  • Xcodeの静的アナライザ | アールケー開発

    ※ソースコードの整形表示を行うWPのプラグインの負荷が大きかったため、プラグインを使わずにテキストにしています。そのため、表示が崩れてしまっています(インデントがない)。ソースをよく見たい方は一度、コピーしてテキストエディタで整形してご覧ください。 Xcode 3.2では、静的アナライザが入りました。現時点ではObjective-CのコードとCのコードのみに対応しているようですが、ビルド時にメモリーリークを検出できるような雰囲気なので試してみました。 まずはこんな感じの100%リークするコードをわざと書いて検出できるのか試してみました。 int main (int argc, const char * argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; char* m = malloc(10); st

    Xcodeの静的アナライザ | アールケー開発
  • clangでObjective-Cプログラムを静的解析

    はじめに 今回は、clangの静的解析機能を紹介します。 LeopardのOpenGLに採用されたことでも知られる、LLVMというコンパイラプラットフォームがあります。clangはLLVM内のプロジェクトのひとつで、gccに変わるC/C++/Objective-C用のLLVMフロントエンドを開発しています。 複数のAppleエンジニアが開発に参加しており、Objective-Cを積極的にサポートしているのも特徴です。 clangでは、通常のコンパイラとして以外にもコードの内部構造にアクセスするいくつかの機能があり、そのひとつが静的解析機能です。 プログラムの静的解析 プログラムを実行せずにプログラムの問題点・バグなどを分析することを「静的解析」といいます。 最近では、JavaのFindBugsが有名ですね。 人力で行うコードレビューも、静的解析と言われることもあります(そりゃそうでしょう

  • 1