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


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

プログラミング質問すれ Part1



1 名前:名無しさん@お腹いっぱい。 [2005/09/22(木) 20:29:34 ]
UNIXおよびUNIX clone環境一般のプログラミングに関する質問スレッド

過去スレ(プログラム技術板)
Part6 pc8.2ch.net/test/read.cgi/tech/1116908090/
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/

関連板
Linux板 pc8.2ch.net/linux/
プログラム技術板 pc8.2ch.net/tech/

566 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/22(火) 22:53:19 ]
使ってないなら -lhogeつけなきゃいいのに

567 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/22(火) 23:05:07 ]
>>566
じゃなくて、使うかどうかわからない場合でも、
-lhogeとか付けておいて、実際に使われなかったらリンクしないようにしたいんだが。
(別の関数から間接的に呼び出されたりして、ライブラリの関数を使ってるかどうか
簡単には判断できないことがある)

静的ライブラリ(libhoge.a)なら可能なのに、
動的ライブラリの場合のみ不可能なのは納得いかないんだが。

ldが、本当に関数を使ってるかどうかチェックするのをさぼってるとしか
思えないんだが、これバグじゃないの?

568 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/22(火) 23:33:53 ]
何でバグって思うのか分からない。わざわざ -lhoge を付けてるのに
付けてないことにしてほしい、って方がワガママでしょ


569 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/22(火) 23:35:59 ]
気に入らなくても、ldはそのように作られているのだから、不要なライブラリを
リンクしないようにするしかない。

570 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/22(火) 23:41:42 ]
>>569
じゃあ、なぜ ldはそのように作られたのか?
関数を(というかシンボルを)使ってるかどうかのチェックぐらい、
簡単にできそうなのになぜしないのか?

571 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/22(火) 23:41:52 ]
>>567
実行時までシンボル解決出来ないんだから、そのライブラリが
本当に呼び出されないかどうかは ld にも分からないんだよ。
だから ld は悪くない。

572 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/22(火) 23:46:17 ]
>>567
そんなことはない。
「シンボル解決出来ない」場合はちゃんと undefined symbol: hoge ..
みたいなエラーが出るから、コンパイル時にも判断できるはず。

573 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/22(火) 23:47:04 ]
>>571
そんなことはない。
「シンボル解決出来ない」場合はちゃんと undefined symbol: hoge ..
みたいなエラーが出るから、コンパイル時にも判断できるはず。

574 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/22(火) 23:51:29 ]
>>571
とりあえず、コンパイル時の判断で不要と思われるライブラリは
(動的)リンクしないのをldのデフォルトにしておいて、

コンパイル時のシンボルレベルの判断では使っていないように見えて、
実際には実行時に使われるような特殊なライブラリの場合のみ、
--force-link みたいなオプションを新設して強制リンクさせればいいだろ。

デフォルトではシンボルを使ってなければリンクしないことにして。



575 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/22(火) 23:54:54 ]
バイナリパッケージでインストールされたコマンドとか見てると、
実際には使ってない動的ライブラリがリンクされてたりするね。
(C++とかXの関係のライブラリにそういうのが多い)

そのソースのMakefileから、-lxxx を外してもコンパイルできたりする。
これって無駄だし、ldが適切にリンク判断してれば
もっと効率の良いバイナリができていたはずなのに。

576 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/22(火) 23:56:33 ]
リ1「こいつ使ってないライブラリをリンクしようとしてるぜ」
リ2「あちゃー、何だそれ」
リ1「でもわざわざ余計な事をするんだから何か考えがあるんだろう」
リ2「リンクする必要が無いなら最初から省けば良いからな」
リ1「仕方が無い、面倒くさいけどリンクしてやるか」
リ2「これでバグとか言われたら最悪だな」

577 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 00:00:37 ]
>>576
同じソースでも環境によってライブラリが必要だったり不要だったりする場合がある。
そういう場合、共通ソースでは念のため -laaa が付けられている。

リンカーが「使ってないライブラリをリンクしようとしてる」と判断できるなら
それをリンクしないようにするべき。

578 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 00:01:28 ]
>>573
それはライブラリが足りない場合だろ。
ちゃんと場合分けして考えようぜ。

シンボルが呼び出されないかどうかは保証出来ないんだよ。
別の動的ライブラリから呼び出されるかもしれないし、
動的ライブラリは差し替え可能だから何でもありだ。
ツールは人間様の指示を無視する事は出来無いの。

579 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 00:02:19 ]
>>576
それと同じ理屈を libxxx.a に適用すると論理破綻。

580 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 00:05:06 ]
>>578
だから「保証はしなくてよい」
ldのデフォルト動作として、リンクしないようにして、
それでまずい場合(レアケース)のみ、--force-linkみたいなオプションで
強制リンクすればいいだけ。

実際、知らず知らずのうちに使ってるバイナリが
不要なライブラリをリンクしてるんだよ。
ldの動作をちょっと改良するだけで、
それらがすべて改善できるだろ。

581 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 00:07:46 ]
>>579
動的と政敵の違いを考えることが無いお前の頭の中が破綻してる。

582 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 00:08:33 ]
>>573
・それは、ライブラリが足りてない事がわかる事を意味していて、
 ライブラリが余分だという事は意味してないよな。
・ldがそのようなライブラリをリンクしないと、dlsym(NULL, ...)が困るかもしれない。

583 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 00:09:13 ]
>>578
場合わけじゃない。同じ場合だ。
「ライブラリが足りない場合」ではない場合はリンクしない。
で問題ないだろ。

別の動的ライブラリから呼び出されるような場合でも、
ld時にそのライブラリも -lxxx2 で指定するのだから、
結局ldがすべて判断できる。

dlopen()の場合は考慮しないということで。

584 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 00:09:30 ]
>>580
残念ながら改悪だと思われ。



585 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 00:10:24 ]
>>583
考慮しろよww

586 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 00:11:14 ]
>>579
だから場合分けして考えろって。
違う物に同じ理屈で挑むなよ…

もし良いアイデアだと思うなら、自分で実装してみな。
俺等は使わないけど、君みたいな人が他にもいるかもしれん。

587 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 00:11:24 ]
>>582
dlopen()するようなプログラムなら、
そのプログラムの「実行時の責任」で必要なライブラリを
プログラムでロードするから、今の議論とは関係なし。(考えなくて良い)

588 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 00:12:20 ]
>>587
dlsym(NULL, ...)って書いただろ。dlopenしないんだよ。

589 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 00:13:26 ]
>>584
じゃあ、譲歩して、

ldのデフォルトは従来のままとして、
--no-link-unneeded みたいなオプションを付けたら、
不要なライブラリをリンクしない、ということでいいだろ?

どうしてそういうオプションが ldにないのか?

590 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 00:16:00 ]
>>588
どっちでも、今の議論では同じこと。関係ない。

591 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 00:19:11 ]
何でもかんでも『同じこと』なんだな。
ちょっと場合分けしたらスッキリ理解出来るのに…

まぁ、ライブラリをロードする時間とメモリが惜しいなら、
自分が使うライブラリくらい把握しとけって事だな

592 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 00:24:21 ]
>>590
関係有るだろ、-lでリンクしたライブラリを参照するんだから。

593 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 00:27:50 ]
--as-neededとかあるけど?

594 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 00:28:10 ]
>>592
dlsym()とかを使わないような普通のプログラムで、
環境対応のため念のため付けられている -lhoge オプションを、
ldが適切に判断してリンクしないようにしたい。

という議論で、dlopen()/dlsym()等で事情がある場合は
ldに --force-linkなどのオプション指定して対応すれば良い話で、
その --force-linkなどのオプションが必要になるプログラムについては
話の本題ではないので、結局 dlopen()/dlsym()等の件は関係ないということ。



595 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 00:30:35 ]
>>589
お前の糞みたいな益の無いアイデアで作り変えた糞ソフトをldと呼ぶな

596 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 00:32:38 ]
>>593
詳しい人登場。(正解)

「-lhoge付けたんだから絶対にリンクするべきだ」とか、
「実行時じゃないと判断できない」とか
質問者を叩いていた人、全員不正解。

597 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 00:34:37 ]
>>595
つまり、現状の ldにすでに備わっている
「--as-needed」オプションは、
「糞みたいな益の無いアイデア」なんですね、わかります。

作り変えなくても、すでにそう作られてるんですが、、

598 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 00:41:49 ]
>>597
だから、お前のアホみたいなアイデアで作り変えたゲテモンをldと呼ぶなと言ってるんだ。
作り変えないならldそれはそもそものldだ、普通にldと呼べゴミカス

599 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 00:43:36 ]
>>597
へぇ、じゃあ現状のldはデフォルトで使ってないものをリンクしないんだね?
違うよね?お前の糞ソフトはldじゃないんだよ。

600 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 00:47:37 ]
>>598-599
見苦しいぞ。
--as-neededオプションをすぐに答えられなかった奴は素直に負けを認めとけww

601 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 00:47:58 ]
>>596
>「実行時じゃないと判断できない」とか

これは正しいだろ。--as-needed が使えるのは
プログラム側でシンボルテーブルを参照していない
限りにおいてのみだぜ。これも場合分けって奴だ。

当たり前だが GNU の ld 固有の機能だから環境依存に
注意して使ってくれ。

602 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 00:49:56 ]
あー、ちなみに Mac OS X では使えない。
必要とされていないのか、何か問題があるのかは知らん。

603 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 01:02:27 ]
as-needed がデフォルトの動作でなくて、オプション付けないと有効にならない
あたりから察しようぜ

604 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 01:12:29 ]
>>602

古い話で悪いが、自宅の 10.4 だと

% ld -v
Apple Computer, Inc. version cctools-622.9~2

と出たので、Mac OS X の ld は GNU ld ではないと思う。

sed なんかも GNU ではなくて BSD みたいだし。



605 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 01:26:40 ]
opensource.apple.com/source/ld64/

ソースを見てみても独自っぽい感じですね。
C++ で実装されてますし。

606 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 03:37:07 ]
>>600
見苦しいぞ、おまえ

607 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 04:41:57 ]
>>565
> libhoge.aの中身は使われず、libhoge.aを付けずに
> gcc -o prog prog.c でコンパイルしたのと同じバイナリができて、
> 無駄になりません。

何が無駄?

mmap された text/data segment はさわらなきゃ
主記憶に page in されへんと思ってたんやけど…
俺の認識違い???

教えて, えらい人.


608 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 08:37:57 ]
>>607
shared lib本体が主記憶に page in されないとか、そういう問題じゃないと思う。

たとえば、実際には呼んでない C++の古いバージョンのライブラリをリンクした
バイナリができてしまって、あとでライブラリがバージョンアップした時
コマンドが実行できなくなってしまうなどの問題がある。

実際に呼んでいて、ライブラリがないから実行できないのなら仕方ないが、
実際には呼んでないのにコマンド自体が実行できなくなってしまうのはおかしい。

それとも、実行時にリンクしてるライブラリが見つからなくても、
実際に呼び出していないならコマンド本体を実行させるような方法ってある? ないだろ。

609 名前:名無しさん@お腹いっぱい。 [2009/09/23(水) 08:40:03 ]
libhoge.so.* が不要なはずなのに -lhoge でリンクされていて
別のシステムで libhoge.so.* が無い場合に
上の prog.c だけが使いたい人にとっては
無駄に libhoge.c がどこで提供されてるか探してきて
そのコンパイルから何から必要になるじゃん?
だから不要なものはリンクしないで欲しいんだ

610 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 10:51:30 ]
>>608
へ?どうしても動かしたいならdynamic sectionの書き換えくらいするでしょ。

611 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 11:20:31 ]
>>608
>たとえば、実際には呼んでない C++の古いバージョンのライブラリをリンクした
>バイナリができてしまって、あとでライブラリがバージョンアップした時
>コマンドが実行できなくなってしまうなどの問題がある。

これはリンカー以前の問題だよ。
リンカーで解決しようとする前に開発環境を見直した方がいい。
そもそもこんな事が問題になる事自体がおかしいぜ。
古いバージョンのライブラリも同梱しておけば良いだけの話だし。
どんなOSを使ってるんだ?

それと、そのライブラリを絶対に使っていないと言う確信があるなら、
ダミーのライブラリを噛ませれば良いんじゃね?

612 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 11:25:13 ]
--as-needed で問題は解決済み。

元の質問は解決してるのに、
--as-needed を答えられなかった人は、
いつまで負け惜しみの言い訳を続けるんだww

613 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 11:39:15 ]
解決したと思ってるのが…

614 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 11:49:10 ]
>>612は釣りだろ、本人ならあれを解決したなんていわない



615 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 12:35:39 ]
>それと、そのライブラリを絶対に使っていないと言う確信があるなら、
>ダミーのライブラリを噛ませれば良いんじゃね?

まあそうだな

616 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 18:17:14 ]
gentooでas-neededつけると結構動かなくなるのがあったから使うの止めたよ.
-lの順番とか適当だと動かなくなったりするし。

検索したらヒットしたので貼っとく
--as-needed introduction and fixing guide
ttp://www.gentoo.org/proj/en/qa/asneeded.xml

617 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/24(木) 16:01:34 ]
プログラムの話でなくてコンパイルの仕方のレベルの無駄話が続いているなぁ。
どうせhello worldかコピペしか作れない癖に
スレ違いだ。

618 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/24(木) 20:05:41 ]
無駄話に無駄なオチがついたな。じゃあ次の質問よろしく。

619 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/24(木) 23:57:12 ]
シェルスクリプトでプログラムを書いてるのですが
$* と $@ の使い分けがよくわかりません


620 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/25(金) 00:19:08 ]
自分で試すとか、マニュアルを読むとかできるだろうに。

list() { for i in "$@"; do echo $i; done; echo; }
set -- a "b c" "d e"
list $*
list $@
list "$*"
list "$@"

621 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/25(金) 07:17:20 ]
>>619
シェルスクリプト総合 その15
pc12.2ch.net/test/read.cgi/unix/1246408968/

622 名前:名無しさん@お腹いっぱい。 [2009/09/25(金) 19:47:46 ]
C言語で自分のOSの種類によって場合分けして実行するにはどうしたらいいんでしょう?
今は、
system("uname > tmpfile");
ってやってから、tmpfileを fopen()で開いて中身を読んでますが、
これだと無駄な気がしています。

623 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/25(金) 21:27:43 ]
>>622
そのまんま、uname() っていう関数がある。
sys/utsname.h

でもふつうはビルド時に ifdef で分けるんじゃないかな。


624 名前:名無しさん@お腹いっぱい。 [2009/09/25(金) 22:17:37 ]
パイプと標準入力の両方を読むために、
O_NDELAYを立ててループしてますが、
なんか重い感じです。
かと言ってsleepを入れると反応が鈍くなります。
何かいい方法はありませんか?



625 名前:anonymous mailto:sage [2009/09/26(土) 02:15:29 ]
select(2)
poll(2)

626 名前:名無しさん@お腹いっぱい。 [2009/09/26(土) 18:45:26 ]
たとえプログラムに異常が起きてもcoreを吐かせないようにすることってできますか?
シェルで設定する方法以外でお願いします。

627 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/26(土) 18:55:50 ]
>>626
umask 000; find / -type d -exec touch {}/core ';'

628 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/26(土) 20:56:09 ]
すみませんがあまりお詳しくない方は回答を御遠慮ください

629 名前:名無しさん@お腹いっぱい。 [2009/09/27(日) 03:25:07 ]
>>626
シグナルハンドラ作ればいいよ。
この回答で理解できない方はプログラムを作るのをご遠慮ください。

630 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/27(日) 07:27:47 ]
>>629
理解してないのはお前。

631 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/27(日) 07:51:06 ]
コア吐きたくなかったらふつー setrlimit()じゃね?
コア吐くような状況だと、まともにシグナルハンドラが
動作しないかもしれないぞ

632 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/27(日) 09:09:37 ]
>>625
この、select(2); poll(2); をプログラムのどこに書けばいいんでしょう?
とりあえずプログラムの先頭に書いてみましたが、
あまり変化がないようです。

633 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/27(日) 09:22:40 ]
すみませんがあまりお詳しくない方はプログラミングを御遠慮ください

634 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/27(日) 17:18:42 ]
open()とかのシステム関数を使ったプログラムをやってみたいのですが、
C版しかないんでしょうか? C++版はないんでしょうか?
あと、Java版もできればお願いします。



635 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/27(日) 17:55:18 ]
むー

636 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/27(日) 22:27:04 ]
setrlimit()って、FreeBSD以外でも使えるの?

637 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/28(月) 10:51:32 ]
setrlimitってPOSIX標準関数だよ
いまどきのUNIX系OSで使えないやつなんてあるの?

638 名前:名無しさん@お腹いっぱい。 [2009/09/28(月) 21:23:48 ]
OSコールを4種類以上使った意味のある短いプログラムを作成せよ。
ただし、OSコール以外の関数は使用しないこと。エラー処理は省略して良い。

・・・というの、わかる方いましたらお願いします。

639 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/28(月) 21:28:17 ]
open, read, write, exit

640 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/28(月) 21:35:11 ]
>>639 いじわる


641 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/28(月) 22:38:48 ]
すみませんが完答でお願いします

642 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/29(火) 00:32:49 ]
すみませんが関西弁でお願いします

643 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/29(火) 00:35:04 ]
#include <unistd.h>
#include <fcntl.h>
int main()
{
    int fd;
    fd = open("HELLO", O_WRONLY | O_CREAT | O_TRUNC, 0644);
    write(fd, "hello, world\n", 13);
    close(fd);
    _exit(0);
    return 0;
}


644 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/29(火) 00:38:31 ]
その前にfstat()しても良いかも



645 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/29(火) 06:44:58 ]
>>643
その場合、close()と_exit()が無意味なので、
「意味のあるプログラム」の題意を満たしません。

あと、write()のバイト数が間違ってます。

646 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/29(火) 07:07:02 ]
write()のバイト数は合ってるだろ

647 名前:名無しさん@お腹いっぱい。 [2009/09/29(火) 09:39:19 ]
write()のバイト数が間違ってるなんて指摘するなんて、システムコールどころか
Cを理解してない証拠。

648 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/29(火) 10:31:25 ]
で、回答まだぁ?

649 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/29(火) 13:03:51 ]
煽り方がなんかちがうんだよ

650 名前:名無しさん@お腹いっぱい。 [2009/10/15(木) 19:19:19 ]
すみません教えてください。
プログラムとプロセスについて調べているのですが、
フォークとエグゼックの違いを教えてください。

651 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/15(木) 19:23:21 ]
A
↓fork()
A - A'
↓A'にてexec()
A - B

652 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/15(木) 20:04:21 ]
fork: 現在のプロセスを複製して新しいプロセスを作る
exec: 現在のプロセスで別のプログラムの実行をはじめる

653 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/15(木) 20:28:15 ]
spawn

654 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/15(木) 20:34:26 ]
つまり、プロセスを実行するのがフォークで、
プログラムを実行するのがエグゼックなんですか?



655 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/15(木) 20:50:26 ]
こんなとこで質問して宿題すませようとしないで本読めよ。

656 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/15(木) 21:09:09 ]
普通のアプリケーションを実行する場合、
フォークとエグゼックとでは、どちらを使うのが一般的ですか?

657 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/15(木) 21:58:46 ]
必要なものを必要なときに使うのが一般的です。

658 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/15(木) 22:01:24 ]
普通のアプリケーションを実行したいのですが、
フォークとエグゼックとでは、どちらが必要ですか?

659 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/15(木) 22:05:20 ]
execlp
execv

660 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/15(木) 22:29:53 ]
普通のアプリケーション業務を行ないたいのですが、
execlとexcelとでは、どちらが必要ですか?

661 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/15(木) 23:33:59 ]
宿題をしなければなりませんが、
フォークとエグゼックとでは、どちらが必要ですか?

662 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/16(金) 13:18:31 ]
普通のフォークをエグゼックしたいのですが、
業務と宿題とでは、どちらが必要ですか?

663 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/16(金) 13:46:50 ]
宿題。

664 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/16(金) 14:46:15 ]
拡張子によって違うんだよ。
*.exeファイルを実行する場合はエグゼック、
*.fokファイルを実行する場合はフォークを使う。



665 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/16(金) 21:26:59 ]
すみません教えてください。
プログラムとプロセスについて調べているのですが、
フォークとエグゼックの違いを教えてください。

666 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/17(土) 04:32:57 ]
逆に考えてみるんだ。
フォークとエグゼックの同じところを。






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

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

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