投稿

5月, 2014の投稿を表示しています

llvmをいじる

イメージ
当方mac使いですが、
ふとアセンブリを実行しようと思って()

gcc -Sでhoge.sを出力し 
as -o hoge.o hoge.s

とやりましたら、Unknown pseudo-opというエラーが。


そういえば今ってgccじゃなくてclangのなんかよくわからないやつがgccとしてエイリアスされてるんだっけ、と思ったので

他のでやろう!と思い


brew install llvm

でllvmをインストールして、そのコマンド群でいじってみました。

中を見てみるとこんな感じ。




objdumpも入ってる!(そりゃそうですね)

llvm-gcc -> hoge.llファイル出力 llvm-as hoge.ll -> hoge.bcファイル出力 lli hoge.bc Just in timeコンパイラで実行できる llc hoge.bc ネイティブなコードに変換できる (hoge.s)
hoge.sを作ってしまえばgccでコンパイルできます。

うーん、大体わかりましたがllファイルはgccだと何に対応するのかな。
追記: もしかしたらRTLとかの中間言語に相当するのかもしれない。 真偽は定かではないけれども。

pythonでたのしむ

chromosome上でmRNAがある場所なんかをマーキングするのに pythonでだいたい処理をやらせてます。
str.translate(string.maketrans('ABC', 'abc')) でstr中のABCをabcに変換するのがこれ一行でできてしまうので便利。
でUTR, intronをそれぞれACGTに対応する文字に変換して保存しておくと、文字列を読み込みつつアノテーションもとっておけて便利。
Pythonここ2年ぐらい使ってるから、またスクリプト言語かえようかなかえようかな。
かなって。



kindleでmake関連の書籍が値下がっているのに関連して いろいろ調べていたらこんなページが。http://www.booran.com/menu/makefile/func.html makefileでこんなにいろいろ関数が使えるの知らなかったので、 とくに文字列関係のものをこれから使ってみよう。




Dvorakだいぶ慣れてきましたよ〜