[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/09 09:49 / Filesize : 207 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

UNIXプログラミング質問すれ Part6



1 名前:デフォルトの名無しさん mailto:sage [2005/05/24(火) 13:14:50 ]
UNIXおよびUNIX clone環境一般のプログラミングに関する質問スレッド

前スレ
Part5 pc8.2ch.net/test/read.cgi/tech/1105723117/
Part4 pc5.2ch.net/test/read.cgi/tech/1095843584/
Part3 pc5.2ch.net/test/read.cgi/tech/1085930894/
Part2 pc5.2ch.net/test/read.cgi/tech/1055110889/
Part1 pc2.2ch.net/tech/kako/992/992057422.html

Part3のミラー
makimo.to/2ch/pc5_tech/1085/1085930894.html
Part2のミラー
makimo.to/2ch/pc5_tech/1055/1055110889.html

関連スレ
Cygwin使っている人いますか? その14 (UNIX板)
pc8.2ch.net/test/read.cgi/unix/1107587275/
Cygwin使っている人いますか? 3 (Windows板)
pc8.2ch.net/test/read.cgi/win/1090131123/


関連板
pc8.2ch.net/unix/
pc8.2ch.net/linux/

52 名前:デフォルトの名無しさん mailto:sage [2005/05/30(月) 09:49:11 ]
>>51 全員読んでたらこのスレの流量は1/10以下になると思われ。



53 名前:デフォルトの名無しさん [2005/05/30(月) 11:05:07 ]
>>51
あの系統の本で新しいの(日本語がいいなぁ)って出てないの?


54 名前:デフォルトの名無しさん mailto:sage [2005/05/30(月) 11:21:01 ]
そんなあなたにAPUE 2nd Ed.
日本語訳のことは知らないが、まあそのうち出るんじゃないか。


55 名前:デフォルトの名無しさん mailto:sage [2005/05/30(月) 14:07:17 ]
>>48
pipeかどうかはfstat(2)してS_ISFIFOで。

56 名前:53 [2005/05/31(火) 11:05:02 ]
>>54
2nd Ed. でてたのか!
早く日本語訳出ないかなぁ。

あとUNIX Network Programming (SCTPとか追加になったやつ)のやつも翻訳でてほしい。
>篠田先生よろしくお願いします。m(_ _)m


57 名前:56 mailto:sage [2005/05/31(火) 11:07:42 ]
>>54
アマゾったらまだ発売してないじゃないくぁ。APUE 2nd Ed.
近日発売になってたけど。


58 名前:デフォルトの名無しさん [2005/05/31(火) 11:48:25 ]
APUE ってなに?
あぷえ?

59 名前:デフォルトの名無しさん mailto:sage [2005/05/31(火) 11:49:35 ]
そう。あぷえ。

60 名前:54 mailto:sage [2005/05/31(火) 11:50:32 ]
ごめんよぅ (´・ω・`)




61 名前:デフォルトの名無しさん mailto:sage [2005/05/31(火) 12:03:03 ]
アマゾンであぷえ調べたけど2ndは売ってないみたいあぷえ
Additionalなんとかさんがそれなのあぷえ

62 名前:デフォルトの名無しさん mailto:sage [2005/05/31(火) 19:32:46 ]
6/10発売じゃない?
あと10日

63 名前:デフォルトの名無しさん mailto:sage [2005/06/03(金) 05:18:55 ]
俺はあぷえは初版だけでいいな。90年代前半のUNIXについて
知ることができるし。現在のUNIXについて知りたいなら、今ある
資料読めばいいし。

64 名前:デフォルトの名無しさん [2005/06/03(金) 09:33:01 ]
90年代前半のUNIXなどというゴミについて知って何が楽しいのだろう

65 名前:デフォルトの名無しさん mailto:sage [2005/06/03(金) 10:02:21 ]
>>64
いや、それをいうなら70年代後半。。

66 名前:デフォルトの名無しさん [2005/06/03(金) 17:02:43 ]
Unix のコンソールの統合開発環境ていうのはありますか?
なければおまえがつくってください >>67

67 名前:デフォルトの名無しさん mailto:sage [2005/06/03(金) 17:07:13 ]
>>66
Emacs

68 名前:デフォルトの名無しさん mailto:sage [2005/06/03(金) 17:07:19 ]
そこで emacs ですよ。

69 名前:デフォルトの名無しさん mailto:sage [2005/06/03(金) 18:03:50 ]
emacs 以外ないだろう

70 名前:デフォルトの名無しさん mailto:sage [2005/06/03(金) 18:39:59 ]
vi



71 名前:デフォルトの名無しさん mailto:sage [2005/06/03(金) 22:09:55 ]
UNIX はログインした瞬間から統合開発環境に居る様なもんだ。
関数名補完とかは無いけど。

72 名前:デフォルトの名無しさん mailto:sage [2005/06/04(土) 13:53:58 ]
>>71
ホームディレクトリに関数名のファイルをいっぱい作っておくと言うのはどうか ?

73 名前:デフォルトの名無しさん mailto:sage [2005/06/04(土) 15:17:53 ]
>>72
echoでプログラム書く気か?

74 名前:デフォルトの名無しさん mailto:sage [2005/06/04(土) 15:37:28 ]
>>73
>>72 からどう考えたら、「echo でプログラム書く気か?」
なんて考えに至るのか非常に興味がある。

75 名前:デフォルトの名無しさん mailto:sage [2005/06/04(土) 15:59:51 ]
catの書き間違いでは?

76 名前:デフォルトの名無しさん mailto:sage [2005/06/04(土) 16:00:31 ]
シェルのファイル名補完を使ってプログラムを書こうとしてる
と考えたのではないか

77 名前:デフォルトの名無しさん mailto:sage [2005/06/04(土) 16:02:03 ]
補完が便利な言語とそうでないのがある
Cでは大して役にたたんだろう

78 名前:デフォルトの名無しさん mailto:sage [2005/06/05(日) 00:15:05 ]
あぷえが出た当時からUnixってそんなに発展したか?

79 名前:デフォルトの名無しさん mailto:sage [2005/06/05(日) 10:34:53 ]
基本的にはまったくそのまま(w

80 名前:デフォルトの名無しさん mailto:sage [2005/06/05(日) 11:14:42 ]
Linux とか



81 名前:デフォルトの名無しさん mailto:sage [2005/06/05(日) 12:29:55 ]
商用UNIXは進化しつづけていますよ。

82 名前:デフォルトの名無しさん mailto:sage [2005/06/05(日) 12:51:27 ]
あらぬ方向へと

83 名前:デフォルトの名無しさん mailto:sage [2005/06/05(日) 12:55:00 ]
  ,j;;;;;j,. ---一、 `  ―--‐、_ l;;;;;;
 {;;;;;;ゝ T辷iフ i    f'辷jァ  !i;;;;; 
  ヾ;;;ハ    ノ       .::!lリ;;r゙   UNIXにMacのGUIがつけば最強
   `Z;i   〈.,_..,.      ノ;;;;;;;;>  そんなふうに考えていた時期が
   ,;ぇハ、 、_,.ー-、_',.    ,f゙: Y;;f     俺にもありました
   ~''戈ヽ   `二´    r'´:::. `!


84 名前:デフォルトの名無しさん mailto:sage [2005/06/05(日) 13:00:41 ]
当時はその状態に憧れて、MinixだのMachTenだの試したもんだな。

85 名前:デフォルトの名無しさん mailto:sage [2005/06/06(月) 03:27:44 ]
soの作り方を解説してあるページ知りませんか?

86 名前:デフォルトの名無しさん mailto:sage [2005/06/06(月) 03:34:38 ]
soってなんだよ
super oppaiか?

87 名前:デフォルトの名無しさん mailto:sage [2005/06/06(月) 03:40:24 ]
じゃぁ a.out は?

88 名前:デフォルトの名無しさん mailto:sage [2005/06/06(月) 06:37:49 ]
$ touch a.out

89 名前:デフォルトの名無しさん mailto:sage [2005/06/06(月) 07:34:20 ]
ああ shared object か

90 名前:デフォルトの名無しさん mailto:sage [2005/06/06(月) 07:54:42 ]
マジボケかよ



91 名前:デフォルトの名無しさん mailto:sage [2005/06/06(月) 09:44:18 ]
super oppaiなら爆乳専門の風俗にあるよ

92 名前:デフォルトの名無しさん mailto:sage [2005/06/06(月) 09:53:47 ]
爆乳(゚听)イラネ
貧乳が(・∀・)イイ!!

93 名前:デフォルトの名無しさん mailto:sage [2005/06/06(月) 16:52:01 ]
>>92
呼んだ?w

処で質問。Solaris9のccって、C99? C89互換のオプションってあるんでしょうか。
#出先なので調べられないもんで。

94 名前:デフォルトの名無しさん [2005/06/06(月) 20:03:38 ]
>>88
噴いたw


95 名前:デフォルトの名無しさん mailto:sage [2005/06/06(月) 20:15:11 ]
>>93
c89 も c99 もコマンドとして提供されている

96 名前:デフォルトの名無しさん [2005/06/06(月) 20:23:52 ]
今のはc05

97 名前:デフォルトの名無しさん mailto:sage [2005/06/07(火) 13:52:46 ]
LinuxでWindowsのdllの様なことをやりたいのだけど、どうやってやればよいのでしょうか?

98 名前:デフォルトの名無しさん mailto:sage [2005/06/07(火) 14:01:24 ]
>>97
ふーん、so

99 名前:デフォルトの名無しさん [2005/06/07(火) 17:13:33 ]
#include <iostream>
using namespace std;
int main(){
cout << "Content-type: text/html\n\n" << endl;
cout << "test1" << endl;
char *s = (char *)malloc(atoi(getenv("CONTENT_LENGTH")));
cout << "test2" << endl;
free(s);
}
このプログラムをCONTENT_LENGTHが発生しない方法で起動するとtest1までしか出力されない。
という事は、freeが行われずにメモリリークが発生するのでしょうか?

100 名前:デフォルトの名無しさん mailto:sage [2005/06/07(火) 18:40:01 ]
OSが管理してくれます



101 名前:デフォルトの名無しさん mailto:sage [2005/06/07(火) 18:42:19 ]
atoi()の中でsegmentation faultして終了、じゃないのかね。


102 名前:デフォルトの名無しさん mailto:sage [2005/06/07(火) 19:23:32 ]
ちゃんとエラーチェックしろよ

103 名前:デフォルトの名無しさん mailto:sage [2005/06/08(水) 01:05:05 ]
freeでエラーが発生したかどうか知る方法がない罠
# 発生したことが分かったところでどうしようもない場合も多いが

104 名前:デフォルトの名無しさん mailto:sage [2005/06/08(水) 01:22:12 ]
CONTENT_LENGTHにすごい値が入っていたら
すごいことになりそうな悪寒。

105 名前:デフォルトの名無しさん mailto:sage [2005/06/08(水) 01:35:15 ]
.cgi 見つけたら Content-Length: 4294967295 でpostしまくるクローラでも作ったろか

106 名前:デフォルトの名無しさん mailto:sage [2005/06/08(水) 07:55:22 ]
端末(ターミナルウインドウ)の画面幅を取得する方法を教えてください


107 名前:デフォルトの名無しさん mailto:sage [2005/06/08(水) 08:21:59 ]
ioctl

108 名前:99 mailto:sage [2005/06/08(水) 14:06:19 ]
レスありがとうございました。

ちなみに、
>>99のプログラムは適当に書いただけで
実際に使うプログラムでは文字数超過判定をしています。

109 名前:デフォルトの名無しさん mailto:sage [2005/06/08(水) 15:40:14 ]
>>99
> cout << "Content-type: text/html\n\n" << endl;

UNIXでは、\r\n\r\n ですんで、よろしく。

110 名前:デフォルトの名無しさん mailto:sage [2005/06/08(水) 17:36:19 ]
>>109 逆。

ところで、MIMEヘッダーフィールドのセパレータは
CRLFとRFC2045で明確に定義されている。だから99のコードの最終目的
によってはOSに関係なくCRLFでなければならない。



111 名前:デフォルトの名無しさん mailto:sage [2005/06/08(水) 17:44:53 ]
( ゚Д゚) ・・・

112 名前:110 mailto:sage [2005/06/08(水) 17:46:57 ]
失礼。目的も何もこれ多分CGIだよね。なら、RFC2045じゃなくてRFC2068で
CRLFって決まってる。

ちなみにその後の出力でendlを使ってるけど、これはRFCでクライアントは
Content-type: textのメッセージボディの行末はCR/LF/CRLFのいずれでも
許容しなければならないって決まってるから、これはOK。

113 名前:110 mailto:sage [2005/06/08(水) 17:49:35 ]
すまん、寝ぼけてた。orz

114 名前:デフォルトの名無しさん mailto:sage [2005/06/08(水) 17:54:27 ]
( ゚Д゚) ・・・

115 名前:デフォルトの名無しさん mailto:sage [2005/06/08(水) 20:19:55 ]
わかってないなら、無理して言わなきゃいいのに...。

116 名前:デフォルトの名無しさん [2005/06/08(水) 21:59:31 ]
デバイスメモリをmmap()して
読み書きできるようにはなったのですが
領域をmemcpy()などに渡そうとするとSegmentation Faultになります。
どうすれば渡すことができるようになるでしょうか。
Linux kernel2.4です。

117 名前:デフォルトの名無しさん mailto:sage [2005/06/08(水) 22:21:06 ]
mmap関係ないとこのバグじゃないの?
読み手はエスパーじゃないんだから、問題のソースぐらい引用せよ

118 名前:デフォルトの名無しさん mailto:sage [2005/06/08(水) 22:36:20 ]
だれかエロゲーつくって下さい

119 名前:116 mailto:sage [2005/06/08(水) 22:36:32 ]
ふつうにできるはずということですか?。
ソースをかいつまんで書くと
src=mmap(NULL, 0x800000, PROT_READ|PROT_WRITE, MAP_PRIVATE, fd, 0);
//memcpy( src, dst, 0x800000 );//これは落ちる
cnt=0x800000;while(cnt--) *dst++=*src++;//これは通る
という感じなんです。問題の見誤りなのでしょうか。

120 名前:デフォルトの名無しさん mailto:sage [2005/06/08(水) 22:38:52 ]
memcpyのsrcとdstが逆に見えるが。



121 名前:デフォルトの名無しさん mailto:sage [2005/06/08(水) 22:40:24 ]
man memcpy

122 名前:116 mailto:sage [2005/06/08(水) 22:43:22 ]
ヽ(`Д´)ノ
すんません、いま書き間違えました。

123 名前:デフォルトの名無しさん mailto:sage [2005/06/08(水) 22:53:37 ]
確保したサイズまで一旦シークしなきゃいけないんじゃなかったっけ

124 名前:116 mailto:sage [2005/06/08(水) 23:54:31 ]
>>123
情報ありがとうございます。
すこしぐぐってみたところ、ファイルをmmap()するときに
マップしたサイズの実体を作るために必要みたいですね。
今回のとはもしかしたら関係ないかも。
でも試してみます。

125 名前:デフォルトの名無しさん mailto:sage [2005/06/09(木) 00:17:07 ]
>>124
デバイス相手ならシークしなくてもよかったと思うが、
本番前に/dev/memあたりで動作確認してみりゃいいんでは?


126 名前:116 mailto:sage [2005/06/09(木) 00:41:48 ]
>>125
情報ありがとうございます。
雰囲気的に問題が別のところにありそうで
いろいろやり足りてなかったと思いはじめました。
もう少しがんばってみます。

127 名前:デフォルトの名無しさん mailto:sage [2005/06/09(木) 01:16:09 ]
質問です
UNIXを使うとWindowsを使うのに比べてより良い
セックスライフが送れますか?

128 名前:デフォルトの名無しさん mailto:sage [2005/06/09(木) 01:18:59 ]
>>127
センスのカケラも無い人間だな

129 名前:デフォルトの名無しさん mailto:sage [2005/06/09(木) 01:21:05 ]
>>127
windowsを使う→winnyでウハウハ→おかずたくさん→
新鮮で気持ちいい→相方放置

unixを使う→winnyが動かない→おかずが足りない→
一人でできない→相方とハァハァ

答:送れる

130 名前:デフォルトの名無しさん mailto:sage [2005/06/09(木) 02:40:57 ]
>>129
センスのカケラも無い人間だな



131 名前:デフォルトの名無しさん mailto:sage [2005/06/09(木) 06:59:05 ]
デバイスを MAP_PRIVATE でマップするってのも変だぞ。
/dev/zero ならまあいいけど。

132 名前:デフォルトの名無しさん mailto:sage [2005/06/09(木) 13:35:27 ]
>>99
> cout << "Content-type: text/html\n\n" << endl;
> (略)
> cout << "test2" << endl;

cout << "Content-type: text/html\r\n\r\n";
(略)
cout << "test1\r\n" << flush;



133 名前:デフォルトの名無しさん [2005/06/15(水) 12:49:56 ]
Cで指定DIR配下のファイル名全てを列挙してTXTファイルに出力する
プログラムを作成したいのですが、処理の方法や関数等がわかりません
御教授いただければ助かります。よろしくお願いします。
ソラリスです。

134 名前:デフォルトの名無しさん mailto:sage [2005/06/15(水) 12:52:59 ]
opendir, readdir

135 名前:デフォルトの名無しさん mailto:sage [2005/06/15(水) 12:58:10 ]
closedir

136 名前:133 [2005/06/15(水) 13:07:12 ]
レスありがとうございます。参考で調べてみたのですが
直下だけは以下のコードで求められるようなのですが
次々にその配下のファイルを列挙する方法はどのうような仕組みにすれば
実現可能でしょうか?
#include <sys/types.h>
#include <dirent.h>
DIR *dp;
struct dirent *dir;
if ( (dp=opendir("/usr/bin")) == NULL ){

/* エラー */

}
/* カレントディレクトリのファイル一覧を表示 */
while ((dir = readdir(dp)) != NULL ){

printf("%s\n",dir->d_name);

}

137 名前:デフォルトの名無しさん mailto:sage [2005/06/15(水) 13:19:20 ]
readdir で得られたものがディレクトリならその下も同様に...

138 名前:デフォルトの名無しさん mailto:sage [2005/06/15(水) 13:19:38 ]
>>136
system("find DIR > TXT");
どうしても自前でreaddir()するなら、自分でディレクトリを展開しないといけない。

139 名前:133 [2005/06/15(水) 14:04:49 ]
>>137 >>138
ありがとうございます。やはり展開と再帰処理的な機能を
自前でつくる必要があるということですね。


140 名前:デフォルトの名無しさん mailto:sage [2005/06/15(水) 14:10:46 ]
だから折角人が自前で作らない方法を提示しているのに……



141 名前:133 [2005/06/15(水) 14:14:51 ]
>>140
すみません。system("find DIR > TXT"); だと自前しなくて
組めるという事でしたか。今必死にぐぐっているのですが
どのように使うのかわかりません。
お願いします。


142 名前:デフォルトの名無しさん mailto:sage [2005/06/15(水) 14:17:44 ]
>>141
やってみたら?
DIRとTXTを適当に書き換えて。

143 名前:デフォルトの名無しさん mailto:sage [2005/06/15(水) 14:18:01 ]
system() という関数のマニュアルページを嫁よ。

144 名前:デフォルトの名無しさん mailto:sage [2005/06/15(水) 14:20:58 ]
ていうか、
(勉強のために)プログラムを書くのが目的ならいいけど、

>指定DIR配下のファイル名全てを列挙してTXTファイルに出力する

が目的だったら、いちいちプログラム書くのはアフォだよ。

145 名前:133 [2005/06/15(水) 14:35:13 ]
>>142
了解しました。一度ためしてみます。
ちなみに
cc test.c の命令でコンパイル実行してるのですがデバッグモードのような追跡は
どのようにすれば良いですか?教えてもらってばかりですみません。
お願いします。

>>143
再度検索します。ありがとうございます。

>>144
勉強でつくってみています。只の列挙であればLSコマンドの
ほうが便利ですよね。


146 名前:133 [2005/06/15(水) 14:37:37 ]
systemは理解しました。コマンドを実行するわけですね。


147 名前:デフォルトの名無しさん mailto:sage [2005/06/15(水) 14:43:42 ]
>>145
gdb

148 名前:デフォルトの名無しさん mailto:sage [2005/06/15(水) 14:46:01 ]
デバッグは -g つけてコンパイル&リンクして、
ソラリスだと dbx かなんか使うんでないかな。

149 名前:133 [2005/06/15(水) 14:47:19 ]
>>147
gdb test.c という解釈ですね?

150 名前:デフォルトの名無しさん mailto:sage [2005/06/15(水) 14:47:35 ]
>>136
ftw(3), nftw(3)



151 名前:デフォルトの名無しさん mailto:sage [2005/06/15(水) 14:49:02 ]
>>149
みんながこんだけキーワード出してんだから、マニュアルとか嫁よ。

152 名前:デフォルトの名無しさん mailto:sage [2005/06/15(水) 14:51:15 ]
>>133
会社の部下だったら首にしてるよ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<207KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef