[表示 : 全て 最新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/

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って統合開発環境っぽいけど。






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

前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