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

Linuxプログラミング

■ このスレッドは過去ログ倉庫に格納されています
0001login:Penguin01/09/02 20:31ID:8eEfRqZ2
教えてよ。ゲームが作りたいんだ
066664803/05/23 23:59ID:PJ5y0ueJ
>>665
カーネル内コピーなんでパフォーマンスをあげるため作成されたんじゃないかなぁ。需要もありそうだし。
0667login:Penguin03/05/24 02:20ID:B4Q+JvDP
>>664
でも人生、sleepだけではだめですよ。
できるだけたくさんのI/O処理をかまして、人生を有意義にすごしましょう。
まぁ、負荷がかかりすぎてカーネルパニックで自滅も怖いけどね。(w
0668login:Penguin03/05/26 16:17ID:RBKpcb+0
waitがプロセス停止でも返るのはどうにかならんか?
0669login:Penguin03/05/26 20:21ID:h/wVtHwT
ターミナルの linefold bugと はどういうバグなのですか?
0670login:Penguin03/05/27 00:55ID:7nn4IhbL
>>668
WIFSTOPPEDマクロを使用しては?
0671山崎渉03/05/28 16:52ID:3t6i6zxR
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉
0672login:Penguin03/05/30 03:10ID:MG+2HHAG
メッセージキューもセマフォもキーが数字ですが、これって他のアプリと衝突しないのでしょうか?
Windowsでは文字列で管理してたのでそこらへんが衝突する心配はかなり少なかったのですが。
0673login:Penguin03/05/30 09:27ID:giaMtuFk
>>672
キーにinodeを使えば衝突はまず無いな。
0674login:Penguin03/05/30 18:14ID:ygNMVWQQ
>>673
テンポラリファイルの inode を使うとかいうガイドラインでもあるの?
他のプロセスも同じガイドラインで動いてないんだったら、自分だけ inode
使ってもやっぱり衝突すると思うが。
0675login:Penguin03/05/30 19:55ID:giaMtuFk
>>674
失礼inodeじゃなくてftokだ。man ftok すりゃガイドラインある。
0676login:Penguin03/05/30 21:07ID:7CcX10s9
perlでOSを書くってのは可能ですか?
0677login:Penguin03/05/30 22:56ID:ABzzpQz+
>>676
perl -e 'print "OS";'
0678login:Penguin03/05/30 23:01ID:saH6ipGu
AWKでOSを書くのは可能ですか?
0679login:Penguin03/05/30 23:09ID:skGhRn3W
仮想マシンなら書けます。
0680login:Penguin03/06/12 18:51ID:xQEvAwt/
catやls等のソースを読もうとcoreutilsパッケージを落したんですが、
複雑でよく分かりませんでした。
これって1.0とか前のバージョンだとすっきりしてるんですか?
探してもそんな昔のバージョンの物は見付からなかったのですが
どこかで配布しているのなら教えて欲しいです。
0681login:Penguin03/06/12 20:24ID:gS0S/vM1
>>680
> catやls等のソースを読もうとcoreutilsパッケージを落したんですが、
ちょっと前までは、lsはfileutils、catはtextutilsだったんで、
それらを探してみては?
0682login:Penguin03/07/05 00:50ID:GDJ/wBjJ
CDをRAW読み込みするにはどうすればよいのですか?
0683login:Penguin03/07/05 01:15ID:3NMShMij
>>682
dataだったら/dev/*読めばいいんじゃないかと。
audioだったらcdda2wavを参考にすれ。

0684login:Penguin03/07/06 01:47ID:Y9+oauTP
システムコールを使うプログラミングを勉強するのにもっとも適した
参考書・教科書は?
0685login:Penguin03/07/06 02:21ID:k2dvOV2J
$ bash -c "help trap"
068668503/07/06 02:26ID:k2dvOV2J
...と思ったらこんなにあるのね。
しらんことに口出すとろくなことない。
逃亡

Linux System Call Table
http://world.std.com/~slanning/asm/syscall_list.html
0687login:Penguin03/07/07 13:33ID:q22K5uBr
ChangeLog のフォーマットが解説されているサイトを教えてください。
0688login:Penguin03/07/07 16:15ID:8LS9zi4W
>>687
ググらんでよし。

% info standards documentation 'change logs'
0689login:Penguin03/07/08 01:10ID:DtGnB79X
(・∀・)renice!
0690login:Penguin03/07/10 23:12ID:JFqZpSeu
C言語で、MACアドレスを取得するにはどうすればいいでしょうか?

0691 03/07/10 23:12ID:JFqZpSeu
また、wget や grepの出力結果を、直接、Cのプログラム内で受け取ることはできないでしょうか?
いままでは、

system("grep hu-nn hoge.log > grep.log");
grep.logを開いて読む

とやっていたのですが、これをやっていたプログラムをファイルの使えない
組み込みLINUXに移植することになりましたので、よい方法を探しています。
0692login:Penguin03/07/10 23:30ID:DlPSb+E0
>>691
pipeでつながったパイプ(ファイルディスクリプタ(FD)のペア*1)作成
forkでサブプロセス起動
サブプロセス側で
 stdoutをクローズ
 dup2でFD(*1)の標準出力1番に複製
 execでgrepなどを起動
メインプロセス側で
 FD(*1)のペア残りを読み込み
 waitpidでサブプロセスの終了を待つ

とすればいけるはず
 
069369103/07/10 23:45ID:JFqZpSeu
>>692
教えていただいたことを手がかりにして何とかいけそうです。
非常に助かりました。ありがとうございました。
0694login:Penguin03/07/11 01:49ID:nVc5TxUX
>>690
ifconfigのソースよめ。
たしかPF_PACKETのsocket作ってioctlすべし。
だったと思う。

>>692
素直にpopenでいいんでは?
0695login:Penguin03/07/11 01:57ID:Lri3S1WJ
>>690
ぐぐったらこんなんでたよ。
http://www.linuxquestions.org/questions/archive/9/2003/03/3/38217

ぐぐキー「ioctl MAC Address Getting Linux」
0696login:Penguin03/07/14 02:47ID:5XjH4O4S
age
0697login:Penguin03/07/14 13:24ID:iCUPa5T3
微妙にスレ違いだけど、"User collaboration in open source development"
なんていうサブジェクトのメールがきた。
スパムかと思ったら有名大学の学生さんによるオープンソースプロジェクトに関する
アンケートだった。
0698山崎 渉03/07/15 11:17ID:2JhhXBQM

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄
0699login:Penguin03/07/15 12:02ID:KhvjxSuE
(・∀・)renice!
0700login:Penguin03/07/16 09:46ID:/p4PizTj
1にお勧め書籍の紹介あることを期待してここを開いたわけだが、ないじゃん。
Linuxプログラミングっつー、目線がはいってる怪しいやつかおうかとおもってるんだけど、どー?

0701login:Penguin03/07/16 10:54ID:/p4PizTj
http://www.atmarkit.co.jp/flinux/bookreview/04program/bookreview.html
0702login:Penguin03/07/16 15:20ID:LkFgtc49
http://linux2ch.bbzone.net/index.php?%5B%5BBooks%5D%5D
http://www.1point.jp/~book_2ch/
0703login:Penguin03/07/16 23:12ID:RMGCfqzT
>>700
かなりおすすめ。あんまLinux固有の話じゃなくて、
Unix全般についてあてはまることが書いてある。
やりたいことにもよるがな。
Cはちゃんと分かってて、GUIプログラムつくりたいんじゃなきゃ
オススメ。

0704login:Penguin03/07/17 00:30ID:GsLFg1G9
eth0 ,eth1 のアドレスを調べる関数って何でしょう?
0705login:Penguin03/07/17 00:43ID:jtcdxhET
何のアドレス?
0706login:Penguin03/07/17 00:52ID:TN6AJWjK
>>704,705
man ioctl_list
にある <include/linux/sockio.h> あたりのどれかだろ?
ADDRってつくのがいろいろあるが。
0707login:Penguin03/07/17 08:57ID:1kQtRwFh
>>702
こーゆーのもあったのね。サンクス。

>>703
昨日さっそく立ち読み、
漏れはWindowsプログラマ(C++)なのだが、分かりやすかったので即購入。



070870703/07/17 09:07ID:1kQtRwFh
しかし、
VisualStudioの高性能なIDEに慣れきってるもんだから、
makefileやらEmacsやらがちょっととっつき辛いね。
GUIを作りたいわけじゃぁ無いのだけど、KDevelopへ逃げちゃたーよ。
KDevelopはなかなか高性能なのだが、VSに比べると重いのが難点。
0709login:Penguin03/07/17 11:36ID:V3J08gFU
>>708
WideStudioってのもあるけど。まぁ好き嫌いは当人にお任せして。

emacsでgdbとか使えるようになるといい感じだよ。

IDEに頼る人って、よく醜いソースコード吐くんだよね。
IDEが高機能=ソースコードが醜くても何とか見える
から・・・それだけは慎重にしとくれ。

GUIならGTKライブラリがお勧め。
0710login:Penguin03/07/20 23:19ID:R7nf/Fv+
>>708よ。
>>709が言いたかったのは、
ようは、
viを使えよと、Makefileを書けよと、shellでシステム管理用スクリプト
ぐらい書けよと、sedとawkと正規表現を極めろよと、
kernel sourceの修正をして、パッチ作成してlkmlにポストして、
たまにはLinusに注意してやれよと。
こう言いたかったようです。
0711login:Penguin03/07/23 11:46ID:ZPPlsMW8
(・∀・)renice!
0712login:Penguin03/07/23 15:05ID:6cwqB+RT
UNIXドメインソケットの作成ってどうやるの?
socket作った後bindするのがよくわからない
0713login:Penguin03/07/23 15:25ID:fIgXDXyS
http://www.e-mansion.co.jp/kensyou/
0714神の賜物03/07/23 15:32ID:sSQJakwS
誰か教えてください。リナックスのOSを市販のノートパソコンにインストールして
ワードなんかのアプリケーションはうまく機能するのですか。何分ウィンドーズしか
知らない未熟者です。よろしく指南ください。
0715_03/07/23 15:39ID:szLePVKp
http://homepage.mac.com/hiroyuki44/
0716login:Penguin03/07/23 15:45ID:YqKlkAJm
>>712
--- 受付 ---
struct sockaddr_un sun;
fd = socket(PF_UNIX, SOCK_STREAM, 0);
sun.sun_family = AF_UNIX;
strcpy(sun.sun_path, "/tmp/honyarara");
bind(fd, (sockaddr*)&sun, sizeof(sun));

--- 接続 ---
struct sockaddr_un sun;
fd = socket(PF_UNIX, SOCK_STREAM, 0);
sun.sun_family = AF_UNIX;
strcpy(sun.sun_path, "/tmp/honyarara");
connect(fd, (sockaddr*)&sun, sizeof(sun));
-------------

man unix
でわかるかも?

0717login:Penguin03/07/23 18:41ID:ZQqetWNF
いきなりの質問ですみません。
RedHatLinux8.0でメールボックスにメールを受信した時に
PHPスクリプトを呼び出して処理を行った後返信をしたいのですが、
メールが届く度に、PHPスクリプトを呼び出すメールサーバ側の設定がわかりません。
どのようにすればいいでしょうか?
PHPはphp 4.3.2をimap関数付きでconfigureしてます。
sendmail 8.12.5
popt 1.7.1
よろしくお願いします。
0718login:Penguin03/07/23 18:59ID:qGKxaJYN
フリーの統合開発環境でいいのないすか?
どうもviじゃいまいちだし。
できればVC++みたくで日本語環境で使える奴。
キリクス高杉
0719login:Penguin03/07/23 19:04ID:YqKlkAJm
>>718
WideStudio, Kdevelop, etc...
0720login:Penguin03/07/23 19:17ID:6cwqB+RT
>>716
(゚∀゚)サンクスコ
0721login:Penguin03/07/23 19:18ID:cPeNPJaK
>>719
「いいの」といってるだろ。

>>720
諦めてvi, emacsに慣れるかcuiアプリならsamba経由でvcで開発デバッグするのも有り。
C/C++でVC並に使いやすいIDEはないよ。
つかKylix Open Editionじゃ駄目なのか?
0722login:Penguin03/07/23 19:44ID:CrZUc/cg
WideStudioって未踏採択されたらしいよ。
これから良くなるんでないの?
072371803/07/23 23:01ID:qGKxaJYN
>>719-722
それぞれ見てみましたが一長一短って感じですね。
取りあえず将来性も考えWideStudio使ってみようかとおもいます。

Kylix Open Editionも良いけどGPLソフトしか作れないってのはきっついなー。
0724login:Penguin03/07/24 10:51ID:fOKry8Mc
>>723

> フリーの統合開発環境でいいのないすか?
> どうもviじゃいまいちだし。
> できればVC++みたくで日本語環境で使える奴。
> キリクス高杉

VC++使えばいいじゃん。もう(買って)持ってるんだろ?

今更フリーにはしるこたぁねえよ
072570703/07/24 23:23ID:m74KDjKB
>>723

漏れはWindows用のゲームのサーバとしてLinuxでプログラム組んでるが、
Windows上でLinuxと同じ動作をするぷプログラムをまず組んで、
あらかたバグがとれたらLinuxへ移植。もっと効率のいい方法無いかな?
0726login:Penguin03/07/25 02:14ID:V77hoGnP
>>725
開発効率が良ければいいんじゃないかな

開発環境ってもただの道具だし、
手に馴染んだものを使うのが
結局一番いいということもあるし。
0727login:Penguin03/07/25 11:23ID:azZp68HE
えっと、質問させてください
最近真面目に勉強始めたんですが・・・

Cでプログラム作って、中の動作を一部シェルやコマンドに任せたりなんてどーやってやるんですか?
徹頭徹尾、CならC、シェルならシェルで書かないとイカンですか?
0728login:Penguin03/07/25 11:30ID:29zDwjlu
>>727
system, exec, fork
を参考にしてください。
0729login:Penguin03/07/25 11:30ID:29zDwjlu
あ・・あと、popen
0730login:Penguin03/07/25 12:07ID:azZp68HE
>>728>>729
ありがとうございます
0731login:Penguin03/07/26 04:56ID:aiFKdJLY
emacsは統合開発環境じゃないのか?
0732login:Penguin03/07/26 05:17ID:J0HMlTl0
>>731
"統合環境"だろ。"開発"は余計。
0733login:Penguin03/07/27 07:01ID:6YULTMa4
開発で合ってますが。
0734login:Penguin03/07/27 14:59ID:dGC6KQ/n
>>733
このスレでの発言であればあってるから問題ない
他のスレで「開発」なんて付けて呼んだらイカンけどな。
0735login:Penguin03/07/28 12:55ID:YIr5Dzm4
(・∀・)renice!
0736login:Penguin03/07/28 18:40ID:Fse58Rnu

スレ名:Linuxプログラミング
板 名:Linux@2ちゃんねる
投稿者:
メール:sage
投稿日:2003/07/28 18:38:34
本 文:

emacsって、CUI環境で日本語入力できる?

オレRedhat8.0とTurboLinux使ってみたんだけど、
両方とも起動直後のコンソールではshift+spaceでFepが立ち上がらん。

x-window上でktermを起動させて、その上でemacsを起動させればFEPも使えるんだけど、
重い・・・。
0737login:Penguin03/07/28 18:41ID:Fse58Rnu
スマ、余計なモンまでCut&Pasteしちった
0738login:Penguin03/07/28 19:40ID:3aOZaK5v
「Fep」が世代を感じさせるね
0739login:Penguin03/07/29 01:10ID:Ft2LMD2u
>>736
激しくスレ違いだが一応答えておく・・・

emacsのFEP(IME)は、CTRL+o もしくは、 CTRL+\ です。
キーバインドの設定によって変わってますが、大抵はどちらか。
# emacsが起動するホストでcannaやwnnやATOKなどが起動している必要がある
0740login:Penguin03/07/30 17:45ID:yKm3BaiU
標準入力(fdでいうと0か) をdefineしてるヘッダってどれですか?
grepしたら
unistd.h:#define STDIN_FILENO 0
と出たんだけど、これ使っていいの?
0741login:Penguin03/07/30 17:55ID:Gdoqv3Kj
>>740 いいよ
0742login:Penguin03/07/31 03:19ID:k0B+t1iH
ctrl+oはやったんだけど、Ctrl+\はやってなかった、、。サンクス!

074372703/08/01 11:58ID:FcJoCnjb
追加質問です

Cの中でコマンドを使うにはsystemなどを、というコトでしたが、
例えばprintf系のように%dとか%sとかって使うコトは出来るのでしょうか?
systemは実際駄目でしたが。




0744login:Penguin03/08/01 12:05ID:YzTLfBOM
>>743
そのためのsprintf
全然Linux固有の話じゃないな。

あと、外部の入力をsystemに食わせる時はちゃんとチェックしとけよ。
穴になるぞ。
0745login:Penguin03/08/01 13:22ID:3Dz1soT0
>>743
そういう関数は無いから自前で作る。たとえば

int systemf(char* fmt, ...) {
va_list vl;
char buf[4096]; // 長さは適当。
va_start(vl, fmt);
vsprintf(buf, fmt, vl);
va_end(vl);
return system(buf);
}

もちろん穴には気をつけてね。
0746hidehiro03/08/01 15:25ID:FaQAPlZw
はじめまして
コマンドプロンプトからコマンドを実行した時に
標準出力へ出力される文字数を取得する環境変数
かなにかはあるのでしょうか?
0747login:Penguin03/08/01 15:29ID:3Dz1soT0
>>746
何がしたいの??

なんか
ls | wc -c
とかいうことじゃないよな?
0748ぼるじょあ ◆yBEncckFOU 03/08/02 04:56ID:GfRe8vK7
     ∧_∧  ∧_∧
ピュ.ー (  ・3・) (  ^^ ) <これからも僕たちを応援して下さいね(^^)。
  =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
  = ◎――――――◎                      山崎渉&ぼるじょあ
0749login:Penguin03/08/02 10:14ID:2rmp9gin
(・∀・)renice!
0750login:Penguin03/08/03 20:31ID:q7iiqNK4
>>747
ターミナルの横幅では?
0751login:Penguin03/08/04 03:03ID:e3p0qvvk
コラムス!
0752login:Penguin03/08/08 11:52ID:mg5o8ebS
(・∀・)renice!
0753login:Penguin03/08/09 08:18ID:23zZMeDy
ああ・・・なんてレベルが低いんだ・・・
0754login:Penguin03/08/12 11:33ID:4MGXav2e
(・∀・)renice!
0755login:Penguin03/08/14 00:36ID:qFFLWU8R
Cでネットワークプロいグラム書いてますけど質問です。

IPアドレスから名前に変換するとき、今一番トレンディな方法は
いったいなんでしょうか? getnameinfo を使うのがベストなの?
0756login:Penguin03/08/14 02:26ID:gJhrJeKX
>>755
gethostbyaddr
かな。
$ man gethostbyaddr
で関連関数が出てくるよ
0757login:Penguin03/08/14 19:00ID:qFFLWU8R
Cでネットワークプログラム書いてるけど質問だ!

動作中、ずっとlisten()してるソケットを作りました。
このプログラムが動作中は問題ないんですが
Ctrl+C等で不用意に止めて、もう一度動かすと
bindでエラー(EADDRINUSE :Address already in use)
となって待ち受け出来なくなります。
このときnetstatでポートを見ると TIME_WAIT とあるので
そのポートが自然に消滅するのを待てばいいのですが

こんなことをしなくても強制的に再利用したいのですが
どうしたらいいでしょうか?
setsockoptでなんか適当に設定するの?SO_REUSEADDR?
0758login:Penguin03/08/14 20:03ID:imXzk7pa
> setsockoptでなんか適当に設定するの?SO_REUSEADDR?
そうそれ。
0759login:Penguin03/08/14 20:54ID:OZhN5Fs9
signal()で処理だろ。
0760login:Penguin03/08/14 20:56ID:imXzk7pa
>>759
signalで処理しても
> このときnetstatでポートを見ると TIME_WAIT とあるので
この状態は防げない。
0761login:Penguin03/08/14 23:57ID:EZZe4dzO
>>757
int flag = 1;
setsockopt(fdsocket, SOL_SOCKET, SO_REUSEADDR, &flag, sizeof(flag));
fdsocketはsocket関数で取得したsocket descriptor。
0762login:Penguin03/08/15 15:07ID:VuCLTiPS
>>758,>>761
(゚∀゚)サンクスコ

うまく動かんなーと思ってたらflag=1を忘れてたぜエヘヘ
0763山崎 渉03/08/15 22:20ID:dil3w4kp
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン
0764login:Penguin03/08/16 00:11ID:5i+gfiwt
(・∀・)renice!
0765login:Penguin03/08/18 01:17ID:xPxKgdAT
struct addrinfo *hoge;
char buf[256];

getaddrinfo( "hostname", 0,0, &hoge );
inet_ntop( AF_INET, &info->ai_addr, buf, 256);
printf( "%s\n", buf );

こンな感じで名前からIPを引きたいンだけど、うまく動かない。
inet_ntopの使い方、どッか間違ッてる?
■ このスレッドは過去ログ倉庫に格納されています