【ソース解析】android ソースコード解説他

twcritique

Linuxはオープンソース・ソフトウエアなので、各機器に搭載されたソースコードは、誰でもダウンロードできるようにしているメーカーが多い。以下がダウンロード・ページの例だ(メーカーによっては、製品のシリアルナンバーを入力する必要がある場合もある)。
記者のつぶやき – テレビやケータイのソースコードをダウンロードしてみよう:ITpro

ソースコードから読み解く Androidの実像
http://coin.nikkeibp.co.jp/coin/ncc/semi/0812/Android_20081211_Tsuji.pdf

AndroidのLinux環境
• 本当にカーネルしか使っていない!!
• 通常のLinux的な(UNIXライク)な初期化も無い
– init.rcなどのスクリプトでの初期化が少ない
– /initで小さな初期化をしたら、殆どすぐアプリケション
実行環境へ
– ネットワーク関係など、簡単な初期化のみ
http://coin.nikkeibp.co.jp/coin/ncc/semi/0812/Android_20081211_Tsuji.pdf

2300万行
Linuxカーネルが1000万行
external(外部ライブラリ、ツール)で800万行
残りが500万行。
frameworks 100万行
dalvikvm 100万行
http://coin.nikkeibp.co.jp/coin/ncc/semi/0812/Android_20081211_Tsuji.pdf

WavFormatはWAVのfmtチャンクに,WavDataはdataチャンクに対応しています.前者は構造体に毛が生えたようなクラスなのでまぁいいとして,後者が酷かった.EffectiveC++の勉強のために波形データをvectorではなくshort[]で持ったため,安定版になるまでメモリが漏れる漏れる.現在は実用に耐えうるレベルまで成長しましたが,車輪の再発明感が否めないコードとなっています.ちなみにWAVのフォーマット解説はこのページがオヌヌメです.
ソースコード解説 · acknak/Nakloid Wiki · GitHub

Source Insight (ソースインサイト) は、C/C++、C#、Java プログラム、およびその他の言語を解析できる革新的なプロジェクトを重視のプログラム コード エディタ / ブラウザです。
Source Insightはソースコードを解析する賢いエディタ:エクセルソフト

Tera Termのパッケージに含まれるほとんどのプログラムは、C言語で記述されています。一部のコードはC++言語で、MFC(Microsoft Foundation Class)が利用されています。Windows特有の処理を行うために、Win32 APIが多用されているため、APIの知識が必要となってきます。
Tera Termソースコード解説

http://www.nakanihon.co.jp/gijyutsu/Shimada/pb/pbSourceCode.pdf

BASIC interpretor “Plain_Basic”. ソースコード解説

rubyではオブジェクトの実体を構造体で表現し、扱うときは常に ポインタ経由で扱う。構造体のほうはクラスごとに違う型を使うが、 ポインタのほうはどのクラスの構造体でも常にVALUE型だ (図1)。
第2章 オブジェクト

ソースコードの概要とPostgreSQLのアーキテクチャ(まだ全体を読む前に書いたので、一般的なアーキテクチャ)

http://ikubo.x0.com/PostgreSQL/pg_source.htm

https://matome.naver.jp/odai/2136977775842244401
2013年10月26日