カナタブログ

初心者エンジニアのメモ帳

clang使ってみた

vimでコード補完しようとして知ったclangがどんなものかどうかを知ろうとちょっと使ってみた。

clangとは

Clangは、プログラミング言語 CC++Objective-CObjective-C++ 向けのコンパイラフロントエンドである。バックエンドとして LLVM を使用しており、LLVM 2.6以降は LLVM の一部としてリリースされている。

 LLVMってなに?

 LLVM とは、コンパイル時、リンク時、実行時などあらゆる時点でプログラムを最適化するよう設計された、任意のプログラミング言語に対応可能なコンパイラ基盤である。

 アセンブラレベルでみるとすごいコードが生成されるらしい。

d.hatena.ne.jp

エラーメッセージ

何はともあれ僕は組み込み系の仕事が多いのでいつも自由にコンパイラが選べるわけではないので速度が早くなろうがマイコンに応じたコンパイラを使うしかないわけである。

しかし!!

clangはエラーメッセージがわかりやすいということなのでそのあたりは十分利用価値がありそうである

 

clangやってみた

gistf04895448313490500cc

ちょっとバグがあるコードを書いた

それをclangでビルドすると

f:id:koro_09:20150716065706p:plain

 ここは::ですよーと場所を指し示してくれる。

gccの場合は

f:id:koro_09:20150716070102p:plain

どっちがわかりやすいかというとclangですね。

 

肝心のvimでのコード自動補完がまだできていないのである。