- 引数分解 → getopt
- uint32_tなど → stdint.h
- sys/stat.h使うならその前にsys/types.hをincludeするのが正しい
- remove syscallは内部的に「dir → rmdir, file → unlink」を呼んでいる
- dir関連のsyscall → opendir, readdir, closedir, mkdirなど
環境依存でもいいのでとにかく色付き文字を表示したい!
というときはとりあえずprintf中とかで\x1b[%dmを使う。%dには数字を入れる。
4なら下線、41なら赤、42なら緑などなど。複数指定するときは\x1b[4;41mみたいに指定する。
備忘録終わり。以下近況。
そろそろSystemCなんかはじめてみようかと思ったり。でSystemCはC++にライブラリとかつけたものなので結局C++を使いこなせないとダメ。
そんなわけで今更ながらC++を勉強してみたり。
SystemCってのはハードウェア記述をVHDLとかVerilogとかよりもう一段抽象化して考える言語。
ムーアの法則でチップ上のトランジスタの数が指数関数的に増えているのでVHDLですべてを書くのはそのうち限界になる…と予想されます。
コンピュータができて最初の頃はアセンブリで全部書いていて、結構最近でも「速度が必要な部分だけはアセンブリ」という感じだったのが今ではシステム関連でもほとんど全部Cです。
ある本によれば、かの天才クヌース氏も「Cで書くのは非効率だ。アセンブリで書くのが当然」と言っていたそうですが、今ではコンパイラの最適化技術の進歩、ハードウェアアーキテクチャの進歩などにより、効率的なコードがCから簡単に生成され、ハンドアセンブルした場合とほぼ同じ速度が出ます。
# もちろんこれはある程度大規模なシステムでの話であって、クヌースがこの発言をした当時と同じ規模のシステム、つまりマイコンとかで性能を出したい場合にはアセンブリで書くべきです。
VHDL, VerilogからSystemCへの移行はこれと同じくらい画期的なもので、現在ではまだVHDL, Verilogが「当たり前」ですが、そのうち「基本的にはSystemCで、必要ならVHDLで最適化」という時代が来ると思われます。
そんなわけで近い将来SystemCが必要な時代がくると考えています。まさか?と思うようなことが平気で起こるのがこの業界です。
さて、C++勉強しますか。あと院試ではC, JAVAのコードが出されることがあるらしいのでJAVAも勉強しないと。
TODO:
- 分散並列関連(ハードウェア的にもソフトウェア的にも)の勉強
- JAVA
- C++
- SystemC
- 簡易OS自作
- 遠征
# いつも忘れるVIMコマンド:ctrl + d/uで半画面スクロール。スクロール系は半画面程度が自分にはあってる気がする。あとz.でカーソル位置を画面中央とかも便利だけどいつも忘れるなー
# mouse=aにしてるせいでH, M, Lとかの基本的なカーソル移動コマンドも全然使わないからなかなかvim使いになれなくて残念。
- 関連記事
-
trackbackURL:http://yuranos.blog11.fc2.com/tb.php/146-66aad535