トップページ⇒linux
1001コメント332KB

Linuxプログラミング

レス数が1000を超えています。これ以上書き込みはできません。
0001login:Penguin01/09/02 20:31ID:8eEfRqZ2
教えてよ。ゲームが作りたいんだ
0910login:Penguin03/12/15 00:23ID:+UxP4Bdi
>>907
というか使えるように多大な労力を払った後なわけで…
でも我流なんで知識の偏りっぷりがどうにもならない
0911login:Penguin03/12/15 00:29ID:JVPkHolL
>>910
何を目指してるのかわからんけど、こんなモノも読んどくと良いと思われ

http://www.amazon.co.jp/exec/obidos/ASIN/4756136494/ref=sr_aps_b_/250-5812912-3157808
http://www.amazon.co.jp/exec/obidos/ASIN/4894712741/ref=pd_bxgy_text_1/250-5812912-3157808
0912login:Penguin03/12/15 01:31ID:d+ZhqAkq
>>910
それなりのCの知識があるのに
本が読めて、ソースが読めない って在る意味あべこべだぞ・・・
0913login:Penguin03/12/15 01:52ID:qJN+u7cK
いや、「ソースが読める」というのは
コードからその裏にある意図(そこにあるコードの必然性)を
推し量らないといけないわけで、C純粋の知識よりかは
OSの知識とか一般的な方法とか、いくらかの慣れがいる。

逆にいえばあとは「意図」を読むことに注意して周辺の知識を仕入れ
なれてくれば...って、これはこれで大変なんだが。
0914login:Penguin03/12/15 02:14ID:d+ZhqAkq
>>913
そんなことまとめて論じている本ってプログラミングの本と言うより心理本?
0915login:Penguin03/12/15 03:18ID:kdgNe/Tf
とゆーか正直「そんな本は無い」と思うんだけど(w
他人の書いたプログラムはその人が好き勝手に書いてるものだから
読み手の理屈では推し量れない。もとより理屈なんて無い。
ぶっちゃけ「習うより慣れろ」としか言いようがない。

深さ優先でプログラムを読んで疑問点を解消できたときの気分って、
初めて自転車に乗れたときの「何かをつかめた感じ」に似てるよね。
「どうすればプログラムが読めますか」という質問は
「どうすれば自転車に乗れますか」という質問と同じぐらいバカバカしい。
どっちも理屈抜き。体で覚えるしかない。

全然関係ないけどプログラミングと心理学と聞いて
ワインバーグ先生の「プログラミングの心理学」を思い出した。
この本はめちゃくちゃ面白い。そー言えば他人のプログラムを読むことを勧めてた。
もっとも、この本を読んでもプログラムは読めるようにならないけどね(w
0916login:Penguin03/12/15 03:23ID:ZWNVafxF
>>914
いや、普通のプログラム本じゃない?
プログラミングの定石を知れば、コードの意図もつかみやすくなるし。
0917login:Penguin03/12/15 03:26ID:kdgNe/Tf
ふと思ったんだけど、
他人の書いたプログラムを読むのってデバッグと似てるよね。
ある程度の規模の自作プログラムをデバッグした経験があると
他人のプログラムを読むときにも相応の勘が働きそうな気がするけど
どうだろう。

言語にもよるけど一万行ぐらいあるプログラムを書いたことがあれば
他人のプログラムを読むのも楽になりそうな気がする。

てことで「読めるようになるまで書きなさい」という回答はどうだろうか(w
0918login:Penguin03/12/15 03:26ID:1zJ+IaPY
というか各分野の専門書だろ。
エイホを読んでいればGNU grepのソースのdfa.cの中身は
読まなくてもおおよそ何が書いてあるのか見当がつくし、
悪魔本を読んでればOSのソースのtss.cの中身は想像できそう。
0919login:Penguin03/12/15 06:57ID:rzegbyQF
>>918
悪魔本って何ですか?
0920login:Penguin03/12/15 23:59ID:gA8c5nIv
>>919
A・ビアスの悪魔の辞典
0921login:Penguin03/12/16 00:39ID:ekQmZ+iR
>>919
4.4BSDの設計と実装(俗にいう悪魔本)
ttp://www.amazon.co.jp/exec/obidos/ASIN/4756143466

Lions’ Commentary on UNIX(俗にいうライオン本)
ttp://www.amazon.co.jp/exec/obidos/ASIN/4756118445

コンパイラ―原理・技法・ツール(俗にいうドラゴン本)
ttp://www.amazon.co.jp/exec/obidos/ASIN/4781905854
0922login:Penguin03/12/16 00:53ID:7PlkmonT
>>902
とりあえず、UNIXマガジン連載を集めた「プログラミング・テクニック」
は、どーよ?
http://www.ascii.co.jp/books/detail/4-7561/4-7561-4389-X.html
0923login:Penguin03/12/16 01:04ID:7PlkmonT
あ、あとプログラミングツール的な話なら、
SOFTBANKの「Linuxプログラミング〜例題で学ぶUNIXプログラミング環境」
O'REILLY 「GNUソフトウェアプログラミング」

コンピュータの中身的な話なら、
オーム社の「Linker&Loaders」が勉強になった。
0924login:Penguin03/12/16 16:43ID:lg2iGe9o
GtkまたはSDLベースのプログラムで、
コマンドラインオプションまたはアプリケーション自身の
ハードコーディングで、geometryを強制指定するのって、
どうやるの?
Xtベース(つまりXawやMotif)なら
-geometry 100x200+10+5 みたいなオプション指定ができるけど、
Gtk or SDL だと無理みたいなので、これに相当する方法が知りたいんです。
だれか、よろ〜
0925login:Penguin03/12/23 19:25ID:vA5L6hbH
gtk_window_move()のdocument読んでみて。
0926login:Penguin04/01/07 22:25ID:7IDkPX2v
>>922
こういう本ってなんでデザインがダサいんだろうね。
ま、いいけどさ。
0927login:Penguin04/01/07 23:12ID:WoVOhRu/
>>923
薦められていた
「Linuxプログラミング〜例題で学ぶUNIXプログラミング環境」を買うつもりが、
「例題で学ぶLinuxプログラミング」って本を間違って買ってしまった...名前似すぎ!
http://www.ne.jp/asahi/yokohama/juk/LPBE/

でも、これはこれでよかったかも。(ncursesについて知りたかったので)
0928login:Penguin04/02/08 20:58ID:F8Ufjb9R
可変引数を実装する場合、
stdarg.h と varargs.h
どっちを使うのが今風なの?
0929login:Penguin04/02/08 21:08ID:JvIEIZfS
>>928
C99規格ではstdarg.hだったような気がする。
0930login:Penguin04/02/09 02:06ID:QekrBuut
>>929
ア゙ディガドゥル
ゾリディャッデヴィバス
0931login:Penguin04/02/18 13:00ID:tTG0khm7
ログをファイルに書くようにしているとき
長期運用するならlogrotateするけど
このときプログラム側ではlogrotate実行に備えて
なにをどう注意したらいいんだしょうか?

普通にfopenして書いてるとだめだよなですよね
0932login:Penguin04/02/18 13:13ID:elwpbQ4N
>>931
普通 syslog 関数で書くような。
0933login:Penguin04/02/18 13:41ID:NfVfptY0
>>931
logrotate 側の設定はいじんないの?
0934login:Penguin04/02/18 13:41ID:YVUW8snZ
>>931
SIGALRMのハンドラでfopenし直しだろ。
つまりsyslogがやっていることと同じ。
0935login:Penguin04/02/18 14:09ID:tTG0khm7
>>934
SIGALRMね
ありがと
SIGHUPだとずっと勘違いしてた
0936login:Penguin04/02/18 20:23ID:YVUW8snZ
いや、syslogdはSIGHUPでrestartしてるけど、
あんたのはアプリの独自rotateでしょ。

SIGHUPは端末切り放しか、restartの意味だから、
別のシグナルの方がいいんじゃないの?
0937login:Penguin04/02/18 21:30ID:tTG0khm7
>>936
いや、logrotateをつかいたいんだですよ
ローテート処理まで自分で書くのだるいしですし
0938login:Penguin04/02/18 21:52ID:YVUW8snZ
じゃあ、syslog(3)使いなよ。
syslogd廻りが全部やってくれる。
0939login:Penguin04/02/19 09:16ID:S0TLJ5zS
>>938
ファイルをわけたいんだけど
syslog.confの書き方がわからないんだよ
そういう使い方をする場合の説明が少ないから
0940login:Penguin04/02/19 10:04ID:SrMq61PE
>>937
logrotate の設定でアプリを起動し直すようにしちゃだめなのか?

>>939
man syslog.conf
man 3 syslog
0941login:Penguin04/02/19 11:08ID:YvMi/+uC
>>940
端から端まで見たよ
0942login:Penguin04/02/19 11:36ID:9vp8HnwR
Linux 使うの止めれば?
仕事だったら会社辞めるとか・・・
なんか向いてないっぽ
0943login:Penguin04/02/20 01:53ID:C4iV9AVa
>>906に薦められる「デーモン君のソース探検」発売記念age(要NetBSDのソースコード)
0944login:Penguin04/02/20 05:00ID:ypw0LS60

              ┗0=============0┛
     \===========[_|_|_|_|_|_|_|_|_|_|_|_|_|_]===========/
     /三三三三三三三三三三三三三三三三三三三三\
    0 │ |∞∞∞ |::|∞∞田田田田田田∞∞|::|∞∞∞ | ::|  0
 ...[二] | ::|       |::|┏━━━━━━━━┓|::|       | ::l [二]
........|□|.│ |┌┬┐ |::|┃  /        \  ┃|::| ┌┬┐| ::|. |□|
  )三(...| ::|├┼┤ |::|┃/            \┃|::| ├┼┤| ::|`)三(´
   | ::| | ::|└┴┘ |::|┃ / ̄ ̄ ̄ ̄ ̄\ ┃|::| └┴┘| ::| | ::|
   | ::| | ::|┌┬┐ |::|┃彳 人______ ノ.┃|::| ┌┬┐| ::| | ::|
   | ::| | ::|├┼┤ |::|┃入丿ー◎-◎ーヽミ.┃|::| ├┼┤| ::| | ::|
   |: :| | ::|└┴┘ |::|┃ r   . (_ _)     )┃|::| └┴┘| ::| | ::|
   | ::| | ::|┌┬┐ |::|┃ (  ∴.ノ▽(∴  ノ ┃|::| ┌┬┐| ::| | ::|
   | ::| | ::|├┼┤ |::|┃⌒\_____ノ⌒┃|::| ├┼┤| ::| | ::|
   | ::| | ::|└┴┘ |::|┃    ┗━┛   .┃|::| └┴┘| ::| | ::|
   | ::| | ::|   ... |::|┃   . .>>942    ┃|::|      | ::| | ::|
.....┏━━━━━┓| .|┃          ......┃|::|┏━━━━━┓
.....┣┳┳┳┳┳┫|: |┗━━━━━━━━┛|::|┣┳┳┳┳┳┫
     ○    ●        ∫∬∫∬        ●    ○
     ○○  ●●      iiiii iii ii iiii       ●●  ○○
    [ ̄ ̄] [ ̄ ̄]   ( ̄ ̄ ̄ ̄ ̄)    [ ̄ ̄] [ ̄ ̄]
    |_○_|  .|_○_|     |_____|     |_○_|  .|_○_|
 ∧_∧ ∧_∧ ∧_∧ ∧_∧ ∧_∧ ∧_∧ ∧_∧ ∧_∧ ∧_∧
(    )(    )(,    )(,,    )    ,,)(    )(    )(,    )( ゚Д゚ )
0945login:Penguin04/02/20 09:56ID:SE61JsUR
>>941も逝って良し
0946login:Penguin04/02/20 13:25ID:zd3GjK1n
なんか荒れてるね。
0947login:Penguin04/02/20 15:12ID:KYNvxlQW
くだ質の方で結論が出ないので、こちらにマルチする旨で
一応了解を得ましたので以下に質問させていただきます。

libxxx.aとかのライブラリに定義されてるシンボルは、もちろん
他のプログラムから使えると思うのですが、実行ファイルに定義
されているシンボルを、他のプログラムから使うことは出来るの
でしょうか?

実行ファイルをnmで見た時の関数を、自分で作ったプログラムか
らコールしたいんです。その関数を定義しているヘッダファイル
は持ってます。

というのもあるアプリケーションをベースに、そのフロントエンド
みたいなプログラムを作りたいと思っています。
で、そのベースのアプリケーションのある関数を使いたいんです
けど、ライブラリには無いんです。

ソースをコピーしちゃえば良いかも知れないですが、それだと
そのベースのアプリケーションのその関数がバグフィックスなど
で変更されたときに、いちいち自分で作ったプログラムも修正
しなおさなければいけません。
これをしたくないのです。
0948login:Penguin04/02/20 15:23ID:SE61JsUR
ライブラリになってない関数が、
> そのベースのアプリケーションのその関数がバグフィックスなど
> で変更されたときに、いちいち自分で作ったプログラムも修正
> しなおさなければいけません。
のようなことに対して不変という仮定がそもそも…

おたずねのことについては、ld.soがやっているようなことをやれば可能かと、
しかし呼び出している関数に対してもやる必要があるからかなり大変だね。

0949login:Penguin04/02/20 15:29ID:bbNjHyQB
>>947
ライブラリの方に移してくれって作者に頼むなり
自分で改造するなりすれば?
0950login:Penguin04/02/20 20:25ID:ZVKDdpmW
>>949
それがしたくない(できない)のではなかろうか・・・


0951login:Penguin04/02/20 20:46ID:FH7YofMT
>>950
といってもそれしか方法が無いわけだが。
ダイナミックリンカもどき作っても、相手側のアドレスが変わったら対応できないし。

まあ、はくしてパッチを送るのが一番無難な対応だと思いまふ。

0952login:Penguin04/02/21 00:32ID:5f4IU5Il
>>947
要するに、
「あるプログラムの関数を使用したい。
コピーはできるけど、オリジナル関数の方に変更があった時に
コピーした方も変更が入るからやりたくない。」
ってことでしょ

実行プログラムを逆汗して埋め込むってのは無し?
0953login:Penguin04/02/21 01:20ID:a7qDi4js
>>952
あくまでも玄人ということを忘れちゃいけないですよ。
自分で生HDDをつけるということは、少なくてもパーティションの作成から
ファイルシステムやswapの作成というところから始めなきゃいけない訳だし
unix未経験者にはハードル高いんじゃないかな、少なくてもvi使えないと話にならんし。
でもこれから勉強したい人には良いかもね。
0954login:Penguin04/02/21 01:37ID:aNwXDTkl
>>950
それは本人じゃないとわからないな。
095594704/02/21 10:21ID:g34pH8iI
おお、みなさんありがとうございます。
ちょっと仕事が入ってしまってリプライが遅くなってすみません。
単純に実行ファイルをリンクできるかなあ、と思ってしまった私が
馬鹿でした。

そもそも私が考えていたことは出来ないと理解しました。

>>949 さんがおっしゃる作者への依頼と改造は、>>950さんが
おっしゃるように現状出来ないのです、、
>>952さんの逆アセについてはちょっと私には知識が無いので
難しいです。

とりあえずあきらめました。
皆様ご助言ありがとうございました。
0956login:Penguin04/02/21 15:11ID:dBRW80lN
>>947
諦めるのはやいなぁ(・A・)
ソースあるならソースをそのまま拝借して、仕様変更に耐えられるように
適当にラッパを作れば何とかなりそうじゃん。

そのソフトウェアが広く(または狭くても)認められれば、作者も
何か手を打ってくれるかもしれないよ。
「認められたもの勝ち」だよ。
0957login:Penguin04/02/25 16:56ID:xKpEI/8U
expectのAPIってありますか?
例えばコマンドでexpectを使うように、Cのソースの中
で対話型プログラム(プロセス)を実行したいのです。
system()で呼び出したプロセスをなんとか制御できない
もんかと思いまして質問いたしました。
0958login:Penguin04/02/25 17:15ID:Oh46YxgV
>>957
あれはTclで書いてあったような気がするので、
単純にCから呼べるようにはなっていないと思う。

pipeでがんばれ。
0959login:Penguin04/02/25 23:35ID:UvNfIzer
いや、tclって簡単にCに組み込んで独自の言語を動かすための言語ですよ。
もともとハードウェア屋さんが何度となく繰り返される実験のために作った言語だから。
http://www.tcl.tk/man/tcl8.4/ の Tcl Libraryってとこ。
Tutorialもどこかにあった。
096095804/02/26 00:12ID://0HjKwJ
>>959
いやTclをつっこんでも、expectがそういう使いかたを考慮してないのでは?
と思ってソースとってきたら、libexpectなんてのがありますな。
これ使えば目的を果たせるのでは?>>957
0961login:Penguin04/02/26 00:36ID:yDLuiwph
>>960
Tclの言語仕様を良く見て貰うと分かるけど、
expect程度の拡張だと、Tclの特徴消せないんだわ。

もちろんcontrolling terminal廻りの注意はする必要があるが。
0962login:Penguin04/02/27 01:22ID:+++7ZFaP
SDLを使ってアプリを書いているんですけど、コンソール版とX11版だとコンソールの方が遅い。
コンソールの方を早くするにはどうしたらいい?
0963login:Penguin04/02/27 02:44ID:fBM8xqSu
>>962
IDすげー
0964login:Penguin04/02/27 02:51ID:sg8IAEvK
ほんとだ。
>>963 も fb と su か・・・
0965login:Penguin04/02/29 01:48ID:a16y9WaW
モデムフックしそうだ
0966login:Penguin04/03/07 03:10ID:DkALGUAM
閑散としすぎなのでage

そういう俺はC++で数学的な処理をするプログラムしか書いたことがないなぁ。
(一応高校生だもんで実用のになるような範囲しかやらなかったり…)
今度、何か面白いもの作ってみようかな?
0967login:Penguin04/03/07 12:40ID:9agJ57bm
>>966
激しく期待age
0968login:Penguin04/03/07 13:04ID:X6zyXe95
mono(LinuxでC#)なんてどうよ?
http://www.go-mono.com/
http://pc2.2ch.net/test/read.cgi/tech/1020215602/
0969login:Penguin04/03/10 22:52ID:LEB4/zIK
Linuxで何ができますか?
0970login:Penguin04/03/10 22:59ID:RntBxOoz
プログラミング
0971login:Penguin04/03/10 23:08ID:oRw559Y+
>>969

・フランス料理
・床暖房
・プロレス
0972login:Penguin04/03/10 23:56ID:smCT96go
デバイスドライバの書き方をやさしく解説した本とかサイトとか
ありませんか?
カーネルソースのdrivers以下を読めってのは、なしで。
0973login:Penguin04/03/11 00:02ID:SYphARap
>>972
LINUX デバイスドライバ O'REILLY

今となってはちと古いね。
第2版出てんのかなー。
(英語版はなぜか WEB で見れたんで wget した)
0974login:Penguin04/03/11 00:24ID:5HCKPPmL
>>973
ありがとうございます。
にしても高い本ですね。
0975login:Penguin04/03/11 01:53ID:9Nhtmxoa
>>974
読んどきゃなんとかなる本ではないから、詠む時は多少気合いを入れてあげてね。
0976login:Penguin04/03/11 10:21ID:iMmDyNYj
>>974

974の言う通りオライリはちょっと気合が要ります。
その前にここら辺で肩ならししといてはいかがでしょう。
http://www.mech.tohoku-gakuin.ac.jp/rde/contents/linux/indexframe.html

ちゃんとドライバ書きたいならオライリ持ってる方が良いけどね。

>>973
今はどの本屋にも第2版しか置いてないですよん。
0977login:Penguin04/03/11 14:16ID:EpkHQQD1
>>976
ちゃんと馬本から入った方がいいよ
ていうか、あれはオライリーの中で 一番わかりやすい本 だと思うが。
0978login:Penguin04/03/11 14:45ID:/yDh0VN8
一番て
0979login:Penguin04/03/14 02:22ID:moAPMrB3
0980login:Penguin04/03/14 13:56ID:IRycuJog
今日からLinux勉強しようと思います
←仕事で必要のため
皆さん
よろしくお願いします
0981login:Penguin04/03/14 14:08ID:moAPMrB3
0982login:Penguin04/03/14 14:29ID:tGUzSqbT
次スレは?
0983login:Penguin04/03/14 14:33ID:uLDAtGA8
いらないでしょ。
0984login:Penguin04/03/14 15:11ID:3VlCq2eB
いる!!!!!!!!!!!
0985login:Penguin04/03/14 15:14ID:moAPMrB3
ム板行け。
0986login:Penguin04/03/14 16:02ID:IRycuJog
Windouwsと共存しようと
HDD増設しったんですけど
0987login:Penguin04/03/14 16:04ID:IRycuJog
OSローダーから起動できません
1stドライブがWindowsで50GB使ってるんですがこれがブートセクタの壁ですか?
0988login:Penguin04/03/14 16:07ID:IRycuJog
ブートローダはLinuxパーティションの/boot
に入れてます。ちょくちょく弄りたいのでBootディスクは辛いのです
0989login:Penguin04/03/14 16:07ID:moAPMrB3
>>986 >>987
くだらねえ質問はここに書き込め! Part72
http://pc.2ch.net/test/read.cgi/linux/1078822042/
0990login:Penguin04/03/14 16:10ID:IRycuJog
良い方法ありませんヵ?
WINDOWS-5GB位にして直後の基本領域に入れるほかないんでしょうか?
でもWIN再インストールはしたくないんですよねぇ
0991login:Penguin04/03/14 16:17ID:IRycuJog
いろいろ試したんですけど駄目なんすよね
あとLinux領域とVFATは互換性あるとか聞いたんですが認識しないみたいです
直接的な関係じゃないんでしょうか?
初心者ですみませんが
0992login:Penguin04/03/14 16:19ID:IRycuJog
皆さんウィンドウズと共存されてる方ってみんなシステムで10GBとか使用してないんですかねぇ
0993login:Penguin04/03/14 16:20ID:IRycuJog
Dual情報見てもなんだかみんな1024の壁クリアすことを苦としてない人が多いもので
情報不足ですかぁぁ
0994login:Penguin04/03/14 16:22ID:moAPMrB3
日記ならこちらで。

【悪戦】ど素人から初心者への道 3 【苦闘】
http://pc.2ch.net/test/read.cgi/linux/1077400535/
0995login:Penguin04/03/14 16:22ID:IRycuJog
まぁ別に組めれば言いに越したことないんですけど、現状では共存の道しかないのです
どうかお力をお貸しくださいい
0996login:Penguin04/03/14 16:24ID:IRycuJog
頭脳がマヌケですみません。。。
0997login:Penguin04/03/14 16:26ID:IRycuJog
えーと
0998login:Penguin04/03/14 16:34ID:3JwYQZ6z
(´ι _`  )
0999login:Penguin04/03/14 16:35ID:cSNQC/iP
999
1000login:Penguin04/03/14 16:35ID:3JwYQZ6z
(´ι _`  )・・・999
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。