投稿

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だいぶ慣れてきましたよ〜