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/
313 名前:デフォルトの名無しさん mailto:sage [2005/06/26(日) 12:11:20 ] >>311 ブラウザによる ってか、板違い Web製作技術板だとかそんないたがあっただろ そこいっとけ
314 名前:デフォルトの名無しさん mailto:sage [2005/06/26(日) 12:21:59 ] >>311 RFC1806
315 名前:デフォルトの名無しさん mailto:sage [2005/06/26(日) 12:37:19 ] >>311 RFCの日本語訳はネットワークプログラミング版のテンプレURL集をみよ。
316 名前:訂正 mailto:sage [2005/06/26(日) 12:37:48 ] >>315 ネットワークプログラミング版→ネットワークプログラミングスレ
317 名前:デフォルトの名無しさん mailto:sage [2005/06/26(日) 12:40:29 ] 日本語訳しか読めない奴がよく技術本とか言うな
318 名前:デフォルトの名無しさん mailto:sage [2005/06/28(火) 15:57:07 ] ファイルデスクプリタからfdopen()してFILE *を得るように、 文字列から同様にFILE *を得ることはできませんかね?
319 名前:デフォルトの名無しさん mailto:sage [2005/06/28(火) 16:04:31 ] >>318 文字列をファイル名と見立ててfopenすればいいんじゃないかな
320 名前:あああ [2005/06/29(水) 00:50:49 ] 次のプログラムをLittle EndianのCPUで実行したとき、 それぞれcmdとdataのメモリの内容、メモリから読み出した直後 のレジスタの内容、実際に出力される内容はそれぞれどのような 値になるでしょう? char *cmdreg = CMD_PORT, *datreg=DATA_PORT; unsigned int16 cmd; unsigned int32 data; cmd=0x87cd , data=0x20030719; outw(cmdreg,(cmd & 0xff00)>>8 | (cmd & 0xff)<<8); outl(datreg, data);
321 名前:デフォルトの名無しさん mailto:sage [2005/06/29(水) 02:31:09 ] なんで自分でやらないの?
322 名前:デフォルトの名無しさん mailto:sage [2005/06/29(水) 03:09:42 ] >>318-319 レス感謝。 CでC++のistrstreamみたいなことがやりたかったのです・・・。
323 名前:デフォルトの名無しさん mailto:sage [2005/06/29(水) 05:20:36 ] 書き込みだけなら、sprintfでポインタをずらしていけば充分
324 名前:デフォルトの名無しさん mailto:sage [2005/06/29(水) 05:28:50 ] >>322 FILE*を相手にする関数をオンメモリのバイト列にも使えるか、というわけだよな。 *BSDならば、funopen()を使えば実現できる。でもまあ、移植性はない。
325 名前:デフォルトの名無しさん mailto:sage [2005/06/29(水) 07:07:05 ] >>324 glibcだとfopencookie funopenは結構古くからあるけど、ネーミングの悪さからか、あまり広まらず。 逆にfopencookieを使っているアプリ(例えばPHP)では、 funopenをwrappingするような状況。(ノ∀`)アチャー
326 名前:デフォルトの名無しさん mailto:sage [2005/06/30(木) 19:04:50 ] hoge@hogehoge:~/test/ncurses$ make gcc -c -Wall -std=c99 -D__USE_POSIX199309 test.c test.c: 関数 `main' 内: test.c:5: error: storage size of `req' isn't known test.c:8: 警告: implicit declaration of function `nanosleep' test.c:5: 警告: unused variable `req' make: *** [test.o] エラー 1 #include <time.h> int main(void) { struct timespec req; req.tv_sec = 0; req.tv_nsec = 33000; nanosleep(&req, NULL); return 0; } debianでプログラミングしていてnanosleepを使いたいのですが time.h # ifdef __USE_POSIX199309 /* Pause execution for a number of nanoseconds. This function is a cancellation point and therefore not marked with __THROW. */ extern int nanosleep (__const struct timespec *__requested_time, struct timespec *__remaining); # endif となっていたので-D__USE_POSIX199309としたのですがだめでした。 どうやれば使用できるようになるのでしょうか?
327 名前:デフォルトの名無しさん mailto:sage [2005/06/30(木) 19:19:19 ] >>326 -std=c99 が邪魔してるようですね
328 名前:326 mailto:sage [2005/06/30(木) 20:01:20 ] >>327 ほんとだ。 -std=gnu99 にしたら成功しますタ。
329 名前:デフォルトの名無しさん mailto:sage [2005/07/01(金) 06:24:38 ] forkとかspawnてどこで管理してるの?
330 名前:デフォルトの名無しさん mailto:sage [2005/07/01(金) 07:14:00 ] OS
331 名前:デフォルトの名無しさん mailto:sage [2005/07/01(金) 07:47:43 ] 質問の意味も答えの意味もわからん
332 名前:デフォルトの名無しさん mailto:sage [2005/07/01(金) 09:24:53 ] 俺なんかそのレスの意味もわからん
333 名前:デフォルトの名無しさん mailto:sage [2005/07/01(金) 10:01:03 ] ゆとり教育の弊害で国語力が低下した俺様が来ますたよ
334 名前:デフォルトの名無しさん mailto:sage [2005/07/01(金) 10:11:06 ] なんでもかんでもゆとり教育のせいにすんなよ
335 名前:デフォルトの名無しさん mailto:sage [2005/07/01(金) 10:27:47 ] creat(2)で最後の'e'が抜けたのもゆとり教育のせいだよ。 子供にはスペルくらいちゃんと教えないとね。
336 名前:初心者 [2005/07/01(金) 12:50:55 ] ファイル・システムは、最終的にどれくらい大きくなるか 予測不能なエリアをアサインし、また、高速にアクセスす る必要がある。UNIXでは、これをどのように実現している か図を使い、述べよ。というわけのわからない問題が出てきました。 どなたかぜひ教えてください!
337 名前:デフォルトの名無しさん mailto:sage [2005/07/01(金) 12:53:09 ] ○ <- ディスク ---------------- 壁 □ <- メモリ ってか、板違い
338 名前:デフォルトの名無しさん mailto:sage [2005/07/01(金) 13:09:02 ] >>336 プログラミング関係ないので板違いです。続きはUNIX板の質問スレへでも。 たぶんinodeがデータ本体をどういう風に保持しているか調べればいいのでしょう。 www-db.stanford.edu/~manku/quals/summaries/goldberg-uniximpl.htm
339 名前:デフォルトの名無しさん mailto:sage [2005/07/02(土) 21:30:17 ] 329であほな事を聞いてるのは自分です。 あほさに未だ気付けません、forkとかOS?カーネル?てどこです? プロセスってなんかの管轄内にあるわけですよね?ここから間違ってまるんですかね どこ見ればいいんでしょうか、 psのソースみたらわかるかと思って軽い気持ちで突入したんですが ものっそい事になってて目が痛いです。マクロびゅんびゅん飛んでくるし 追い詰めたと思ったら未知の言語で、助けてください
340 名前:デフォルトの名無しさん [2005/07/02(土) 21:38:49 ] >>339 forkってのは野茂の決め球で、すごい角度でOSに対して投げつける。 OSはそれを受け取るとなんと孫六ボールになって分身。氏ねボケ連発。 プロセスはOSの管理下にあり、OSがプロセスを監視。 プロセスが何人載っても大丈夫な設計になっている。(でも上限あり) psのソースにはもちろん載っていない。 載っているのはカーネルのソースなわけだが、Linuxくらいなら簡単。 プロセス管理といえばスケジュール管理から入った方がロリ簡単。 sched.cを探して、印刷して、嫁
341 名前:デフォルトの名無しさん mailto:sage [2005/07/02(土) 21:46:23 ] プログラミングを始めたばかりで、ポインタのあつかいがよくわからないのですが int main(short argc, const char **argv){ という関数のなかから argc, argvを違う関数に渡したいのですが hoge(argc, &&argv); では test.c:67: error: label `argv' used but not defined といわれ hoge(argc, &argv); では test.c:67: warning: passing arg 2 of `hoge' from incompatible pointer type といわれるのですが、正しくはどうするのでしょうか?
342 名前:デフォルトの名無しさん mailto:sage [2005/07/02(土) 21:48:13 ] hoge(argc, argv)
343 名前:341 mailto:sage [2005/07/02(土) 22:04:51 ] >>342 ありがとうございます そしたら、 int hoge(int argc, ここで、argvはなんてうけたらいいのでしょうか?
344 名前:341 mailto:sage [2005/07/02(土) 22:08:34 ] すいません 途中で送信してしまいました 現在は int hoge(int argc, char **argv){ で、うけているのですが これを int hoge(int argc, char argv){ にすると、ウォーニングではなくエラーが出てしまいます
345 名前:デフォルトの名無しさん mailto:sage [2005/07/02(土) 22:13:57 ] はい
346 名前:デフォルトの名無しさん [2005/07/02(土) 22:17:24 ] >>344 そんな変更をする必要は無い おまえはUNIXのスレに来る前にC言語の勉強をしなさい
347 名前:デフォルトの名無しさん mailto:sage [2005/07/02(土) 22:56:40 ] >>340 おおーーなるほど、 何を指してるのかはわかってませんけど 辿り方がわかった気がします。 ドキュメント全部その切り口で書かれてればいいのに sched.c ご馳走様です。 感謝!!ありがとう
348 名前:デフォルトの名無しさん mailto:sage [2005/07/03(日) 03:19:11 ] ソース読む前に本でも読んだ方がいいだろw
349 名前:デフォルトの名無しさん mailto:sage [2005/07/03(日) 09:39:08 ] ライオンズ コメンタリーとかね。
350 名前:デフォルトの名無しさん mailto:sage [2005/07/03(日) 11:13:36 ] そんな具体的なのは早いってw
351 名前:デフォルトの名無しさん mailto:sage [2005/07/03(日) 13:34:46 ] XtAppAddInputを使用してPipeのFDをReadで登録した場合、 パイプの書き込みが行われなくてもXEventが発生してしまうものなのでしょうか? すいませんが知ってる方いらっしゃいましたら教えていただけますか。
352 名前:デフォルトの名無しさん mailto:sage [2005/07/03(日) 14:05:40 ] >>349 詳しく ぐぐっても西部の話しかでてこねー
353 名前:デフォルトの名無しさん mailto:sage [2005/07/03(日) 14:18:53 ] >>352 www.ascii.co.jp/books/detail/4-7561/4-7561-1844-5.html
354 名前:デフォルトの名無しさん mailto:sage [2005/07/03(日) 14:32:10 ] >>353 ありがとう〜英語の本だったか
355 名前:デフォルトの名無しさん mailto:sage [2005/07/03(日) 14:36:37 ] ええ?翻訳のはずだけどw
356 名前:デフォルトの名無しさん mailto:sage [2005/07/03(日) 15:19:29 ] すいません、質問なのですが。 環境変数を獲得するプログラムなんですけれども、 #include <stdio.h> main(int argc, char *argv[], char *envp[])のソースを { int i; for(i = 0; envp[i]; i++); printf("%s\n",envp[i]); exit(0); } 実行ファイルを実行すると、NULLが返ってきました。 設定されている環境変数の一覧を表示させたいですが。 何も設定されていないという意味でしょうか?
357 名前:デフォルトの名無しさん mailto:sage [2005/07/03(日) 15:31:13 ] >>356 そんな具体的なのは早いってw
358 名前:デフォルトの名無しさん mailto:sage [2005/07/03(日) 15:33:01 ] >>356 for のお尻のセミコロンはいらんだろ。 あとスレ違いだと思う。
359 名前:デフォルトの名無しさん mailto:sage [2005/07/03(日) 15:34:43 ] >>356 間違い: フォーーーーーッ; 正解: フォーーーーーッ{}
360 名前:デフォルトの名無しさん mailto:sage [2005/07/03(日) 15:39:10 ] いや、それ一緒だからw
361 名前:デフォルトの名無しさん mailto:sage [2005/07/03(日) 15:41:53 ] >>360 フォーーー・・・
362 名前:356 mailto:sage [2005/07/03(日) 16:00:06 ] >>356 =357 ちょっと、自演してみましたw
363 名前:デフォルトの名無しさん mailto:sage [2005/07/03(日) 16:01:40 ] >>362 フォーー!!
364 名前:よちお mailto:sage [2005/07/03(日) 16:20:06 ] マジスカポリス?
365 名前:デフォルトの名無しさん mailto:sage [2005/07/03(日) 21:10:34 ] >>356 env のソース見りゃいいじゃん
366 名前:デフォルトの名無しさん mailto:sage [2005/07/03(日) 21:14:34 ] >>365 だからそんなんしなくってもいいって言ってんだろフゥーーーーーッ! for(); っていうありがちなミスなだけですよ
367 名前:デフォルトの名無しさん mailto:sage [2005/07/03(日) 22:15:23 ] ありがちなのか。私にゃありえないミスに見えたが。
368 名前:デフォルトの名無しさん mailto:sage [2005/07/03(日) 22:25:07 ] >>367 だから初心者にありがちなミスって言ってんだろフゥーーーーッ! >>365 が見逃したとしても仕方ありませんよ
369 名前:デフォルトの名無しさん mailto:sage [2005/07/04(月) 05:50:45 ] topコマンドのように、表示を更新しつつ、改行して進んでいかない方法を探しています。 1行の場合\rを出力してやれば、その行の1列目まで戻ってそこから出力できることがわかったのですが、 逆改行のやり方がわかりません。教えていただけないでしょうか?
370 名前:デフォルトの名無しさん mailto:sage [2005/07/04(月) 06:32:28 ] $ man curses $ tput cuu1 $ man 5 terminfo BSDならtermcapを。
371 名前:デフォルトの名無しさん mailto:sage [2005/07/04(月) 07:09:03 ] thx
372 名前:デフォルトの名無しさん mailto:sage [2005/07/04(月) 14:33:52 ] ソースを読んでいたら setlocale(LC_CTYPE, ""); と言うのがあったのですが、 具体的にこれはどのようなときどのようなことに役に立つのでしょうか?
373 名前:デフォルトの名無しさん mailto:sage [2005/07/04(月) 14:59:51 ] >>372 man setlocale した上で質問しているんだろうな?
374 名前:デフォルトの名無しさん mailto:sage [2005/07/04(月) 15:04:48 ] うん
375 名前:デフォルトの名無しさん mailto:sage [2005/07/04(月) 16:54:36 ] getenv(3)してみるのが面倒な時。
376 名前:デフォルトの名無しさん mailto:sage [2005/07/04(月) 21:15:32 ] おれもわからん なんでコード上で setlocale(LC_CTYPE, ""); する必要があるの? 使ってるコード見てみてもなにがなんだかわからんや 暇な人説明プリーズ
377 名前:デフォルトの名無しさん mailto:sage [2005/07/04(月) 21:26:13 ] setlocale()呼ばないと、デフォルトでは"C"ロケールになる setlocale(LC_CTYPE, "");を呼ぶと、文字種別に関するロケールが 現在の実行環境設定に従って設定される。 ロケール依存の関数(mbstowcs()など)を呼ぶ場合には、 setlocale()を呼んでおいた方がいい。 つかmanぐらい嫁
378 名前:デフォルトの名無しさん mailto:sage [2005/07/04(月) 21:27:29 ] ちんこたってきたんだけどどうしよう
379 名前:デフォルトの名無しさん mailto:sage [2005/07/04(月) 21:31:03 ] 英語のマニュアルなんて読む気がおきねぇ catのマニュアルよんで理解するのにも30分くらいかかる俺だぞ gccは長さを見ただけでやめたよ そんな俺だけど感謝してる 本当にありがとう、なんとなくくわかった気がするよ
380 名前:デフォルトの名無しさん mailto:sage [2005/07/04(月) 21:49:07 ] >>3 くらい読め。 man on www www.linux.or.jp/JM/#Search www.linux.or.jp/JM/html/LDP_man-pages/man3/setlocale.3.html
381 名前:デフォルトの名無しさん mailto:sage [2005/07/04(月) 21:58:48 ] 日本語訳読んだら負けだと思ってる
382 名前:デフォルトの名無しさん mailto:sage [2005/07/04(月) 22:00:40 ] オリジナル読む>翻訳読む>>>>>>>>>>>>>読まない
383 名前:デフォルトの名無しさん mailto:sage [2005/07/04(月) 22:04:52 ] 誤訳とかは置いといて たまに日本語訳マニュアルを読むと何世代まえのやねん っておもうことがあるね
384 名前:デフォルトの名無しさん mailto:sage [2005/07/04(月) 22:04:54 ] コマンドのマニュアルはそれだけ読んでもわけわかんねーことは 確かに多いが、ライブラリ関数やシステムコールのマニュアルぐらいは 有用だから読んどけよ。
385 名前:デフォルトの名無しさん mailto:sage [2005/07/04(月) 22:47:23 ] >>383 あなたも翻訳に参加して下さい
386 名前:デフォルトの名無しさん mailto:sage [2005/07/07(木) 09:13:18 ] 経過時間を計測したいのですが、プロセッサ時間依存の方法ですと、マルチスレッドのプログラムの 経過時間がうまく計測できません。clock()以外で、ミリ秒まで取得する方法を教えてください。
387 名前:デフォルトの名無しさん mailto:sage [2005/07/07(木) 09:24:09 ] 頭使えよばか
388 名前:デフォルトの名無しさん mailto:sage [2005/07/07(木) 10:53:50 ] >>386 マルチすなや。 移動しているつもりなら、きちんと挨拶してからにしろ。
389 名前:デフォルトの名無しさん [2005/07/07(木) 12:56:03 ] (・∀・)コンニチハ
390 名前:デフォルトの名無しさん mailto:sage [2005/07/07(木) 14:29:37 ] (・∀・)コンニチハ 経過時間を計測したいのですが、プロセッサ時間依存の方法ですと、マルチスレッドのプログラムの 経過時間がうまく計測できません。clock()以外で、ミリ秒まで取得する方法を教えてください。
391 名前:デフォルトの名無しさん mailto:sage [2005/07/07(木) 14:41:54 ] 同じスレにマルチとはなかなかやるな
392 名前:390 [2005/07/07(木) 15:07:17 ] >>391 マルチマルチとうるさいんだこのクズ 質問に答えられないんならROMってろ
393 名前:デフォルトの名無しさん mailto:sage [2005/07/07(木) 15:10:32 ] あいさつしてから、って点が違うみたいだよ。>>391
394 名前:デフォルトの名無しさん mailto:sage [2005/07/07(木) 15:12:50 ] さすがマルチスレッド
395 名前:デフォルトの名無しさん mailto:sage [2005/07/07(木) 15:13:11 ] アホかい。
396 名前:デフォルトの名無しさん mailto:sage [2005/07/07(木) 17:35:50 ] gettimeofdayの何が不満なのか。
397 名前:デフォルトの名無しさん mailto:sage [2005/07/07(木) 20:18:35 ] スレッドの実装が何かも言わないで答えられるかよ
398 名前:デフォルトの名無しさん mailto:sage [2005/07/07(木) 20:41:07 ] >>397 うはwwwテラキモスwwwwww
399 名前:デフォルトの名無しさん mailto:sage [2005/07/08(金) 00:07:15 ] >>386 の文章の意味が分かる奴はいるのか?
400 名前:デフォルトの名無しさん mailto:sage [2005/07/08(金) 00:20:05 ] Xlib回りのことなのですが Window型はどのような型なのでしょうか? googleで検索しようにもwindowがキーワードなため検索できません
401 名前:デフォルトの名無しさん mailto:sage [2005/07/08(金) 00:24:51 ] xlibとwindowで検索すりゃいいじゃん
402 名前:デフォルトの名無しさん mailto:sage [2005/07/08(金) 00:27:22 ] >>401 それだと引っかかり過ぎです ヘッダファイル読んだら早かったですね すいませんお手数をお掛けしました
403 名前:デフォルトの名無しさん mailto:sage [2005/07/08(金) 00:51:36 ] >>402 じゃぁもう判ったろうけど只のIDね。
404 名前:402 mailto:sage [2005/07/08(金) 02:20:09 ] はい、すいませんありがとうございます 単に、unsigned intでした
405 名前:デフォルトの名無しさん [2005/07/08(金) 02:43:22 ] XmbDrawImageString で表示する文字列の幅を計算することはできますか? プロポーショナルのモナーフォントを使うので文字数x8等では大きさがあいませんでした
406 名前:デフォルトの名無しさん mailto:sage [2005/07/08(金) 02:59:43 ] XmbTextExtents
407 名前:デフォルトの名無しさん mailto:sage [2005/07/08(金) 16:44:48 ] ヘッダファイルを見てみたのですが 知能がたりないためか理解できませんでした XFontSet型はどのようなかたなんですかね?
408 名前:407 mailto:sage [2005/07/08(金) 18:17:01 ] どう検索してもでない・・・ 構造体なのかな・・・
409 名前:デフォルトの名無しさん mailto:sage [2005/07/08(金) 20:14:50 ] わたしも似たような質問をさせていただきます よくコードを書いていたら、関数や型などいろいろなものがあたらしくでてくるのですが それらを検索しても詳しい説明が引っかからないことが結構よくあります man hoge とやっても、マニュアルがあるのは希です 私も直接ヘッダファイルを読もうと思うのですが % grep hoge /usr/X11/include/X11/* 等とし、引っかかったファイルの中を見るのですが全然わかりません 今は、extents->max_ink_extent.height と言うものを調べているのですが よくわかりません ヘッダファイルを読むにはコツなどあるのでしょうか?
410 名前:デフォルトの名無しさん mailto:sage [2005/07/08(金) 20:28:37 ] >>409 単に grep hoge などとして名前で検索したら大量にひっかかるのは当たり前だ。 まずは正規表現を学べ。 そして、探したいシンボルがどのように宣言されているか想像し、 それに応じた正規表現を用いて、 grep 'typedef.*hoge' などとして検索することだ。
411 名前:デフォルトの名無しさん mailto:sage [2005/07/08(金) 20:57:50 ] 統合開発環境使えよ・・・ これだから化石みたいなUNIX使いは
412 名前:デフォルトの名無しさん mailto:sage [2005/07/08(金) 21:00:01 ] >>411 「使える統合開発環境」があったら使ってるっつーの
413 名前:デフォルトの名無しさん mailto:sage [2005/07/08(金) 21:07:19 ] tags使うとか…… それはそうと、emacsって統合開発環境っぽいけど。