X



トップページLinux
84コメント23KB
ソースコードを皆でマッタリ読もう会(初心者歓迎){}
0001( ^-^)o旦~~~~
2007/12/18(火) 15:57:48ID:JQE0zwxT
ソースコードをま〜たり解読しながら一杯やりませんか。
ありそでなかったスレッドなんで無謀にも立てちゃいました(笑)
プログラム板に立てようかとも悩みましたが、あえてLinux板にしました。

プログラミング入門者大歓迎。
つーか、はじめに宣言しておきますが、スレ主がヘタレ入門者です(笑)
たぶん挫折すると思いますが、せっかくLinuxを入れてオープンソースを
利用させてもらっているんだから・・・いやま、ちょっとした好奇心で。
0002login:Penguin
2007/12/18(火) 17:30:44ID:/YP3vefp
で、どれを読むの?
0006login:Penguin
2007/12/18(火) 20:34:36ID:Hw7034JG
1の努力が試されるとき。
0007login:Penguin
2007/12/18(火) 21:16:29ID:qzak6LyU
>>4
なんつーキモいヘッダーファイルだ。
0008login:Penguin
2007/12/18(火) 21:21:48ID:sPkSz4VR
あのbourne shellの悪名高きソースか
気付かなかった
0011login:Penguin
2007/12/18(火) 22:58:52ID:g4HiNXWp
>>10
そのコード、C99で書き直すとすっきりする予感。
0012login:Penguin
2007/12/19(水) 15:01:39ID:e02yQg60
>>4
その手を使えば簡単に新種のプログラミング言語をつくれたんだww
0013login:Penguin
2007/12/19(水) 18:53:05ID:WrancIir
>>11
色々な改造表現が可能だよね。
攻撃一回のパターンを構造体にする代わりに
単一の攻撃       を'-'をセパレータとして"攻撃種類-攻撃属性-3d4(D&Dダイス表現)"の文字列として表現するとか
さらにそれら攻撃のリストを':'をセパレータとした"攻撃1:攻撃2:攻撃3:攻撃4:攻撃5:攻撃6"の文字列として表現するとか。
別にローグライクだってデータ構造自体には独自性は無いって事がわかってくれると嬉しい
0014login:Penguin
2007/12/19(水) 22:20:27ID:YJ9VwWjD
>>13
お前、センスないな。
0015login:Penguin
2007/12/21(金) 08:23:04ID:bkjK4DQt
>>14
可変幅フォントを採用するようなセンスは欲しくない。正直言って。
0016login:Penguin
2007/12/21(金) 18:09:05ID:p4adG9ny
struct Hoge {
unsigned x:31;
unsigned y:1;
}
後ろのコロン数字なんだけど、
これどういう意味??
0017login:Penguin
2007/12/21(金) 20:13:41ID:Yh+dqHwt
ヒント:足して32
0018login:Penguin
2007/12/21(金) 21:32:31ID:p4adG9ny
え・・・まさか 32 bit のうち、
x に 31 bit 割り当てて y に 1 bit 割り当ててるってこと??
0019login:Penguin
2007/12/21(金) 23:06:39ID:2IO5/NZD
つ ビットフィールド
0020login:Penguin
2007/12/21(金) 23:16:21ID:p4adG9ny
>>19
サンクス。理解した。
ビットフィールドって本でチラっとだけ読んだ事あったけど忘れてたよ。
0021login:Penguin
2007/12/22(土) 01:16:54ID:jhXFc7Sf
まあ使わんけどね。

struct hoge {
unsigned hilo:4;
unsigned lohi:4;
} val;

val.hilo = 1;

でビット並びが 00010000/00000001/10000000/00001000 のどれなのか
コンパイラ依存では使いにくい(ビットフィールドは並び順規定がなくて
詰め込みの都合で前後入れ替わったりもOKだったはず)。結局自分で
unsigned 8bitなフィールドでビット演算すればいいや、みたいなことになる。
0022login:Penguin
2007/12/23(日) 19:25:18ID:kTiXk5SW
bit-fieldは、PICやAVRのコントロールレジスタを弄る時に重宝してます。
0023login:Penguin
2008/01/21(月) 14:39:36ID:CLm+aD3F
コンパイラ依存だということさえ頭の片隅にあればおk
0024login:Penguin
2008/02/14(木) 23:21:33ID:8zLNc2ft
>>19
できるよ。
以上。
はい次の方。
0025login:Penguin
2008/03/06(木) 12:02:04ID:vblp5Eja
オープンソースとはいっても意外と誰もソースコードを読んでいる人はいなかったりしてwww
0026login:Penguin
2008/03/06(木) 13:09:06ID:FXTf91Yy
必要もないのに読みふけるような人はあまりいないのでは。
趣味の欄に「ソースコードを読むこと」と書いた人にはあまりお目にかからない。
修正したいこととかがあれば読んで修正して、
それが他人の役にもたちそうならパッチ送ってる。
0027login:Penguin
2008/03/06(木) 22:01:34ID:TTvqLA2j
ねぇねぇ、マジレスだがパッチ送るとかそういうのって具体的にはどうするの?
とあるアプリに機能追加してみたら、人も使うかなって感じになったんだけど
MLにも参加してないし、だいたいOSSのそこらの流儀ってよくわからんのですよ。
英語のコミュニケーションも自信ないしなぁ。
0028login:Penguin
2008/03/07(金) 01:11:04ID:KCHuH3b4
>>27
BTSがあればそこにでもたたき送れば?
なければメンテナのメールアドレスに送る。

英語は Please apply this patch. でええやん。
内容説明はちゃんとしたほうがいいが、最初は簡単。
patchがrejectされると返答に困ったりするが。
0029login:Penguin
2008/03/08(土) 01:49:14ID:NurH5bQ8
>>28
ありがとう。デベロッパの代表メールアドレスのほうに送ってみる。
しかしbugfixでもないし、なかなか緊張するなぁ。
0030login:Penguin
2008/04/11(金) 03:36:55ID:LecVb+N3
プログラミング文法(C言語&Perl)の基礎を習いたての人が読むのに丁度いい
ソースって何かありますか?
0031login:Penguin
2008/04/11(金) 04:03:26ID:6UH1WEiq
>>30
リナックスカーネル。
良質のコメント、解説が巷に溢れてることがその理由。
0033login:Penguin
2008/04/11(金) 05:10:02ID:6UH1WEiq
>>32
変な先入観持ってないか?
0034login:Penguin
2008/04/11(金) 10:04:54ID:PqytVBqB
>>30
> プログラミング文法(C言語&Perl)の基礎を習いたての人は

まずソースを読むより教科書の写経でいいからガリガリ書いた方がいい。
古典だがK&R(プログラミング言語C)とラクダ本(プログラミングperl)は必修。
人のソース読むのはその後でいいよ。
0035login:Penguin
2008/04/11(金) 11:03:11ID:QobCpyde
>>33
Linux kernelの参考書(特に日本語のやつ)はほとんど参考にならん。
なので>>30にはきついと思う。

読むなら自分で使っていると思われるGNUツールとかかな。
0036login:Penguin
2008/04/11(金) 15:51:58ID:s/b26oPJ
>>30
ffmpegのソース。あれは見といて損は無い。
0037login:Penguin
2008/04/12(土) 17:38:24ID:o9k8LBSw
>>35
良い洋書はどんなのがある?
0038login:Penguin
2008/04/13(日) 10:37:09ID:e/aLH6cc
>>37
>>35じゃないけど、オライリーのあれは結構読みやすかった。
0039login:Penguin
2008/04/14(月) 07:43:47ID:36aMauXk
Understanding the linux kernel
0040login:Penguin
2008/04/15(火) 19:54:35ID:tZv50PYB
>>36
cmdutil.cだけちょっと眺めたら、hoge_hoge_or_dieとかいう関数がいくつかあって
「これ何てPerl?」と思ったわw
0041login:Penguin
2008/10/30(木) 14:37:15ID:4fBvQ5WR
Hoshu Linux
0042login:Penguin
2009/01/05(月) 14:44:38ID:F80+y0td
cp mkdir ls rm...
これらのソースコードを見るはどのパッケージを落とせばいいの?
0044login:Penguin
2009/01/05(月) 19:25:55ID:UgNbHOkg
>>43
サンキュー!!!!!!
0045login:Penguin
2009/12/16(水) 15:39:54ID:1gCW4gVR
.c はC言語のソースファイル
.h はそのヘッダファイル
.adと.manは何でしょうか。
0046login:Penguin
2009/12/17(木) 08:13:43ID:o3R/HXsk
>>45
何故ベストを尽くさないのか
0047login:Penguin
2010/02/09(火) 01:15:09ID:nFZ00pe1
勉強や趣味でソース読むならBSDのコマンドが一番いいと思うがな。
見た目もきれいだし、とにかく簡潔で短い。
0048login:Penguin
2010/04/27(火) 21:48:14ID:hESDmhVT
BSDは、パクリ放題。Appleにもええようにされて
それでも耐えてるドSって感じ。まあ、それと
ソースは関係ないので、読んでもいいんじゃない?

でも一番は自分の興味があったり、使ってたりする
ソースコード。読むんじゃなくて眺める所から始めても
いい。ただし毎日すること。
0049login:Penguin
2010/05/02(日) 04:20:41ID:gmdb4oK4
ソースコードなんてごくごく僅かな人(ごく一部のハッカー)にしか読まれていないよね。
0050login:Penguin
2010/05/02(日) 21:59:06ID:l3Scyk+0
>>49
ハッカーじゃないけど困ったら読むよ。
0051login:Penguin
2010/05/04(火) 01:04:48ID:iArEJzJC
こんな過疎スレがまだ生き残っていたのかwwww
0052login:Penguin
2010/05/04(火) 05:45:47ID:WhPJ0ufn
ボードゲームの考察に使う時間をなくして
再びsource codeの読みふけに参戦する
0053login:Penguin
2010/06/01(火) 02:52:08ID:OeR9+q5K
使ってる環境全て制覇したいけど
まったくはかどらない
集中力が続かないな
印刷して寝ながら見たほうがいいかも

数学と英語の勉強のし直してる
なんか毎日勉強ばっか
それにしても英語ってほんと苦手
英語は日本語の感覚から遠すぎるな
あまりに手応えを感じられないので
息抜きにほかの言語の学習したりしてる
0054login:Penguin
2010/07/27(火) 17:28:16ID:0utad5S3
つ TinierMe
0055login:Penguin
2010/09/30(木) 23:10:20ID:d43U8nyo
>>49
この前はOBPagerをビルドするのにエラー箇所を調べていたり、
さらにその前はpiewmのビルドが通らなくてエラー箇所を調べ...。

ビルドでエラー起きたらエラーメッセージを検索して修正方法を
見つけてとか普通にやってる。Quick Hack程度だけどね。
たまにMakefileなんかも修正するね(autoconf使ってないものとか)。

>>53
内容を理解するだけに限定するのであれば英語は勉強するものではないと思うよ。
同じ文章ばかり読んで検証で触り続ける→自然と読めるようになる。
0056login:Penguin
2010/10/02(土) 01:17:19ID:Ck6tyIpf
mozilla(seamonkey)のアドオンであるperapera-kunをインストールしたんだけど、
マウスで単語の上をなぞってもポップアップウィンドウがぜんぜん表示されない。
ソースコードを検索してみたら、どうやらC#で書かれてある。だから動かないわけか?
0058login:Penguin
2010/10/02(土) 19:02:56ID:oSNdbfkU
てっきり音読するスレかと……
0059login:Penguin
2010/10/03(日) 20:54:24ID:xp8s1SI0
オープンソースとは言っても作成者以外に誰も読んでいないコードが大半なんでしょ?
でも、誰かが読んでくれているとは思っている。思い込んでいるだけかも。
0060login:Penguin
2010/10/03(日) 21:40:25ID:jqMDnbvc
>59
おまえの(ry
日本だと、そういうのは見えないだけで意外と読まれていると思うよ。
つか、ブログに掲載されているコードなんか毎日読んでいるよな?

たとえばブログ作ってソース書き込んでおけば外出先でも参照できる。
それにHighlightあるからhtml化して読んだら?
ttp://www.andre-simon.de/

読みたいのであればi3とかはお勧めかと思われる。
(コメントやドキュメント丁寧かつ豊富)
ttp://i3.zekjur.net/


読み方はPGやFLOSS関係者でもない限り方法は知られてないのがオチ。
(理解できるかどうかは除いて)ソースコードを読むのは意外と難しいことではないんだけどね。
時間かかるから自分との戦い。

一日で理解できないから一気に読まないとか、誰も教えないしな。
0061login:Penguin
2010/10/14(木) 18:10:29ID:TDK71fn+
3000行以下のコードってことでQuarkWMのソース読んでいるが...
ケチつけるの大好きなら楽しめるかと(要するに初心者が書きそうなコードで普通にひどい)。
ttp://quarkwm.sourceforge.net/

むしろこういうコードでも普通に動くってのが潔いがな。
0062login:Penguin
2010/10/19(火) 12:16:36ID:gnJImgM/
どういう点を修正したほうがいいんでしょうか?
0063login:Penguin
2010/10/28(木) 12:19:23ID:PAFIn/ow
>>62
それ(QuarkWM)本気で言っているのか?...!!
こいつは初心者のやってしまうパターンだらけなんだが...

- なにこの腐ったmain()関数は?
- マジックナンバー乱用しすぎ。なに、その11ってのは?
- unsigned intに型定義してIなんかハンガリアン風の命名を普通やらない。
やられると解析やりづらい上に構文強調表示効かなくなる。そんなことするならエディタの補完機能を使う。
- それ以前に命名規約がおかしいし、不必要なマクロ定義がいくつかある。
- includeの使い方が変というか勉強不足。関数とかexternでやるでしょ普通。
- 関数プロトタイプ宣言?なにそれおいしいの?
- 三項演算子の使い方がおかしい。というか三項演算死亡遊戯に酔っている。可読性下げているでしょ。
- カンマの後に半角スペース入れろよ。環境やフォントによっては区別付かないんだぜ。

etc...

ソースコードは書くより読むほうが時間がかかるわけで...。
これのひどさを自覚できないのであれば、まずdwmを読んだほうがいいです。
0064login:Penguin
2010/10/28(木) 15:42:50ID:v+f2ZMg0
>>63
foo || dieのようなもの
というのもなかなか素敵。

#includeがuseの代わりだったりして。
0065login:Penguin
2010/10/31(日) 15:47:45ID:HP4NV0JQ
良スレ乙。Linuxerにこんなに親切な人がいるとは。永久保存。
0066login:Penguin
2011/01/24(月) 11:55:55ID:15hC7JTx
オーライリーの 詳解Linuxカーネル を読んだ事ある人、感想お願いします
0067login:Penguin
2011/01/28(金) 18:57:48ID:n8AM7dMX
>>66
OSいじりたい人なら面白い。
006866
2011/02/07(月) 22:10:48ID:lehsLcDP
>>67
どうもです

今日図書館行って借りてきた
毎日興味ある所から少しずつよんでこ
0069login:Penguin
2011/02/20(日) 14:59:10.44ID:ZL/VQ5DE
オライリーの本って内容濃くて面白いんだけど、実際値段表示を見ると萎えるな。。。
中古で買うと割と安いんだが
0070login:Penguin
2011/03/04(金) 02:16:58.83ID:FUhI6sKu
>>63
フリーのソースにけち付ける場合は、
自分で書き直してから、
「これに差し替えるほうが良い」ってやんわりとけちを付けるのが正解だと思う。

何の生産性も無く、端から見て文句ばっかり言ってる人間ってのはクズだよ。
0071login:Penguin
2011/07/11(月) 02:49:53.11ID:ShNAK0f0
>>61-64
CodeGolfみたいなノリで、コードサイズまで縮めようとしたのかなこれ…それはそれで中途半端だが

#define or else if

とか最初見たとき自分の#defineについての知識を疑ったw
なんだコレは、最近のプリプロセッサには俺の知らない機能があるのか?と
0072login:Penguin
2011/07/11(月) 11:18:05.68ID:WYxqwA0g
>>71
俺スタイルを貫いた結果だろう
そこはかとなく漂うPerl臭
0073login:Penguin
2011/08/31(水) 20:04:08.77ID:DXmozGto
XeditとかXfontselとかのGUIプログラミングをしたいんですが、
情報がなさすぎる。
0074login:Penguin
2011/09/05(月) 23:27:40.80ID:nROM6nbv
今の時代にxlibつかうのか…。
0075login:Penguin
2011/10/02(日) 11:09:12.31ID:iheLpSj6
既存のツールキットがどれも気に入らなくて
0076login:Penguin
2012/03/01(木) 02:37:59.70ID:Hex+S/OH
>>63
三項演算子の中で巨大な#ifdefで分岐してるソース見たけどそういう使い方はいいの?
0077login:Penguin
2013/09/07(土) 16:19:58.06ID:q36DWI95
マッタリ
0078login:Penguin
2014/02/20(木) 12:15:04.91ID:ZbH3CZV/
読もうよ
0079login:Penguin
2014/07/29(火) 08:13:55.43ID:OO7XF6IG
7‚�-â�������¬Œ������¬7ˆ·(ìz}Ý——€
���ñ�
�

このように変な文字で表示されるのは何故ですか?
0081login:Penguin
2017/12/29(金) 15:09:46.44ID:S/CsVkMC
誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。

グーグル検索⇒『宮本のゴウリエセレレ』

WIHU1R7QIS
0082login:Penguin
2018/05/22(火) 10:16:44.06ID:Czl6p0FW
僕の知り合いの知り合いができた副業情報ドットコム
関心がある人だけ見てください。
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

0786Y
0083login:Penguin
2020/05/08(金) 19:38:25.61ID:9QsfzQeP
あげ。
0084login:Penguin
2023/04/08(土) 12:35:00.72ID:FIqXdJvw
失敗しなくちゃ成功はしない
レスを投稿する


ニューススポーツなんでも実況