トップページ⇒tech
1001コメント250KB

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

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさんNGNG
UNIXおよびUNIX clone環境一般のプログラミングに関する質問スレッド

前スレ
Part3 http://pc5.2ch.net/test/read.cgi/tech/1085930894/
Part2 http://pc5.2ch.net/test/read.cgi/tech/1055110889/
Part1 http://pc2.2ch.net/tech/kako/992/992057422.html

>>2-20 関連スレ
0002デフォルトの名無しさんNGNG
関連スレ
Cygwin使っている人いますか? その11(UNIX板)
http://pc5.2ch.net/test/read.cgi/unix/1076240971/
Cygwin使っている人いますか? Part2(Windows板)
http://pc5.2ch.net/test/read.cgi/win/1052361218/

関連板
http://pc5.2ch.net/unix/
http://pc5.2ch.net/linux/
0003デフォルトの名無しさんNGNG
前スレの1000
>1000 名前:デフォルトの名無しさん 投稿日:04/09/22 17:50:58
>まずは自分の脳味噌をどうにかしろよ馬鹿が

それ以前にお前の脳味噌がどうかしてる
氏ね!
0004デフォルトの名無しさんNGNG
前スレ997
>997 名前:デフォルトの名無しさん 投稿日:04/09/22 17:45:48
>unameもそうだけど、
>UNIXって意味不明な名前のコマンドだらけで嫌気が差した
>いいからメニューから全機能選べるようにしろよ
>イミフメコマンド文化なんか続けてるから一向に普及しないんだよ

はgふぇしくどうい!
つーかカテゴリ分けして機能から辿れるようにして欲しいよね!
0005デフォルトの名無しさんNGNG
kill(getpid(), 9);
0006デフォルトの名無しさんNGNG
【POSiX】
The Open Group Base Specifications Issue 6
IEEE Std 1003.1, 2004 Edition
http://www.opengroup.org/onlinepubs/009695399/toc.htm


【必読書】
Advanced Programming in the UNIX(R) Environment
http://www.amazon.com/exec/obidos/tg/detail/-/0201563177/

Unix Network Programming
Vol. 1: The Sockets Networking API, Third Edition
http://www.amazon.com/exec/obidos/tg/detail/-/0131411551/

UNIX Network Programming
Volume 2: Interprocess Communications (2nd Edition)
http://www.amazon.com/exec/obidos/tg/detail/-/0130810819/
0007デフォルトの名無しさんNGNG
pthread_kill(pthread_self(), 9);
0008デフォルトの名無しさんNGNG
man on www
http://www.linux.or.jp/JM/#Search

GNU Make 日本語リファレンス
http://www.ecoop.net/coop/translated/GNUMake3.77/make_toc.jp.html
0009デフォルトの名無しさんNGNG
>>5と>>7は何が言いたいのかわからん。
0010デフォルトの名無しさんNGNG
kill -f 9
0011デフォルトの名無しさんNGNG
たぶん前スレ1000の脳味噌あぼーんの人だろ
0012デフォルトの名無しさんNGNG
単にUNIXに挫折した池沼が一匹粘着してるだけ。放っておけばよろし。
0013デフォルトの名無しさんNGNG
もういいだろこのスレは
0014デフォルトの名無しさんNGNG
いやでも、
UNIXで挫折って、わかる気がするなあ。
ずっと意味不明なコマンドの文字列打ってたら頭おかしくなりそうだし、
ずっと真っ暗なコンソール眺めてると鬱になりそうじゃん?
かといって思想のまるでないXは、オタ絵とただ沢山コンソール開くしか脳ないし、
こんなの与えても娯楽を常に要求する一般人は見向きもしない。
そもそもWebでしか見掛けない、哀れなOS、というのが一般人の見解だし。
そうそう、最近LindowsがUNIXの印象かなり悪くしたよね。
この事件でUNIXはビジネスで成功できないことがまた証明されてしまったわけだ。
昔からUNIXは関係者同士で常に足を引っ張って成長しない。
お金の匂いしないよね。全然。
そんなOSだから、挫折が常態であるのは必然なんだと思う。
0015デフォルトの名無しさんNGNG
OS板にカエレ
0016デフォルトの名無しさんNGNG
コピペ秋田
0017デフォルトの名無しさんNGNG
釣られすぎ
0018デフォルトの名無しさんNGNG
誰か、UNIXが生み出したバッド・ノウハウをリストしてくれ・・・

0019デフォルトの名無しさんNGNG
>>18
こっちでやれ。

【哲】バッドノウハウについて語るスレ 2【学】
http://pc5.2ch.net/test/read.cgi/unix/1081220183/
0020デフォルトの名無しさんNGNG
Ruby
0021デフォルトの名無しさんNGNG
system("nslookup -type=MX hoge.com");
としてそこから得られたmail exchangeを自分のプログラムの中で使用したいのですが,
どうすればいいでしょうか?
0022デフォルトの名無しさんNGNG
popen
002321NGNG
>>22
thx!
0024デフォルトの名無しさんNGNG
ほらきた。
UNIX使いって貶されると、
すぐ言葉少なになるよね。
もう貶されるのに慣れちゃった?

ちょっと、心をおちつけて。
UNIXを知らなかったあの頃を思い出してごらん。
あの頃の君達は希望に満ち溢れていたよね。
そう、今まで君達は、とっても悪い夢を見ていたんだ。
UNIXなんか捨てて、あの頃見ていた希望を取り戻そうよ!
0025デフォルトの名無しさんNGNG
adg
0026デフォルトの名無しさんNGNG
このスレは汎用機の素晴らしさを語るスレになりました
どうぞ↓
0027デフォルトの名無しさんNGNG
malloc/free論争から今までの流れにワロタ
0028デフォルトの名無しさんNGNG
>>24
ちょっと面白い
0029デフォルトの名無しさんNGNG
posix_trace_xxxという関数がGlibcにはないんですが、
他のUNIXにはありますか?
0030デフォルトの名無しさんNGNG
やっぱりUNIXといえばSolarisですね
0031デフォルトの名無しさんNGNG
SystemVを触ってみたい
0032デフォルトの名無しさんNGNG
やっぱ森で胡桃を食べているって言われて思いつくのはあの動物だよな。
0033デフォルトの名無しさんNGNG
0034デフォルトの名無しさんNGNG
自分で実行ファイルをプログラムで作成したいのですが、
elfフォーマットとかの情報ってどっかに日本語で解説ないですか?
ターゲットはLinuxやFreeBSDです。とりあえず。
0035デフォルトの名無しさんNGNG
Linkers&Loadersに載ってた気がするけど、今手元に無いんで確認できない。
0036デフォルトの名無しさんNGNG
初歩ならこの辺
http://www.linux.or.jp/JF/JFdocs/archive/ELF-HOWTO.html
http://www.linux.or.jp/JF/JFdocs/Program-Library-HOWTO/info-sources.html
0037デフォルトの名無しさんNGNG
ウィルスでも作るんですかね
0038デフォルトの名無しさんNGNG
バイナリエディタで全部手打ちなんてカコイイ
0039デフォルトの名無しさんNGNG
>>35
あれは、おおざっぱんにしか書かれてないのであまり役に立たないかと。
以下がいいと思う。英語だが大丈夫だろ?

Executable and Linking Format (ELF)
ttp://www.skyfree.org/linux/references/ELF_Format.pdf
0040デフォルトの名無しさんNGNG
>>34
libbfdで作るとか。
いまひとつ使いにくいのが難ですが。
0041デフォルトの名無しさんNGNG
0042デフォルトの名無しさんNGNG
alloca()とmalloc()の違いを述べよ。
0043デフォルトの名無しさんNGNG
man alloca
0044デフォルトの名無しさんNGNG
質問です。
void main()
{ char buf[100];
while(gets(buf)){;} /* 1 つ目 */
gets(buf); /* 2 つ目 */
}
で、% echo 1 | a.out したとき、2 つ目の gets() したいのですが、
何か良い方法ありませんか?
お手間かけます、よろしくです。
0045デフォルトの名無しさんNGNG
Cの宿題スレへGO
0046デフォルトの名無しさんNGNG
「gets使うなヴォケ」って言われそうだな
0047デフォルトの名無しさんNGNG
>>44
何やってるのかわからん。。
1つ目でEOF拾ってるのに2つ目がいるのか?
どーでもいいが、mainの返り値はint、getsはバグがあるからfgetsあたりを
使うべきじゃなかったっけ。
0048デフォルトの名無しさんNGNG
getsのあれはバグではなく仕様です。
0049デフォルトの名無しさんNGNG
warning: the `gets' function is dangerous and should not be used.
0050デフォルトの名無しさんNGNG
>>44
a.outで2回目のfgets(gets)をすればいいじゃねーか。
0051デフォルトの名無しさんNGNG
あららん、getsやmainの戻り値なんて質問外なのでどうでもよくって、
stdinがEOFのとき、rewind()なんて効かないし、どうしよっかなーって
ことだけなの。
0052デフォルトの名無しさんNGNG
なにがやりたいんだかさっぱりわからん。
二つ目の gets で何を取得したいのよ。
0053デフォルトの名無しさんNGNG
>>52
キーボードからの文字。
ちなみに、最初に fd = fcntl(STDIN_FILENO, F_DUPFD, 0);とか、
後から stream = fdopen(open("/dev/stdin", O_RDONLY, 0), "r");も
無理そですね。
0054デフォルトの名無しさんNGNG
と、とりあえず、ねます、すみません。
0055デフォルトの名無しさんNGNG
>>53
そうゆう shell を作れば?
0056デフォルトの名無しさんNGNG
わざわざ shell の自作なんかしなくても。
0057デフォルトの名無しさんNGNG
考え方が、(゚д゚)ハァ? なんだよ。
0058 ◆cReQ1pJtI. NGNG
Windowsで作ってますが、こっちの方が知ってる人が多そうなので
質問させてください。

FTPクライアントのサブセットを作成していますが、
コマンドに対する応答の終了をどのように判断したらいいのか
悩んでいます。
多くのコマンドは1行の応答のようなので、その場合は改行を
見ればいいと思いますが、なかには複数行返ってくるものも
あるし、RFCにも複数行処理しろと書いてあります。

コマンドを送って、応答を待って、次のコマンドを送って、、

ってやれれば簡単でいいなと思ってるんですが、そのためには
応答の終了を知る必要があると思います。
回線状況が悪い場合も想定したいので、タイミングでの処理は
避けたいと思っています。

よろしくお願いします。
0059デフォルトの名無しさんNGNG
っていうかスレ違いでしょ。ネットワークの専門スレもあるんだし
0060デフォルトの名無しさんNGNG
>>58
RFC本当に読んだ?+
0061 ◆cReQ1pJtI. NGNG
>>59
すんませんでした、向こうへ移動します。
0062 ◆cReQ1pJtI. NGNG
向こうで即レスをもらいまして、
ttp://x68000.startshop.co.jp/~68user/net/ftp-4.html
ここを紹介してもらって解決しました。お騒がせしました。
0063デフォルトの名無しさんNGNG
ある処理の間はシグナルをブロックしたいので以下のようにしています。
struct sigaction sa;
sigset_t oldset;
sigempty(&sa.sa_mask);
sigaddset(&sa, SIGINT);
sigprocmask(SIG_BLOCK, &sa.sa_mask, oldset);

// ブロックさせたい処理

sigprocmask(SIG_UNBLOCK, oldset, (struct sigaction *)NULL);

しかしこれだと最後のsigprocmask()で失敗した場合、その後SIGINTを
ブロックしたままになってしまうと思うのですが、確実にSIGINTのブロックを
解除するにはどうすればよいでしょうか?
0064デフォルトの名無しさんNGNG
>>63
所々書き込みミスしてました。
×sigaddset(&sa, SIGINT); → ○sigaddset(&sa.sa_mask, SIGINT);
sigprocmask()のoldsetは&oldsetです。
0065デフォルトの名無しさんNGNG
全てのシグナルをアンブロックするとか

つうか普通失敗しないだろ
0066デフォルトの名無しさんNGNG
失敗するとしたら引数に変なの渡したときくらいだね。
0067デフォルトの名無しさんNGNG
失敗したらログ吐いてabortでいいだろ
0068デフォルトの名無しさんNGNG
たしかに不正な引数を渡したりすると-1でエラーになるようですが(AIX,HP,Solaris,Linuxで確認)、
本当にエラーにならないという確証がmanを見ても得られなかったため
質問するに至りました。sigprocmask()でエラーがほとんどないとしたら
たとえばsigaction()について以下のようなコーディングは冗長と言えるでしょうか?
struct sigaction sa;
int rc;
sa.sa_handler = SignalHandler;
rc = sigaction(SIGINT, NULL, old_sa);
if(rc == SIG_ERR){
 // error log;
}else if(old_sa.sa_handler == SIG_DFL){
rc = sigaction(SIGINT, &sa, NULL);
 if(rc == SIG_ERR){
  // error log;
 }
}
0069デフォルトの名無しさんNGNG
前の状態調べる必要あるのか?
processが動き始めた時、SIG_DFLであるとは限らないのだが…
0070デフォルトの名無しさんNGNG
sigactionの戻り値はintで普通に0かそれ以外かなので
SIG_ERRと比較するのも変だと思うのだが。

どうも筋が悪いというか、へんな理解の仕方をしているような気がするね。
0071デフォルトの名無しさんNGNG
>>69
以前に既にシグナルハンドラを設定していた場合は、新たにそこで設定しない
ために前の状態を調べています。動作確認した限りではSIG_DFLだったので
この値を使ってしまいました。
プロセス起動時のシグナル動作=OSのデフォルト動作=SIG_DFL
とは限らないということでしょうか?

>>70
manには0かSIG_ERR(-1)となっていたので普通にSIG_ERRを使ってしまいました。
でもsignal.hを見るとSIG_ERRはint型ではなかったため、(int)でキャストして比較しています。
自分でも変な実装していると思うのですが、>>68の例を改善するとしたら
どのような実装になるでしょうか?
0072デフォルトの名無しさんNGNG
>>71
-1と比較する
0073デフォルトの名無しさんNGNG
>>71
> プロセス起動時のシグナル動作=OSのデフォルト動作=SIG_DFL
> とは限らないということでしょうか?

はい。nohup(1)の実装を見てみてください。
0074デフォルトの名無しさんNGNG
>>71
>>70のいう通りに非0と比較すればいいんじゃないの?

if(!rc){
//success
}
とかで
0075デフォルトの名無しさんNGNG
>>71
それ、どのOSのman?
日本語manだったら多分訳者のところでトチ狂ってる。
0076デフォルトの名無しさんNGNG
>>72,74
戻り値が2値しかないので、そのコーディングの方が素直だし見やすい
かもしれません。使うとしたら if(rc) でエラーだけ見るようにします。

>>73
nohupコマンドで実行された場合、プロセス起動時には既にSIGHUPを
無視するようになっているから、SIGHUPに関してはSIG_DFLとは限らない
ということでしょうか?

>>75
例えばAIXのDocumentation Library(英文)です。-1とは書かれていませんが、
ヘッダを見るとそうなっています。たしかこんなだったかと。
#define SIG_ERR (void (*)())-1
Linux(英訳文)だと0か-1となっており、ヘッダはこうなっています。
typedef void (*__sighandler_t) (int)
#define SIG_ERR ((__sighandler_t) -1)
POSIX仕様はどうだったか覚えてないのですが、たしか0か-1だったと思います。
素直に0が成功、それ以外は失敗だとすればいいかもしれません。
0077デフォルトの名無しさんNGNG
manみたいないい加減な情報しかないからこんなことでもめるんだ
UNIXなんて信者絵!
0078デフォルトの名無しさんNGNG
>>76
おおう、マジだ。AIXって変態!
というかSIG_ERRの定義は正しいみたいだから多分ドキュメントバグだろうね。
sigprocmaskなんかはちゃんと-1という表現だし。
悪いこと言わんから、
if (rc == 0) { /* OK */ }
のようにコーディングしとき。それがシステムコール共通の使い方だし。


ちなみにAIXと縁のない人向けにAIXのmanより:
Return Values

Upon successful completion, the sigaction subroutine returns a value of 0. Otherwise, a value of SIG_ERR is returned and the errno global variable is set to indicate the error.

今度から>>71の時点で引用してくれると議論が楽。
0079デフォルトの名無しさんNGNG
IBMいってよし
0080デフォルトの名無しさんNGNG
>>77
UNIXは慢性のドキュメント化軽視アンチパターンですから
0081デフォルトの名無しさんNGNG
修正できないのは組織硬直アンチパターン
0082デフォルトの名無しさんNGNG
これが標準
http://www.opengroup.org/onlinepubs/007908799/xsh/sigaction.html

>>77
仕様はかっちり書いてあると思う。
サンプルドキュメントが足りない。ソースを自分で探さないといけない。
AT&T, BSDの昔はソースは良いサンプルコードばかりだったが…
0083デフォルトの名無しさんNGNG
バカはスルー
0084デフォルトの名無しさんNGNG
昔は良かった系アンチパターン

今がひどすぎて昔はさも良かったかの様に錯覚する事
0085デフォルトの名無しさんNGNG
>>78
何がおかしいのかわからん
manを見て素直に
 if(sigaction() == SIG_ERR){
   /* ERROR */
 }
とかすればいいのでは?

つーかOKのとき0が返るとは限らんと思うが・・open(2)とか。
0086デフォルトの名無しさんNGNG
>>85
> 何がおかしいのかわからん

rc == 0 の代わりに rc == NULL とするくらい変なのだが。

> つーかOKのとき0が返るとは限らんと思うが・・open(2)とか。

そりゃ当たり前だろ。
値を返すんじゃなくて成功不成功のステータスを返すので成功時に0以外を
返すものはないと思うが。
0087デフォルトの名無しさんNGNG
少し変更しましたが、こんな感じでしょうか?とりあえずブロック設定、
ブロック解除を試みますが、失敗したらエラー出力してごめんなさい。
でも処理は続けます。次にこのパスを通ったときに解除されるといいですね。
という実装になってしまいましたが、どうでしょうか?
int rc;
sigset_t set, oldset;
sigempty(&set);
sigaddset(&set, SIGINT);
rc = sigprocmask(SIG_BLOCK, &set, &oldset);
if( rc ){
 // error log
}

// ブロックさせたい処理

rc = sigprocmask(SIG_UNBLOCK, &oldset, NULL);
if( rc ){
 // error log
}
0088デフォルトの名無しさんNGNG
__asm
{
mov dx3,fah
mov al,10000000b
out dx,al
}

上記のようなアセンブルプログラムをGCCに移植したいのですが
エラーが出て困っています。GCC版のプロラムは

asm("movb %%dx,$0x3fah");
asm("movb %%al,$10000000b");
asm("out %%dx,%%al");

エラーメッセージは「bad register name '%%dx'」「bad register name '%%al'」
です。GCC版のプログラムに誤りがあると思うのですがどこが間違っているのでしょうか?
008988NGNG
すいません、訂正です
__asm
{
mov dx,3fah
mov al,10000000b
out dx,al
}
0090デフォルトの名無しさんNGNG
>>88
困ってるんですか。それは大変ですね。
0091GNUにやさしい人NGNG
それはね、
例えば以下の場合は、
asm("movb %%dx,$0x3fah");
   ↓
asm("movb %dx,$0x3fah");
にしなきゃいけない。

レジスタに'%%'のように2重に指定するのは、
引数をとるような拡張gasを書いた場合なのさ。
引数がいらないような場合は、%は1つでいい。
009288NGNG
>>91
レス有難う御座いました。早速%を一つ減らしてコンパイルしたのですが
別のエラーが出てしまいました。

suffix or operands invalid for 'mov'
suffix or operands invalid for 'out'
backward ref to unknown label "10000000"

なにかコンパイルオプションが必要なのでしょうか?
0093デフォルトの名無しさんNGNG
gccのasmでは、オペランドの destinationとsourceの指定順が
通常の逆になってたと思うけど。
009488NGNG
>>93
有難う御座います。10000000bは0x80としてオペランドの順番を逆にすると
警告が出ましたが一応コンパイルは通りました。
009588NGNG
コンパイラは通りましたが実行するとSegmentation faultとなってしまいました。
やはりコンパイル時になにかオプションパラメータを指定する必要があるのでしょうか?
0096デフォルトの名無しさんNGNG
gdbで自分で調べろ
0097GNUにやさしい人NGNG
>>94
>警告が出ましたが一応コンパイルは通りました。
一応、その警告を貼ってみれ。

>コンパイラは通りましたが実行するとSegmentation faultとなってしまいました。
>やはりコンパイル時になにかオプションパラメータを指定する必要があるのでしょうか?
むしろ、逆に聞きたいのですけど
そのアプリはgccでコンパイルすれば動くはずのものなのでしょうか?

ちなみに、オプションパラメータうんぬんでSegfalするかどうかは、
まったくありえなくは無いけどまれだと思う。
よほど最適化オプションをキツクしたり、イリーガルなオプションを指定しないかぎり。

とりあえず、"-O0 -Wall -g"オプション(最適化無、警告を表示、デバッグ情報追加)をオプション指定して、
さらに、できるかぎりコンパイル時に出る全ての警告を消すようにしてコンパイルして、
実行したら再度、Segfalしたらgdbでデバッグをすると。
009888NGNG
>>96
そんなこと言わないでもうちょっと付き合ってください。
0099デフォルトの名無しさんNGNG
ソース全部貼り付けろ
010088NGNG
>>98
他人の振りして面白いですか?

>>97
その後いろいろ試してソースを書き換えた結果、エラーは出なくなりました。
しかし実行するとSegmentation Errorが出るのでgdbで追ったところoutの部分で
エラーになっているようです。ちなみにこのコードを加える前は正常にコンパイル
が通り動作していたので他の部分は問題ないと思います。
010188NGNG
現在のソースはこんな感じです

asm("mov $0x3fah,%dx");
asm("mov $0x80,%al");
asm("out %al,%dx"); ← Segmentaiton Fault Errが出る
0102デフォルトの名無しさんNGNG
serial通信?
0103デフォルトの名無しさんNGNG
権限は関係無いのか?
0104デフォルトの名無しさんNGNG
88はgccとか以前にとんでもない間違いを犯してる
ここのスレの住人はアホばっかだな
0105GNUにやさしい人NGNG
>>101
ちょっと待ってくれよ、そのソース、本当にコンパイル通ったのか?

以下のように修正する必要ある思われ。
asm("mov $0x3fah,%dx");
  ↓
asm("mov $0x3fa,%dx");
"h"はいらん。
0106デフォルトの名無しさんNGNG
>>105
すみません、0x3fahじゃなくて0x03f8でした。

>>102
そうです。

>>104
そのとんでもない間違いを教えて貰えると助かるんですが。
0107デフォルトの名無しさんNGNG
つーかまず環境を書け
0108デフォルトの名無しさんNGNG
ぐだぐだになってまいりました
0109InternetデバッガーNGNG
掲示板ではらちがあきません。
telnetポート開いて、IPを教えてください。
接続して調べます。
011088NGNG
192.168.1.3です
ユーザ名はguestでお願いします
0111デフォルトの名無しさんNGNG
バザール方式、万歳。
0112デフォルトの名無しさんNGNG
>>110
接続してみた。
ずいぶんcoreファイルあるね〜。整理しろよ!
っておい!俺のマシンじゃねーか!
011388の同僚NGNG
88氏は、バグが見つかったので修正したあと「お先に」と言って、
今日はもう帰りました。
0114デフォルトの名無しさんNGNG
こういう操作ってioctl使えば出来ると思われ。
やり方知らんけど。
0115デフォルトの名無しさんNGNG
つか、ユーザランドから outできるの?
0116デフォルトの名無しさんNGNG
>>114
ioctlはopen/close/read/write以外の操作をデバイスに対して
持たせたいときに使う、「その他いろいろ」インタフェース。
何ができるかは完全にデバイス依存。第2引数に整数でコマンドを渡す。
CDのイジェクトもサウンドのミキサ設定もみんなこれ。

>>115
OSによるが、例えばFreeBSDだとroot権限を持たせれば/dev/ioを開けて、
そのユーザプロセスがI/O操作することを可能にできる。
0117デフォルトの名無しさんNGNG
つーかgccって__asmの構文のままじゃ通らないの?
0118110NGNG
>>112
すみません。
127.0.0.1
でした。
よろしくおねがいします。
0119RubyいstNGNG
どうでもいいネタを引っ張るな
つまんねーんだよ
0120デフォルトの名無しさんNGNG
他の掲示板で良いとこ知らない?
0121デフォルトの名無しさんNGNG
>>120
双葉ちゃんねる
0122デフォルトの名無しさんNGNG
>>121
逝ってみたけどここよりレベル低そうだぞ
0123デフォルトの名無しさんNGNG
ところで、88は聞くだけ聞いておいて
直ったとたんおさらばですか。そうですか。
0124デフォルトの名無しさんNGNG
しんなのんだろ
0125デフォルトの名無しさんNGNG
レベル低いヤシが寄って来たから愛想尽かしたんだろ。
0126デフォルトの名無しさんNGNG
>>88はデバイスドライバハッカーですよ?
0127デフォルトの名無しさんNGNG
>>120
掲示板じゃなくてネットニュースとか見てみたら?
0128デフォルトの名無しさんNGNG
>>126
レベル低いヤシってオマエの事ですよ? 
0129デフォルトの名無しさんNGNG
ぎゃふん
0130デフォルトの名無しさんNGNG
現在、レベルの低い奴らがこのスレを監視中...
0131デフォルトの名無しさんNGNG
88は教えて君の鑑ですな
0132デフォルトの名無しさんNGNG
>>131
お前って他の質問スレでも下らないレス繰り返してスレ荒らしてるよな。
質問に答える知識がないなら引っ込んでろ。
0133デフォルトの名無しさんNGNG
お怒りくん登場!
0134デフォルトの名無しさんNGNG
>>133
厨房登場!
0135デフォルトの名無しさんNGNG
そうだそうだ!ひっこんでろ!
0136デフォルトの名無しさんNGNG
質問スレまで荒らす馬鹿がいるとはさすが2ちゃんですな。
0137デフォルトの名無しさんNGNG
>>132
見ているのなら答えてくれた人に礼くらいしろ。
0138デフォルトの名無しさんNGNG
>>137
礼はそのつどしてるようだが。全然関係ない馬鹿が横槍入れてきた
せいで話がぐだぐだになったんだろ。文句いうなら>>98みたいに
幼稚な真似する馬鹿に言えば?
0139デフォルトの名無しさんNGNG
>>98 = >>138
0140デフォルトの名無しさんNGNG
>>98
>>110
>>113

このアホどもにも礼を言えと?
0141デフォルトの名無しさんNGNG
>>95以降、礼なんか見あたらないが・・・
0142デフォルトの名無しさんNGNG
>>141
>>95以降に礼を言うべきレスは見当たらないが・・・・
0143デフォルトの名無しさんNGNG
107以降書き込みをしていないということは解決したんだろうが、
解決したならなにか一言書くべきだろ。
そんなんだから教えて君と(ry
0144デフォルトの名無しさんNGNG
環境を書けと言われて逃げる奴は大抵ネタ
0145デフォルトの名無しさんNGNG
>>143
>>107以降は荒らし君のおかげでレスしようがない状態になってるだろ。
とても解決に結びつくようなレスがあるようには見えないし。そもそも
君は何か解決に結びつくようなレスをしたの?
0146デフォルトの名無しさんNGNG
これに懲りてもうネタにレスをしないことが閣議決定されました。
0147デフォルトの名無しさんNGNG
> レスしようがない状態
そのわりには煽りだけは入れているようだけどね
0148デフォルトの名無しさんNGNG
>>147
煽りいれてるのはお前
0149デフォルトの名無しさんNGNG
>>143は解決するようなレスしたのに礼が無かったから怒ってるんだろうね。
0150デフォルトの名無しさんNGNG
解決したんじゃなくてネタだということがばれそうになってので逃げただけ。
0151デフォルトの名無しさんNGNG
>>150
それをネタと言います。
0152デフォルトの名無しさんNGNG
まともな回答が欲しいならLinuxメーリングリストに登録しる。
ここはちょっと小難しい事聞くと荒らししかレスして来なくなるし。
0153デフォルトの名無しさんNGNG
ノイズはたしかに否めないが、まともな質問にはまともな解答は来る
0154デフォルトの名無しさんNGNG
>>153
まともな質問じゃなくて誰でも答えれるような質問ね。
0155デフォルトの名無しさんNGNG
out のオペランドの順序は大丈夫?
0156デフォルトの名無しさんNGNG
何が気に入らないんだろう?
0157デフォルトの名無しさんNGNG
現実社会でも無視されてる荒らし君だからせめてネットでは相手して欲しかったんだろ。
0158デフォルトの名無しさんNGNG
>>156
そういう君はなんで荒らしするの?
0159デフォルトの名無しさんNGNG
粘着してレベルが低いと訴えるくらいなら、自分が回答すればいいのに。
それとも、回答もらえなかったから逆切れしてるのか。
0160デフォルトの名無しさんNGNG
そんなの誰も分かるはずないので終了
0161デフォルトの名無しさんNGNG
このスレのnice値が一気に下げられました。
0162デフォルトの名無しさんNGNG
逃げたのならおとなしくしていればいいものを、なんで荒らすかねぇ。88は。
0163デフォルトの名無しさんNGNG
最初から下がるほどはないっす
0164デフォルトの名無しさんNGNG
>>161
nice値が下がるとプライオリティはどうなるんだったっけ?
いつまでたっても覚えられん。
0165デフォルトの名無しさんNGNG
>>162
まだやんの?粘着厨房。
0166デフォルトの名無しさんNGNG
>>164
低いほど高プライオリティ

>>145
荒れてても発端の本人が出てきて、
低姿勢にやれば、大抵収拾はつくけどね。

まあ別にたまにあれるくらいええやろ。
0167デフォルトの名無しさんNGNG
ちょっと、心をおちつけて。
UNIXを知らなかったあの頃を思い出してごらん。
あの頃の君達は希望に満ち溢れていたよね。
そう、今まで君達は、とっても悪い夢を見ていたんだ。
UNIXなんか捨てて、あの頃見ていた希望を取り戻そうよ!
0168デフォルトの名無しさんNGNG
そこでTronですよ
0169デフォルトの名無しさんNGNG
プライオリティーのポイントが高いということは
それだけシステムに優しいということ
0170デフォルトの名無しさんNGNG
よく言われてる事だけどUNIX関連の掲示板って
妙に偉そうなのが多いいのは何故?
0171デフォルトの名無しさんNGNG
それは君の心です。
0172デフォルトの名無しさんNGNG
全部GNUが悪い。
RMSが悪い。
オプソが悪い。
もしUNIXにEmacsが無かったとしたら、
もっと良いOSになってたかもしんない。
もしXなんてものができなかったら、
もっと良いGUIになってたかもしんない。
もしRMSが、GNUが、なかったとしたら・・・
それはきっと、素晴らしい世界。
0173デフォルトの名無しさんNGNG
Ruby >>>>>>>>>>>>>>>>>>>>>>>UNIOX
0174デフォルトの名無しさんNGNG
Lindowsが最強ってことで
0175デフォルトの名無しさんNGNG
あっ!なるほど。
今、>>169がうまいこと言った。

のに、誰も気づかないのは、うにくすを使う者としてもぐり。
0176デフォルトの名無しさんNGNG
>>175
ラクダ本に書いてあった
0177デフォルトの名無しさんNGNG
>>176
なるほど。

おれ、niceの値はOSがそのプロセスに制御を渡すまでの
待ち時間みたいなものだ、と覚えた。

マイナスがわけわからんけど、覚え方ということでね。
大きければ待ち時間が長くなる=優先度低い、ってイメージ。
0178デフォルトの名無しさんNGNG
emacs便利だと思うんだけど…
0179デフォルトの名無しさんNGNG
EmacsはUNIXの上に全く別の環境を作ろうとした寄生ウェア。
その罪は重い。
0180デフォルトの名無しさんNGNG
UNIXとしては真っ先に排除しなくてはならなかったのに、
便利だ、便利だといってそのまま放置、RMSはこれを機に増長し、
UNIXにGNUという悪性ウィルスを感染させる。
このウィルスはオープンソースという馬鹿げた思想を掲げ続け、
この影響でUNIXの発展は停滞し、思想の1つが崩れ去った。
0181RMSNGNG
>>180
UNIXだけに留まると思うなよ
0182デフォルトの名無しさんNGNG
UNIXから去っていく企業、規模を縮小する企業が続出し、ソフトウェアの
価値が著しく低下した。ただでさえ保護が難しいソフトウェアにGNUは
オープンソースという暴力の強制で業界全体にトドメを刺した。
今やUNIXは自分の首を絞める行為だと理解しない・理解しようとしない、
ソース原理主義者どもの巣窟、隔離施設なのである。
0183デフォルトの名無しさんNGNG
コピペか
0184172=180=182NGNG
>>183
このぐらいの文ならそらで書けるぞ。
0185デフォルトの名無しさんNGNG
自慢してら。
事実誤認だらけなのに
0186デフォルトの名無しさんNGNG
>>184
そんなことは問題ではないと
0187デフォルトの名無しさんNGNG
>>182
非公開にすることで付与されるソースコードの価値で
維持してるような会社は今後縮小せざるを得ないだろうね。
適正な規模に戻れってこった。
0188デフォルトの名無しさんNGNG
関係ないはなししはよそでおねがいします。
0189デフォルトの名無しさんNGNG
質問スレとしての機能を果たせないんだから関係ない話でスレ消化するしかないだろ。
0190デフォルトの名無しさんNGNG
粘着もここまでくると可哀想だな
0191デフォルトの名無しさんNGNG
>>190
ほら、下らんレスにはすぐ食いついてくるw
0192デフォルトの名無しさんNGNG
88はまだ粘着しているのか(笑)
0193デフォルトの名無しさんNGNG
>>192
そんなに88に相手してもらいたいの?粘着君 プ
0194デフォルトの名無しさんNGNG
>>193
ほら、下らんレスにはすぐ食いついてくるw
0195デフォルトの名無しさんNGNG
>>194
レス早っ!ずっと監視してんのか。キモ過ぎ・・・
0196デフォルトの名無しさんNGNG
3分足らずでレスする195=88も同じだよw
0197デフォルトの名無しさんNGNG
>>195
別にずっと監視しなくても他のスレのレスとか見ながらスレ一覧を更新していれば
このスレが更新されたかどうかなんてすぐにわかるし、べつに変じゃないよ。
あと、「キモ」いという言葉はあまり好きじゃないな。
たとえ自分に当てられた言葉でないとしても良い気分はしないし、私以外にも
そう思っている人がいるだろうね。
0198デフォルトの名無しさんNGNG
88大好きキモオタが粘着してるようだけどこのスレって質問すると
ずっと煽られ続けるのか?
0199デフォルトの名無しさんNGNG
関係ないはなしししはよそでおねがいします。
0200デフォルトの名無しさんNGNG
質問も他スレでした方がいい?
0201デフォルトの名無しさんNGNG
もういいだろこのスレは
0202デフォルトの名無しさんNGNG
やれやれ。スレ立てしてくるわ。
0203デフォルトの名無しさんNGNG
OK。次スレだ。
http://pc5.2ch.net/test/read.cgi/tech/1065535118/
0204デフォルトの名無しさんNGNG
次スレ
http://pc5.2ch.net/test/read.cgi/tech/1066208836/
0205デフォルトの名無しさんNGNG
>>202
どうせ同じ事になるから無駄だと思うけど。UNIXやLinux使ってる人って
自力で学習してる人が多いから他のOS使ってる人に比べて質問する人
を毛嫌いする傾向があるね。
0206デフォルトの名無しさんNGNG
>>205
そういう話は次スレでやれ
0207デフォルトの名無しさんNGNG
>>206
すみません、図星で気に障りましたか?
0208デフォルトの名無しさんNGNG
>>205
あんまり突っ込まれるとわかんないからだよ
なんせUNIXにはグルいないから
UNIX自体どマイナーなのに実際に使うマシンは
さらにその枝の奥の葉だからね
0209デフォルトの名無しさんNGNG
わかんないことあったらまずサポートに投げる
自分以外は全て敵と思え
これがUNIXの正しい運用方法
0210デフォルトの名無しさんNGNG
まずはStevens本を読め。
0211デフォルトの名無しさんNGNG
自助努力の跡が見える質問だったら歓迎なんだけどな。
伝説のM女史みたいな臭いが少しでもしたら激しく嫌われる。

んでM女史傾向のあるやつが質問したら叩かれて、
逆ギレの構図かなw
頭悪いからそのへん自覚も区別もできんのだろうな。
「なんでおれが」って。それ、お前だからだってw
0212RMSNGNG
>>209,210
そのためのソースだ
0213デフォルトの名無しさんNGNG
>>211
オタク臭い文章・・・。やはりUNIXユーザーってちょっとアレだな
0214デフォルトの名無しさんNGNG
つまりUNIX関連の質問スレは不要って事で
0215デフォルトの名無しさんNGNG
>>213
オタクですがなにか?w

ま、馴れ合いたいならそういうところを探すこった。
0216デフォルトの名無しさんNGNG
>>215
どっちかというと君が場違い。質問スレで質問したやつ叩いてどうする。
0217デフォルトの名無しさんNGNG
>>215
ふ〜ん、ここって馴れ合い禁止なんだ。そんな高尚なスレだとは知らなかったよ。
0218デフォルトの名無しさんNGNG
馴れ合いかどうかと、高尚かどうかは関係ないだろう。
0219デフォルトの名無しさんNGNG
つまりオタク専用スレって事だね。
0220デフォルトの名無しさんNGNG
UNIX
プログラミング
2ちゃんねる

どれをとってもオタクそのものでは?
0221デフォルトの名無しさんNGNG
>>215
意味分からん。馴れ合うなって気軽に質問すんなって事か?
0222デフォルトの名無しさんNGNG
>>220
2ちゃんねるを除いて、それらがどうしてオタクなの?
プロだとそういうのは当り前のことじゃないか。
そもそもオタクってどういう意味だ?
0223デフォルトの名無しさんNGNG
>>222
>>215みたいに自分の殻に閉じこもってるヤシ
0224デフォルトの名無しさんNGNG
だいたいM女史って誰だよ しらねぇよ
0225デフォルトの名無しさんNGNG
検索くらいしろよ
0226デフォルトの名無しさんNGNG
>>222
アニメだって、プロならそういうのは当たり前のことだ。
0227デフォルトの名無しさんNGNG
ま、馴れ合いたいならそういうところを探すこった。
0228デフォルトの名無しさんNGNG
2ちゃんねるって馴れ合う掲示板だと思ってたんだけどUNIX関連スレだけは別格なんだね














プ
0229デフォルトの名無しさんNGNG
このスレってUNIX使いの生態が分かって面白い。
0230デフォルトの名無しさんNGNG
UNIXを使っている自分に酔ってます
0231今のままじゃん…NGNG
>>229
もうUNIX使うのやめます!
UNIXに使われます!
0232デフォルトの名無しさんNGNG
pkill -231
0233デフォルトの名無しさんNGNG
talk 231 You gata me-ru.
0234デフォルトの名無しさんNGNG
halt
0235デフォルトの名無しさんNGNG
なんかネットワークプログラミング相談室とフンイキが似てる。
0236デフォルトの名無しさんNGNG
中のひとが同じだからな
0237デフォルトの名無しさんNGNG
cursesライブラリに関する本とかwebページを教えてください。
0238デフォルトの名無しさんNGNG
あまりないよね
0239デフォルトの名無しさんNGNG
4BSDのドキュメントの
ps1/18.curses
ってのを読みましたよ、大昔ですが。
4BSDの/usr/doc下のドキュメントはAT&T由来のものも含めて、
簡潔で優れたものが多かったです。
0240デフォルトの名無しさんNGNG


そういやRMSが事故ったらしい


GPLとともに天に召されてくれ
0241デフォルトの名無しさんNGNG
事故った時には既に降りた後じゃなかったっけ?
0242デフォルトの名無しさんNGNG
RMS怪しいな
0243デフォルトの名無しさんNGNG
今のRMSは偽者です。かげ武者です。
ただ、これ以上話すとFSFに暗殺されてしまうので
話せません。
0244RMSNGNG
>>243
もう、遅いよ。
そっちに刺客を送った。
0245デフォルトの名無しさんNGNG
ヤバイ。月詠ヤバイ。まじでヤバイよ、マジヤバイ。
月詠ヤバイ。
まずOPがデンパ。もうデンパなんてもんじゃない。超デンパ。
デンパとかっても
「ドクロちゃん20冊ぶんくらい?」
とか、もう、そういうレベルじゃない。
何しろネコミミ。スゲェ!なんか単位とか無いの。何坪とか何?fとかを超越してる。ふさふさしてるし超白い。
しかも着脱可能らしい。ヤバイよ、着脱可能だよ。
だって普通は耳とか取れないじゃん。だって自分のペットの耳がだんだん取れていったら困るじゃん。犬の耳が部屋にごろごろとか困るっしょ。
取ったり外したりして、去年の冬はピンと尖った柴犬の耳だったのに、今年の夏はブルドッグのたれ耳とかだったら泣くっしょ。
だから犬耳とか取り外ししない。話のわかるヤツだ。
けどネコミミはヤバイ。そんなの気にしない。着脱しまくり。ネコミミを付けた有用性を検証してもよくわかんないくらい飾りそのもの。ヤバすぎ。
飾りっていたけど、もしかしたらなんか意味あるのかもしんない。でも有意義って事にすると
「じゃあ、見た目の変化以外でネコミミ付けるメリットってナニよ?」
って事になるし、それは誰もわからない。ヤバイ。誰にも分からないなんて凄すぎる。
あと歌詞が超単調。約9水戸黄門。ライトノベルで言うと869馬鹿一。ヤバイ。リピート。銃弾をペンダントが防ぐ間もなく死ぬ。怖い。
それに超意味が無い。超無意味。それに超意味不明。モードとか平気で出てくる。モードて。荒木飛呂彦でも言わねぇよ、最近。
なんつっても月詠はヒロインが凄い。吸血鬼でネコミミ幼女のご主人様とか平気だし。
うちらなんて吸血鬼とかたかだか強キャラとして出てきただけで上手く扱えないからハーフにしたり、意外な弱点を作ったり、夜の街で戦ったりするのに、
月詠は全然平気。吸血鬼をネコミミ幼女として扱ってる。凄い。ヤバイ。
とにかく貴様ら、月詠のヤバさをもっと知るべきだと思います。
そんなヤバイ月詠を描いた有馬啓太郎とか超偉い。もっとがんばれ。超がんばれ。
0246デフォルトの名無しさんNGNG
_open とopen なぜ2つのシンボルが定義されてるんですか?
0247デフォルトの名無しさんNGNG
これは、低水準なのでなるべく別の関数(高水準の)を使って下さいという意味です。
でも気にせず使ってしまいましょう。
また、_open()とせずに open()としても、エラーにはなりません。
似たようなものにgetch()があります。
これもアンダスコア付き関数ですがgetch()のまま使っても問題ありません。
O_APPENDなどの定数類もアンダスコアがついています。
取ってしまっても差し支えありません。
0248デフォルトの名無しさんNGNG
247はネタ?
0249デフォルトの名無しさんNGNG
ネタじゃなければ何なんだよ…

exit(3)と_exit(2)の違いでも調べてくれ。
これはちゃんと明文化されているから。
POSIXやX/Openに含まれてるからね。
0250デフォルトの名無しさんNGNG
>>249
> ネタじゃなければ何なんだよ…

つまりネタということですか。
0251デフォルトの名無しさんNGNG
1行めは本当。後はネタ。
0252デフォルトの名無しさんNGNG
ういんどーず、ういんどーず、ごー、ごー、ういんどーず!
0253デフォルトの名無しさんNGNG
ネコミミモード
0254デフォルトの名無しさんNGNG
元ねたハケーン!!
ttp://www.kumei.ne.jp/c_lang/intro/no_50.htm
0255デフォルトの名無しさんNGNG
嘘をつくと地獄に落ちますっ!
0256デフォルトの名無しさんNGNG
>>254
こりゃ駄目だ…
このページ書いた人アホ?
0257デフォルトの名無しさんNGNG
>>249
>exit(3)と_exit(2)の違いでも調べてくれ。
>これはちゃんと明文化されているから。
サンクス
0258デフォルトの名無しさんNGNG
/bin/hosh
0259デフォルトの名無しさんNGNG
>>256
つか、そのページ、Windowsの話のページだし
0260デフォルトの名無しさんNGNG
/bin/hosh
0261デフォルトの名無しさんNGNG
[localhost:~] %
0262デフォルトの名無しさんNGNG
>>259
VC++でも明文化されてるよ。
http://www.microsoft.com/japan/msdn/library/ja/vclib/html/_crt_exit.2c_._exit.asp
0263デフォルトの名無しさんNGNG
C++でUNIXのシステムコールを使う場合の例を探してます
C++版のUNIXシステムコール(signal()など)ってあるんでしょうか
それとのC版システムコールをextern宣言して使っとけば問題ないのかな
0264デフォルトの名無しさんNGNG
言語関係無いし。
0265デフォルトの名無しさんNGNG
というか、システムコールとはなにかを勉強する方が先かもしれん。
0266デフォルトの名無しさんNGNG
>>263
詳解UNIXプログラミング
を推します。
0267デフォルトの名無しさんNGNG
こう何度も出てくるんじゃ、やっぱテンプレにAPUE買えって入れるべきじゃね?
0268デフォルトの名無しさんNGNG
Advanced Programming in UNIX Environment と脳内変換出来なかったヲレはもう一度読み直します.
0269デフォルトの名無しさんNGNG
Unix Beginner *have to* read a APUE.
0270デフォルトの名無しさんNGNG
それ何かいいこと書いてあるんか。Hな写真とか載ってるんか。
0271デフォルトの名無しさんNGNG
>>270
信者の戯言だ気にするな。
0272デフォルトの名無しさんNGNG
明日本屋へいって見てこい。

0273デフォルトの名無しさんNGNG
>>268
私は訳本しか読んでいない
0274Ruby!NGNG
プププ
0275デフォルトの名無しさんNGNG
>>274
笑うな!Ruby厨
0276デフォルトの名無しさんNGNG
>>275
略すと、アル厨
0277263NGNG
初心者なもので的外れな質問でしたら失礼しました。
とりあえずお勧めされた本(詳解UNIXプログラミング)を
探して読んでみます。ありがとうございます。
0278デフォルトの名無しさんNGNG
原本いらね
リファレンスとサンプルコードがあれば十分。
自然言語での適当な解釈は有益なオプションだね。
そもそもシステムコールというのは思想とは違うから原本の厳密な意味理解
は必要ない。
理解すべきはシステムコールの振舞いだよ。
0279デフォルトの名無しさんNGNG
おまいが理解すべきは日本語の書き方だ
0280デフォルトの名無しさんNGNG
要は関数だろ
0281デフォルトの名無しさんNGNG
あれよりまともなUNIX入門書もない希ガス
0282デフォルトの名無しさんNGNG
>>279
>>280の日本語の間違いを指摘せよ
0283デフォルトの名無しさんNGNG
まちがってるの?
> かなめはかんすうだろ
0284デフォルトの名無しさんNGNG
278の間違いだ
0285デフォルトの名無しさんNGNG
>>283
間違ってるだろ、お前の読み方。
0286デフォルトの名無しさんNGNG
http://www.kanamedia.com/
0287デフォルトの名無しさんNGNG
GIMPの画像処理部のソースが読みたいのですが、
どこから手をつけていいかわかりません。
いいスレがあったら教えてください。
0288デフォルトの名無しさんNGNG
コマンド名とlibcの関数名やシステムコール名がダブってるけど、
あれらはどっちが先に出来上がったんでしょうか?
0289デフォルトの名無しさんNGNG
>>288
両方(ほぼ)同時に成立したものと、一方が先に成立したものがある。
0290デフォルトの名無しさんNGNG
cもしくはc++で特定のディレクトリのファイルの一覧を取得する方法を教えてください
0291デフォルトの名無しさんNGNG
>>290
opendir
0292デフォルトの名無しさんNGNG
readdir()
0293デフォルトの名無しさんNGNG
writedir()
0294290NGNG
>>291-293

バーカ。

"CもしくはC++で"

というのが見えないのか?

日本語が分からないなら黙ってろ。
0295デフォルトの名無しさんNGNG
>>290
Boostを使えばマルチプラットフォームな記述ができますよ
http://www.kmonos.net/alang/boost/classes/filesystem.html
0296デフォルトの名無しさんNGNG
opendir readdirってCだろ
0297デフォルトの名無しさんNGNG
>>296
違う
システムコール
0298デフォルトの名無しさんNGNG
CまたはC++の標準ライブラリでって言いたかったんだろうな。
ちゃんとした日本語で質問しないからこんなことに・・・
0299デフォルトの名無しさんNGNG
>>297
ライブラリコール
0300デフォルトの名無しさんNGNG
>>297
ライブラリ関数のセクションにあるから
違うんじゃないの?
0301デフォルトの名無しさんNGNG
ほんとだ
0302デフォルトの名無しさんNGNG
system("/bin/ls");
0303デフォルトの名無しさんNGNG
>>297
違うよ。単なるPOSIX関数だ。
0304デフォルトの名無しさんNGNG
>>297
人気ですね
0305デフォルトの名無しさんNGNG
>>304
このまま大統領選挙に持ち込む。
0306290NGNG
>>294は偽物です
>>291>>292さん無事できました。ありがとうございます。
>>295とても為になりました。boost勉強してみようと思います。
0307デフォルトの名無しさんNGNG
>>297
さらしあげ
0308デフォルトの名無しさんNGNG
UNIX に Windows の COM みたいな仕組みってないの?
0309デフォルトの名無しさんNGNG
CORBAしかない
0310デフォルトの名無しさんNGNG
>>308
http://www-6.ibm.com/jp/developerworks/linux/001117/j_com.html
0311デフォルトの名無しさんNGNG
gnomeがCORBAを使ってるね。
でも重すぎ。理想はわかるんだけどね…
0312デフォルトの名無しさんNGNG
>>311
広く標準化された規格って、肥大化して重いのが多いよね。
一個人や企業が独自に策定した規格のほうが使えるやつが多いって感じる。
0313デフォルトの名無しさんNGNG
>310
これって COM を移植するための方法であって、
UNIX に COM システムを導入しているわけではありませんよね。
COM の移植って、そんなに難しいものではないと思うんだけど、
誰も開発しないのかな。。。
0314デフォルトの名無しさんNGNG
そこでRuby!!!!!!!!!!!!!!!!!!!!!!!!
0315デフォルトの名無しさんNGNG
>314
Ruby だと UNIX でも COM 使えるの?
0316デフォルトの名無しさんNGNG
KDEがCORBA使おうとして重過ぎたんで簡易版作ってなかったっけ?
検索してたらこんなの出てきた。
http://www.globe.to/~oka326/?Note%2FComonents
0317デフォルトの名無しさんNGNG
dcopだっけ?
0318デフォルトの名無しさんNGNG
なんにしても普く使われている軽量で現実的な仕組みはないってこった
0319デフォルトの名無しさんNGNG
>>315
そいつに聞いてもなにもわかりませんよ。
0320デフォルトの名無しさんNGNG
>>319
じゃああなたが答えてくれるというのですか?
0321デフォルトの名無しさんNGNG
あるオブジェクトファイル内に、
ssize_t read (int fd, void * buf, size_t size) {
/* 何か処理 */
}
と定義して、関数mainからこの関数を呼ぶと、
libc内で定義されている関数readではなく、
上記の独自に定義した関数readが呼ばれてしまうのですが、
これってOKなんですか?
システムコール関数を再定義するのって有りなんでしょうか?
0322デフォルトの名無しさんNGNG
>>321
それで問題が起きないのなら、別に構わない。
0323デフォルトの名無しさんNGNG
>>322
最悪のバグはいつもユーザの手元で起こるものだ
0324デフォルトの名無しさんNGNG
>>321
そういうことを可能にするためにシステムコールはわざわざweak symbolになってたりする
0325デフォルトの名無しさんNGNG
>>321
インターポジショニングっていうんだっけ?
0326デフォルトの名無しさんNGNG
>>322
まあ・・そう言われればそうなんですが、この場合に自分が
知りたいと考えているのが、
「なぜライブラリ関数なんていう重要な定義が
 ユーザ側で再定義可能になっているのか?」
という事でして、出来ればもう少しその地点から進みたいと
思っています。

>>323
おっしゃるとおりです。

>>324
今自分の環境(FreeBSD5.2)で調べてみたのですが、
  W read
T _read
となっていました。(libc内で)

>>325
ありがとうございます。愚具ってみます。
0327デフォルトの名無しさんNGNG
システム標準のライブラリなんて別に特別なもんじゃないよ。
これがUNIXとCの考え方。

70年代前半に現在のシステムの潮流を作った。以前は(ry
0328デフォルトの名無しさんNGNG
>>321
Cとかの単一の名前空間しかもてない言語では激しく厳禁。
0329デフォルトの名無しさんNGNG
名前空間が分かれてても同じだろ。
0330デフォルトの名無しさんNGNG
というか、Cとかのプログラミング言語に依存した話じゃなくて、
ELFとかダイナミックリンクとかのレイヤの話だな。

それに、>324も書いているように、そういうことが禁止されているわけじゃない。
「素人が手を出すな」という意味なら激しく同意だが。
0331デフォルトの名無しさんNGNG
socket()を乗っ取ってウマー
0332デフォルトの名無しさんNGNG
>>331

他プロセスのAPIをのっとれる訳ではないと思うのだが……。
0333デフォルトの名無しさんNGNG
>>332
こっそりLD_PRELOADを仕込んでおいて…
0334デフォルトの名無しさんNGNG
>>326
例えば libc_r.so (ユーザレベルのスレッドライブラリ)では、
read()をnon-blocking I/Oとpollシステムコールを使ったルーチンに
置き換えている。
こうすることでユーザレベルでのマルチスレッドを実現しているわけだ。

さらに ports/www/linuxpluginwrapper とかでは
同様なシステムコール等の上書きにより、Linux用の*.soファイルを
FreeBSDネイティブなプロセスにダイナミックリンクして使えるようにするという
芸当をやってたりする。
0335デフォルトの名無しさんNGNG
>>334
> 例えば libc_r.so (ユーザレベルのスレッドライブラリ)では、

これはライブラリ全体の置き換えなんでちょっと話がずれたね。
0336デフォルトの名無しさんNGNG
pthあたりを例にするのがいいのでは。
0337デフォルトの名無しさんNGNG
>>335
4系ではそうだけど、5,6系統は必要なものだけの置き換えになってますよ。
ライブラリのサイズを比べれば一目瞭然。
0338デフォルトの名無しさんNGNG
Cの言語仕様と同じぐらい重要なのがELFの知識、と
ある人はいっておりました。
0339デフォルトの名無しさんNGNG
>>338
それ本当?どこらへんが大事なの?
0340デフォルトの名無しさんNGNG
たぶんqsort(3)を実装する時…
0341デフォルトの名無しさんNGNG
なんで?
0342デフォルトの名無しさんNGNG
Hello, World!に必須
0343321NGNG
皆様アドバイスをありがとうございます。
あれから色々と調べてみようと思い、
結局 /usr/src/lib/libc/ 以下のMakefile を読んでみて、
どのようにライブラリが作られてるのかを調べていました。
・・・結局分かった事は、read.oオブジェクトファイル内で
まず関数_readを定義し、その後
 .weak open
 .set open, _open
としてシンボル_readの弱いシンボルreadを作っている
という事だけでした。
・・なんか自ら本質から遠ざかってるような気がするんですが。

>>334
>これはライブラリ全体の置き換えなんでちょっと話がずれたね。
いえとんでもないです。ソース眺めている時に、
「libcの隣にlibc_r?しかも同じシンボル(openやread)がある!?」
と思っていたところでした。334さんのおかげで少し理解が出来ました。
おそらくこれが、「インターポジショニング」の効果で、
(Expert C programmingによると)素人が手を出すなという箇所ですよね?

>>336
>pthあたりを例にするのがいいのでは。
すいません。今はそこまで手が回りません・・がいつかは。

>>338
>Cの言語仕様と同じぐらい重要なのがELFの知識
file /usr/lib/lib* とすると "ELF 32-bit 〜" がずらずらと。
ELFの仕様書も読んでみます。
0344gccNGNG
readは引数書くのが面倒なんで(w

void __f () { ああだこうだ; }
void f () __attribute__ ((weak, alias ("__f")));
0345デフォルトの名無しさんNGNG
http://www.tacc.utexas.edu/services/userguides/intel/ref/smb_weak.htm
0346デフォルトの名無しさんNGNG
age
0347デフォルトの名無しさんNGNG
ふと思ったのですが、「アボート」と「セグメンテーションフォールト」はどう違うのですか?
0348デフォルトの名無しさんNGNG
じしょひくとわかるよってとなりのひとがいってる
0349デフォルトの名無しさんNGNG
どうと言われても全然違う。
発生したときのデフォルトの挙動は似ているけど。
0350デフォルトの名無しさんNGNG
アボートはsegvのような意味で発生するもんじゃないだろ
0351デフォルトの名無しさんNGNG
セグメンテーションフォールトが原因でアボートしますた!
0352デフォルトの名無しさんNGNG
shellについて質問させていただきたいのですけれでもここでよかったでしょうか?
もしまちがってましたら、誘導願います。

でしつもんなんですけれども

shellのなかで aaa*dat (*にはランダムの数字が入る)というような
ファイルのファイル名を取得したいと思っています
存在する場合には正しく取得できるのですが、
しない場合にファイルが存在しませんとのメッセージが大量にはかれて困っております

shellのなかで

filenm=`ls -1 aaa*dat >dev null`として取得しようとしているのですが
やはりそんざいしておりませんとログにでてしまいます。

そうぞうするところ。>は標準出力をかえるためで、
標準エラー出力を利用して、存在していませんとメッセージを出しているので
でるのかなと想像しているのですが、いきずまってしました。

正しいファイルが存在する際には代入、存在しないときは何のメッセージも
出力されないようにしたいのですが、何か良い方法はないでしょうか?
よろしくおねがいします。
0353デフォルトの名無しさんNGNG
>>352
B-shell系なら
ls -1 aaa*dat 2>&1 >/dev/null
#2番(stderr)を1番(stdout)に振り替えてから元の1番と一緒に/dev/nullに振り替え

C-shell系なら
ls -1 aaa*dat >& /dev/null
#標準エラー出力を標準出力と一緒に/dev/nullに振り替え
0354デフォルトの名無しさんNGNG
あのな、普通そういう目的でls使わないの。
0355352NGNG
k-shellです(Cshell系なのかな?)。

>>353さん
ありがとうございました。試してみます。
0356デフォルトの名無しさんNGNG
そしてスペースを含むファイル名でハマる、と…
0357デフォルトの名無しさんNGNG
bash$ (shopt -s nullglob; files=aaa*.dat; for i in $files; do echo $i; done)
0358デフォルトの名無しさんNGNG
>>357
zsh 使えよ
0359デフォルトの名無しさんNGNG
select()やsend()などのシステムコールがシグナルによって失敗すると、
errnoにEINTRが返されますが、この時に受信したシグナルの値を取得する
ことは可能でしょうか?
0360デフォルトの名無しさんNGNG
#include <stdio.h>
int
main()
{
char *tmp= "a";
const char *tmp2= "b";
strcat(tmp,tmp2);
return 0;
}
というソースを書いたのですがSegmentation faultになってしまいます。
strcatの使い方に間違いがあるのでしょうか?
分かる方お願いします。
0361デフォルトの名無しさんNGNG
そういうのは,自分でシグナルハンドラ書いてるときに起こる。
0362デフォルトの名無しさんNGNG
シグナルハンドラって良く分からないので調べてみますが、
こちらの実行環境に問題があるということですかね?
0363デフォルトの名無しさんNGNG
>>361
先にお礼言っておくべきでした。
ありがとね。
0364デフォルトの名無しさんNGNG
>>360
次の点で二重に間違っている。
* 文字列リテラルを変更しようとしている
* strcatで追加する分の空間を割り当ててない

UNIX以前の問題だこれは。

0365デフォルトの名無しさんNGNG
>>360
問題は二つあります。まず一つ目

char *p = 'string';

式に確保した文字列は中身をいじっちゃいけません。
なぜ? といわれるかもしれませんがそういうものなのです(規格です)。

二つ目。

tmpの指してる先はどれくらいのメモリを確保できてますか?
それは、tmp2の内容を繋げてあふれない量ですか?

# もっとも一つ目の方の違反だけを指摘すりゃいいんだろうけど。
0366デフォルトの名無しさんNGNG
>>364-365
お二人ありがとう。

>strcatで追加する分の空間を割り当ててない
メモリを再び、確保しなくてはいけないんですね。
やりかた調べてみます。
0367デフォルトの名無しさんNGNG
>>360
おまえのプログラムはこれで充分

int main()
{
return 0;
}
0368デフォルトの名無しさんNGNG
>>365
文字列をシングルクォートで囲むなよ。Perlじゃあるまいし。
0369360NGNG
main()
{
char *tmp=(char *)malloc(22);

char *tmp2= "a";
char *tmp3= "b";

strcat(tmp,tmp2);
strcat(tmp,tmp3);

return 0;
}


とりあえずこれでいいのかな。
それにしても、このスレの質問はレベルの高い質問ばかりですね。
お邪魔しました。
0370デフォルトの名無しさんNGNG
tmp[0] = '\0';
strcat(tmp,tmp2);
strcat(tmp,tmp3);

あとfreeな(この場合はしなくても結果は同じだが)
0371デフォルトの名無しさんNGNG
>>360
C言語やめてVBとかにしなさい

というわけでUNIXやめなさい
0372デフォルトの名無しさんNGNG
>>358
zshだと、
zsh$ (setopt NULL_GLOB; files=aaa*.dat; for i in $files; do echo $i; done)
こうなのかな? 一つも存在しない時うまく働かないね。
0373デフォルトの名無しさんNGNG
おいおい、素直に
strcpy(tmp, tmp2);strcat(tmp, tmp3);
か
sprintf(tmp, "%s%s", tmp2, tmp3);
にしろよ。
0374デフォルトの名無しさんNGNG
overflow防止のために、strlcpy/strlcatかsnprintfを使うべきだ。
0375デフォルトの名無しさんNGNG
strncpy/strncatだろ
0376デフォルトの名無しさんNGNG
>>375
いまどき strncpy/strncat なんて使ったらダメだってば。
OpenBSD/NetBSD/FreeBSD/Solaris にはあるよ > strlcpy/strlcat
0377デフォルトの名無しさんNGNG
まあnだろうがlだろうがCで文字列処理書くと
だいたいバグの温床になるのがオチ
0378デフォルトの名無しさんNGNG
strnファミリーは渡す長さが1足りない奴とかNUL termination忘れる奴とか
いるからね。strl*が出来てだいぶましになった。
0379デフォルトの名無しさんNGNG
str*系もろくに扱えないってことは、UNIXスレは馬鹿ばっかってこと?
0380デフォルトの名無しさんNGNG
str系なんてつかってるやつは馬鹿です
0381デフォルトの名無しさんNGNG
ソウディス!!
ダデャーナザーン!!
アウア
0382デフォルトの名無しさんNGNG
おれstrncpyなんか使った事無いよ。
仕様確認すんの面倒だから長さの判定が必要ならmemcpy使うし。
結局strlcpy と strlcatもstrnと同じ問題抱えてる。

strcat使う局面でバッファ管理するぐらいなら↓を使う。


s = strdup("hage");
s = strdupcat(s, "hage");
s = strdupcat(s, "hage");
s = strdupcat(s, "hage");

#define strdupcat2(s,cat1,cat2) strdupcat(strdupcat((s),(cat1)),(cat2))
#define strdupcat3(s,cat1,cat2,cat3) strdupcat(strdupcat2(s,cat1,cat2),(cat3))
#define strdupcat4(s,cat1,cat2,cat3,cat4) strdupcat(strdupcat3(s,cat1,cat2,cat3),(cat4))

strdupcat(s,cat) {
int catlen = strlen(cat);
if (s) {
int slen = strlen(s);
s = xrealloc(s, slen + catlen + 1);
memcpy(s + slen, cat, catlen);
*(char *)(s + slen + catlen) = 0;
} else {
s = xcalloc(1,catlen+1);
memcpy(s, cat, catlen);
*(char *)(s + catlen) = 0;
}
return s;
}
0383デフォルトの名無しさんNGNG
↑のstrdupはxstrdupね。
x〜は確保できなかったら例外投げるラッパ。
メモリリークチェッカも兼ねてるが。
0384デフォルトの名無しさんNGNG
つーかOpenBSDのstrlcatとか考えた奴は考えなしの馬鹿だろ。
こんなのが普及するとか言ってるUNIX使いマジ低脳。
0385デフォルトの名無しさんNGNG
そうだね。
http://www.linux.or.jp/JF/JFdocs/Secure-Programs-HOWTO/library-c.html
これ見るとちょっと設計者の頭弱いかも。
使う気になる人いるんだろうか。
複雑性増えて混乱度高めただけというか。
まあstrn*系は使わないのが吉。
0386デフォルトの名無しさんNGNG
>>382
それいいねえ。
LISPのconsっぽい。

どのみちstrcatでバッファオーバーする場合は別途何かしら処理するのが普通だから、
strlcat通すのはあんま意味ないかも。
そこまでするなら事前に文字列の長さ測れ、と。
途中でちょん切られても困る場合がほとんどだろうしね。
0387デフォルトの名無しさんNGNG
>>384
かなり使われている(OpenBSD と NetBSD のかなりの部分は strl* で書
き直されている)し、ISO でも次期 C に strcpy_s strcat_s として入
れるよう議論してるみたいですよ。

strn* のクセがわかっている人は strl* を使う必要はないけど、多人
数で開発するなら strn* をわかってない人がいることも想定して、
strl* にするのが安全です。

0388デフォルトの名無しさんNGNG
>>386
まさにそれ。
用途を想像できてないんだよな。
strn*も含めてstrlcpyやstrlcatは消えるべき。
何時使うんだよこれ。
勝手にチョン切られて良い局面なんてあるか?

>>387
相変わらずUNIX使い頭悪すぎだな。
まあおれが言うまでも無くいまだにコマンドラインベースで
物考える奴の頭の程度なんて知れてるけどさ。
strlに書き直されたって、OS書くのにわざわざそんな危ない事してるとは呆れるね。
きっとOpenもNetもさ、いまだにどっちも仕事で聞いた事ないから
超ドマイナーなんだろうね。
0389デフォルトの名無しさんNGNG
祭り?
0390デフォルトの名無しさんNGNG
>>388
自分の無知を棚に上げて(ry
0391デフォルトの名無しさんNGNG
>>387
もういっこ突っ込んどくと、

>strn* をわかってない人がいることも想定して、

こんな想定無意味。
おれならstrn*とか使ってたらメンテしにくくなるから書き直せって言うけどね。
0392デフォルトの名無しさんNGNG
>>390
反論するならちゃんと最後まで言えよ低脳。
0393デフォルトの名無しさんNGNG
>>382
何度も無駄にくりかえされるstrlenがダサすぎ。
0394デフォルトの名無しさんNGNG
>>393
ありゃりゃ。
ほんと低脳だな。
無駄なstrlenなんて1つもないんだが。


ところで、strlcpyやstrlcatっていつ使うの?(笑
0395デフォルトの名無しさんNGNG
無駄だと思っていないあたりが頭悪すぎ。
0396デフォルトの名無しさんNGNG
いまどきCで文字列処理なんてする奴は低脳。
0397デフォルトの名無しさんNGNG
>>395
低脳クン、
あと何か無駄なとこあるかな?(笑



しいて無駄って箇所を上げるとすれば、xcallocのゼロ初期化だな。
あそこはxmallocで良い。
まあ即興で作った例だから本質とは無関係な部分だけどね。

0398デフォルトの名無しさんNGNG
>>396
いいよいいよー(笑
そうだよね、いまどきCなんて低脳。
でもUNIXっていまだにCなんだよね。
なんでだろうね(大笑
0399デフォルトの名無しさんNGNG
>>382
CのようでCでない不思議な構文
0400デフォルトの名無しさんNGNG
>>399
普通のCだと思うが。
0401デフォルトの名無しさんNGNG
文字列処理不要ならCが良い
0402デフォルトの名無しさんNGNG
ここは舞い上がったロートルが真昼間から常駐するスレですね
0403デフォルトの名無しさんNGNG
いや、>>382は正論だと思う。
結局誰もstrl*の使い道思いつかないし。
自分もちょっとstrnとかは避けたい。
0404デフォルトの名無しさんNGNG
ロートルのトロールですね。
0405デフォルトの名無しさんNGNG
そもそもstrcatは使う前に文字列の長さは把握するのが普通だよ。
strlcatに書き換えたって、どこ書き換えたの?>>387
0406デフォルトの名無しさんNGNG
>>399-404
うわ、
やっぱり反論できないから、こんどは手のひらを返したかのように擁護レスがちらほら(笑
>>404なんて自分を見失ってるし(禿笑

なんなんだお前ら。
面白すぎだぞ!
0407デフォルトの名無しさんNGNG
Mac板にカエレ
0408デフォルトの名無しさんNGNG
strncpyは固定長バッファでがんばるときに使うのさ。
0409デフォルトの名無しさんNGNG
>>405
ほんと謎だねえ(笑
どこかきかえたのでちゅか?>>387

>>407
残念ながらこの板がテリトリーなんだよ。

>>408
どうがんがるんでちゅか?
0410デフォルトの名無しさんNGNG
std::string使えればそっちつかっちゃうな。フォーマット系統が弱いのが辛いけど。
0411デフォルトの名無しさんNGNG
つまりRuby厨ということか。
0412デフォルトの名無しさんNGNG
>>410
おれもC++使えれば>>382みたいなのは作らんがなあ。

でもここUNIXスレだし、しかも元がstrcatの話だったしでね、
Cでわかりやすくノウハウを伝授したつもりなんだがねえ。
さすが低脳集団を抱えるスレは違うわ。

>>411
いや、Rubyなんて関係ないじゃん(笑
そろそろstrlcatの使い道とやらを聞かせてくださいよー
0413デフォルトの名無しさんNGNG
C使いでないことは確かだ
0414デフォルトの名無しさんNGNG
だな。
0415デフォルトの名無しさんNGNG
>>409
MTUに収まるようなUDPに文字列詰めるときとか
あとは高速化のためにmallocの代わりに固定長バッファを
バラバラともらうようなライブラリ使わされたときとか。
0416デフォルトの名無しさんNGNG
>>413=414
うぷぷpppp
判り易過ぎる自演どもでしたー!
あのさ、strl*の使い道聞いてただけなのに
UNIXスレ君だけになっちゃったよ(笑

もうどうしようもないね、ここ。


>>415
うーん、それはstrlcpyやstrlcatの用途ではないな。
書き込んでない残りの文字数を把握する必要があるでしょ?
それ別途計算するの?
strl*の例としては無理やり使ってるとしか思えないな。

もうちょっと説得力のある使い道ないの?
0417デフォルトの名無しさんNGNG
snprintfでいいじゃん。
0418デフォルトの名無しさんNGNG
OS とかサーバソフトみたいに、データが正しいことよりバッファオー
バーフローを防ぎつつ動き続けることのほうが優先される場合に strl*
を使うですよ。

foolproof なんだから、fool でない人にメリットがないのは当然。
0419デフォルトの名無しさんNGNG
>>418
いやfoolだとして、なんでわざわざmemcpyじゃなくてstrl*使うのかな、と。
>>418みたいな局面ならそもそも\0終端文字列なんて出番ないし。
つーかstrl*が必要な局面教えてちょーだいよ、ってさっきから言ってるんだけどね…。
パフォーマンス考えても得体の知れないstrl*よりはmemcpyの方が期待できるし。
0420デフォルトの名無しさんNGNG
>>418
途中で切られたデータを元に動きつづけるの?
0421デフォルトの名無しさんNGNG
もういいよ。
strl*は馬鹿が自己満足で作ったクソ関数です。
0422デフォルトの名無しさんNGNG
ぷぷぷ君が書き込まなくなっちゃった。
0423デフォルトの名無しさんNGNG
>>419
つまりさ、strlcpyとstrlcatはどっかのキモデブアニオタOpenBSD信者がろくに
開拓されていないクソマイナーOSなことをいいことに自分の自己主張のためだけに
一般公開してISOに提案したはいいけど相手にされず馬鹿にされて反論できなくて
くやしくて泣きながら盗んだバイクにガスが入ってなくて結局徒歩で走り出した
あの日15の夜、ということでいいです。
0424デフォルトの名無しさんNGNG
snprintfは書式によって出力の長さが簡単に予測できないから意味あるけど
strlcpy|catはあんまり意味ないね
0425デフォルトの名無しさんNGNG
だな。
0426デフォルトの名無しさんNGNG
strl*使おうとするやつは想像力が足りないんだと思う。
418とか無茶苦茶なこと言ってるし。
0427デフォルトの名無しさんNGNG
>>426
理解力が足りないですね。
0428デフォルトの名無しさんNGNG
str*_s を ISO に提案したのは Microsoft じゃなかったっけ
0429デフォルトの名無しさんNGNG
>>419
strl* が「必要」なんて言ってる奴はいないんじゃ?
0430デフォルトの名無しさんNGNG
strl*が必要な局面?
そんなのstrn*が必要な局面に決まってるだろ。
0431デフォルトの名無しさんNGNG
Ruby最強!
Ruby >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> C
0432デフォルトの名無しさんNGNG
hihi
0433デフォルトの名無しさんNGNG
ゼロ終端文字列
イラネ
0434デフォルトの名無しさんNGNG
2004年にstrなんとかとかいうレガシー関数の話なんてしてないで
std::string使えよ
0435デフォルトの名無しさんNGNG
>>434
何か(考えが)浅いな
0436デフォルトの名無しさんNGNG
>>435
深い英知を聞かせてもらおう
0437デフォルトの名無しさんNGNG
>>436
新しい知識を一切勉強することなしに定年まで乗り切るんだよ
最新のものに手を出し始めたらきりがないからな
0438デフォルトの名無しさんNGNG
>>437
あぁ、ごめん、私はプログラマじゃないんだ。
あまり古いことにしがみついていたら論文の一つも書けないんだよ。
もっとも、君が言うのはプログラミングの「テクニック」に関する事だろうけれど。
0439デフォルトの名無しさんNGNG
どこ行ってもCの話は荒れるな。
0440デフォルトの名無しさんNGNG
みんなRubyでCを捨てようぜ。
0441デフォルトの名無しさんNGNG
RubyとCは一心同体少女隊。
Cを捨ててRubyだけが生き残ることはありえない。
0442デフォルトの名無しさんNGNG
うぷぷpppp
0443デフォルトの名無しさんNGNG
C は Obsolete です。
0444デフォルトの名無しさんNGNG
C は Absolute です。
0445デフォルトの名無しさんNGNG
社会に下水が必要だからといって誰もが下水に降りて汚水まみれになる必要はない。
汚れ仕事は一部の人間だけで十分だ。
0446デフォルトの名無しさんNGNG
>>445
アセンブラに対してそれを言うなら分かるが
C にはあてはまらんでしょ
0447デフォルトの名無しさんNGNG
>>446
いや、言語のことじゃなくてプログラマそのもののことを言っているのじゃないかな
0448デフォルトの名無しさんNGNG
C もそうなりつつある
0449デフォルトの名無しさんNGNG
Ruby最強!
Ruby以外の言語はケロ!!!!!!!!
0450デフォルトの名無しさんNGNG
Ruby厨は祈った
「Ruby以外の言語は消えろ!」

(その願い、叶えよう)

次の瞬間、Rubyインタプリタのソースが消えてしまった!
0451デフォルトの名無しさんNGNG
UNIXなぞ問題外.^^;;;
0452デフォルトの名無しさんNGNG
CPUがRubyを解釈するようになれば無問題!!
0453デフォルトの名無しさんNGNG
まつもと様は既に世界最高の至高プログラマである。
今日もRubyを使える幸せに震える毎日です。
Ruby以外の言語はもういらない。
全てのシステムはRubyで記述されなければならない。
0454デフォルトの名無しさんNGNG
>>450
Ruby製Rubyインタプリタを作れば無問題
0455デフォルトの名無しさんNGNG
> Ruby以外の言語はもういらない。

実際そうだよな。
0456デフォルトの名無しさんNGNG
>>455
Rubyだと不満な用途はたくさんあるだろうに。
0457デフォルトの名無しさんNGNG
Rubyも気の毒だよな
こんな基地外に付きまとわれて
0458デフォルトの名無しさんNGNG
それだけRubyは素晴らしいということだ。
0459デフォルトの名無しさんNGNG
まつもとの失言暴言が基地外を召還するんだから自業自得だろ。
0460デフォルトの名無しさんNGNG
失言ってあの「C++なぞ問題外」のことか?
いい加減しつこい奴等だな。
0461デフォルトの名無しさんNGNG
そんなのほんの一部^^;;;
0462デフォルトの名無しさんNGNG
>>382
Cでやるなら、こんななんちゃってじゃなくて、
glibのgstring.h使った方がいい。
0463デフォルトの名無しさんNGNG
Theo は de Raadt です。
0464デフォルトの名無しさんNGNG
>>462
glibなんてリンクするかよボケ(^^)
0465デフォルトの名無しさんNGNG
もうstr*ネタはいいだろ
もっとUNIXスレらしい話すれ
0466デフォルトの名無しさんNGNG
時々無意味な事で議論するよな、このスレ。
0467デフォルトの名無しさんNGNG
glibはクソglibはクソglibはクソglibはクソglibはクソglibはクソglibはクソglibはクソglibはクソglibはクソ
0468デフォルトの名無しさんNGNG
また原理主義者か
0469デフォルトの名無しさんNGNG
体制に正義は成し得ない
0470デフォルトの名無しさんNGNG
U
0471デフォルトの名無しさんNGNG
N
0472デフォルトの名無しさんNGNG
K
0473デフォルトの名無しさんNGNG
OpenBSD
0474デフォルトの名無しさんNGNG
Kde
0475デフォルトの名無しさんNGNG
Unicode
0476デフォルトの名無しさんNGNG
Ssl
0477デフォルトの名無しさんNGNG
Apache
0478デフォルトの名無しさんNGNG
Linuxのlinux/list.hに

#define INIT_LIST_HEAD(ptr) do { \
(ptr)->next = (ptr); (ptr)->prev = (ptr); \
} while (0)

こういう個所があったのですが、このdo{...}while何を意味しているんでしょうか?
0479デフォルトの名無しさんNGNG
復文をマクロ化する時の定石。

if (x) macro(a); else hoge();

と書いても誤動作しない。(forやwhile等でも同じ)
0480デフォルトの名無しさんNGNG
>>479
あー、なるほど。

あとlist.hを見ていて思ったのは、ある構造体の定義に
struct list_head {struct list_head *next, *prev;};
という構造体そのもの(ポインタではない)を入れておいて、
この値に他の構造体のstruct list_headのアドレス値を入れて
各要素間の関係を表すのは分かりましたが、ここから、
その構造体のメンバのアドレスはどうやって取得したらいいんでしょうか?
0481デフォルトの名無しさんNGNG
struct hoge{
struct list_head list;
/* ユーザ定義データ */
};
みたいな感じで使う。
0482デフォルトの名無しさんNGNG
>>481
linux/device.h にはdevice_driver構造体のような
struct device_driver {
char* name;
struct bus_type* bus;
struct semaphoreunload_sem;
struct kobjectkobj;
struct list_headdevices;

というようにlist_headが構造体の頭にないものもありました。
他にもこういうものはあるようです。この場合、次のオブジェクトの
devicesのアドレスから、どうやって"name"や"bus"といったメンバの
値を取得したらいいのでしょうか。

っていうかソース読んできます。
0483デフォルトの名無しさんNGNG
あ、tabが入ってました。すみません。
struct device_driver {
char * name;
struct bus_type * bus;
struct semaphore unload_sem;
struct kobject kobj;
struct list_head devices;
struct module * owner;
int (*probe)(struct device * dev);
int (*remove)(struct device * dev);
void (*shutdown)(struct device * dev);
int (*suspend)(struct device * dev, u32 state, u32 level);
int (*resume)(struct device * dev, u32 level);
};
0484デフォルトの名無しさんNGNG
>>482
list.hのlist_entryマクロだろう。
0485デフォルトの名無しさんNGNG
>>484 どうもです。このようにtypeof()に依存した形での実装となってました。

[[[ linux/stddef.h ]]]
#undef offsetof
#ifdef __compiler_offsetof
#define offsetof(TYPE,MEMBER) __compiler_offsetof(TYPE,MEMBER)
#else
#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
#endif

[[[ linux/kernel.h ]]]
#define container_of(ptr, type, member) ({\
const typeof( ((type *)0)->member ) *__mptr = (ptr);\
(type *)( (char *)__mptr - offsetof(type,member) );})

[[[ linux/list.h ]]]
#define list_entry(ptr, type, member) \
container_of(ptr, type, member)

こんな感じに使うみたいです。
struct device_driver * nextdd = list_entry(p_dd->next, struct device_driver, devices);
0486デフォルトの名無しさんNGNG
;
0487485NGNG
linux-2.4.27ではlist_entryはこのようなシンプルな形でした。

#define list_entry(ptr, type, member) \
((type *)((char *)(ptr)-(unsigned long)(&((type *)0)->member)))

なんで2.6でああいう面倒な形になったのか分かる人はいますか?
0488デフォルトの名無しさんNGNG
Cで自分自身のプロセスIDの取得方法を教えてください。
0489デフォルトの名無しさんNGNG
>>488
#include <sys/types.h>
#include <unistd.h>

pid_t getpid(void);
0490デフォルトの名無しさんNGNG
>>489
いかにもマニュアルからコピペしたけど空白消すのめんどくさかった感じがいいね.
0491デフォルトの名無しさんNGNG
>>490
「そんなんCじゃないだろ」「うっせー、ここはUNIXスレだ。POSIXだってOKだろ」
「ふざけんな、"Cで〜"って書いてあんだろ」
って質問者無視した罵りあいが読めなかったのは残念だが。
0492デフォルトの名無しさんNGNG
>>489
そんなんCじゃないだろ
0493デフォルトの名無しさんNGNG
どこがCじゃないんだよヴォケ
0494デフォルトの名無しさんNGNG
ANSI C で、とは書いてない罠
0495デフォルトの名無しさんNGNG
メモリ操作だけでPIDを算出しろ
0496デフォルトの名無しさんNGNG
というかこんなに引っ張るほどのネタか
0497デフォルトの名無しさんNGNG
自作自演だろ
0498デフォルトの名無しさんNGNG
496=497
0499デフォルトの名無しさんNGNG
zlibって暗号化zipの圧縮・伸長もできるんですか?
0500デフォルトの名無しさんNGNG
そんな餌で――
0501デフォルトの名無しさんNGNG
皮って良く伸びるんだよね
0502デフォルトの名無しさんNGNG
>>499
できる
0503デフォルトの名無しさんNGNG
CPUの数を取得する方法を教えてください
0504デフォルトの名無しさんNGNG
>>503
sysctl や /proc/cpuinfo で取れるカモ
0505デフォルトの名無しさんNGNG
ファイルを作成するときに既に存在する名前だったら名前に番号をつけて
作成したいんですが、ディレクトリ内のファイル一覧を取得するシステムコール
とかライブラリは有りませんか?
0506デフォルトの名無しさんNGNG
>>505
「既にファイルが存在していたら書き込み用オープンに失負する」て
開き方のがあったと思うが忘れた。たしか fopen() か open()。
0507デフォルトの名無しさんNGNG
man opendir
0508デフォルトの名無しさんNGNG
>>506
open(2): O_EXCL | O_CREAT

fopen(3)は駄目。FILE *にしたければ、open(2)してから、fdopen(3)
0509デフォルトの名無しさんNGNG
>>505
一覧を取得する必要はないんでないかい?

fname = 最初の名前
for (i = 0; stat(fname, ...) == 0; i++) {
fname = 最初の名前に i を混ぜたもの;
}
fp = fopen(fname, ...);
0510デフォルトの名無しさんNGNG
>>506,507
506のそれは考えましたが、すでに連番でファイルが多数あると遅くなりそうだったので。
man opendirで出てきたscandirで出来そうです。
返答ありがとう。
0511デフォルトの名無しさんNGNG
>>506
「失負」ってなに?
0512デフォルトの名無しさんNGNG
そうして移植性の低いプログラムがまた一つ。
0513デフォルトの名無しさんNGNG
>>508,509
お二人もどうもです。

>>512
scandirのこと?

というか調べるにはひとつひとつ照合していかないといけない、
他に方法は無いのは当り前ですね。
そこに気付かなかった、我ながら阿呆でした。
scandirはむしろソートしたりで509のが良さそうなので509のやります。
0514デフォルトの名無しさんNGNG
for (i = 0; stat(fname, ...) == 0; i++) {
fname = 最初の名前に i を混ぜたもの;
}
と
fp = fopen(fname, ...);
の間でfnameと同じ名前を持つファイルを作られたら・・・
まあまずそんなことは起きないと思うけど。
0515デフォルトの名無しさんNGNG
>>510
それだとレース状態が存在する。O_EXCLが正解。
0516デフォルトの名無しさんNGNG
素直にEXCLを使いたがらない人間がこんなにもいることにおじさんびっくりだよ。
0517デフォルトの名無しさんNGNG
アトミック操作というものですネ!!!
0518デフォルトの名無しさんNGNG
EXCEL使えよ
0519デフォルトの名無しさんNGNG
Windows使えよ
0520505&510NGNG
man斜め読みでO_EXCLをファイルが存在しなかったらエラーになる
と勘違いしていて508が??でした。
manちゃんと読んで今はきちんと理解できました。
皆さんありがとう。

ところで
Advanced Programming in the UNIX(R) Environmentって日本語訳版は無いんですか?
0521デフォルトの名無しさんNGNG
>>520
詳解UNIXプログラミング
http://www.amazon.co.jp/exec/obidos/ASIN/4894713195/
0522デフォルトの名無しさんNGNG
C言語でunsigned long以上の数字の書かれた文字列を整数に変換して、16進数に変換したいのですが何かいい方法はないでしょうか?
0523デフォルトの名無しさんNGNG
>>522
普通にatoiとsprintfじゃだめなのか?
0524デフォルトの名無しさんNGNG
>>522
gmp
0525デフォルトの名無しさんNGNG
UNIXにまったく関係ない
0526デフォルトの名無しさんNGNG
Windowsならint64のprintfとかできるよ
UNIXではできないんじゃないかなあ
0527デフォルトの名無しさんNGNG
>>523
どうやるんですか?
0528デフォルトの名無しさんNGNG
526
0529デフォルトの名無しさんNGNG
long long intならsprintfで%llX
0530529NGNG
unsigned long long intなら
0531デフォルトの名無しさんNGNG
%llう
0532デフォルトの名無しさんNGNG
>>531
16進表示
0533デフォルトの名無しさんNGNG
atoiなんかつかうやつはぱかです
0534デフォルトの名無しさんNGNG
>>533
もっと詳しく
0535デフォルトの名無しさんNGNG
Cスレでやってたよな。atoiの問題点。ここに書くまでもないけどさ。
0536デフォルトの名無しさんNGNG
つよそうな関数がいろいろ載ってるけど

DESCRIPTION
The strtoul() function converts the string in nptr to an unsigned long
value. The strtoull() function converts the string in nptr to an
unsigned long long value. The strtoumax() function converts the string
in nptr to an uintmax_t value. The strtouq() function converts the
string in nptr to a u_quad_t value.

sprintfがありなのだkら、sscanfもありですか?
0537デフォルトの名無しさんNGNG
_
0538デフォルトの名無しさんNGNG
保守しておこう
0539デフォルトの名無しさんNGNG
>>526

strtoll() は C99 の規格に含まれていて、
現役の UNIX 系 OS になら、たぶんどれにでもある。
表示の方は 529 の言う通り。

>>532

529でなにか問題が?
0540デフォルトの名無しさんNGNG
ハードウェアを制御する際に、CかC++で迷っているのですが
どちらの言語の方が性能、機能的に効率が良いのでしょうか?
0541デフォルトの名無しさんNGNG
>>540
腕次第
0542デフォルトの名無しさんNGNG
>>540
そんなのどっちでもいいよ。
強いて言うなら無駄の少ないC。
0543デフォルトの名無しさんNGNG
>>540
どーせアセンブラみながらデバッグするんだから
0544デフォルトの名無しさんNGNG
>>541-543
有難うございました。
0545デフォルトの名無しさんNGNG
消費メモリに神経質だったり、realloc必須とかならCかな
長期的に保守したり、おおざっぱでいいならC++にしとけ
0546デフォルトの名無しさんNGNG
vinelinux3.0で
scanfの%[^A]てするとAに出会うとそこで引数への入力が終ってしまいます。
123A456 だと 123しか入力されません。
123456よなるのが正しい動作ですよね?
0547デフォルトの名無しさんNGNG
いいえ
0548デフォルトの名無しさんNGNG
>>546
scanf()の文字セット指定は、その文字セットが終了した時点で変換を終了します。
したがって、123456よなりません。
0549デフォルトの名無しさんNGNG
>>547>>548
ども、一致する文字がなくなったら次に移るんですね。
0550デフォルトの名無しさんNGNG
%[1-9]
0551デフォルトの名無しさんNGNG
>>548
何気なく546に合わせているところにワラタ
0552デフォルトの名無しさんNGNG
Cだってマクロ使いまくるならC++と変わらん。
0553デフォルトの名無しさんNGNG
誤爆?
0554デフォルトの名無しさんNGNG
みなさん、パス名の配列の大きさに_POSIX_PATH_MAXを使ってます?
0555デフォルトの名無しさんNGNG
dlopen()で得られたハンドルは、プログラム終了時に全てdlclose()する必要がありますか?
0556デフォルトの名無しさんNGNG
8 個の空白でしたが、TAB のつもりですか?).
0557デフォルトの名無しさんNGNG
>>555
ない。
0558デフォルトの名無しさんNGNG
unixでグラフィックスを扱うには何を勉強したらいい?
0559デフォルトの名無しさんNGNG
>>558
具体的に何がしたいんだ?
0560デフォルトの名無しさんNGNG
ふと思ったのですが,
文書ファイルに文字を上書きをする場合は,単にwrite()で書き込みをすればそれで十分と思ったのですが,
文書ファイルに文字を挿入する場合っていったいどういう処理が行われているんでしょうか?
そのまんま考えてみると,挿入された文字以降のデータを全て移動させないといけないはずなんで,それってものすごい効率悪い処理だな〜って思い,気になってしまいました.
0561デフォルトの名無しさんNGNG
何か聞こえたような気がする
0562デフォルトの名無しさんNGNG
>>558
グラフィックスを表示する→GTK+
画像処理する→C
0563デフォルトの名無しさんNGNG
GTKなんて軟弱なもの使ってないでXlibの勉強しなさい。
0564デフォルトの名無しさんNGNG
>>563
それ生で使っている人っているの?
0565デフォルトの名無しさんNGNG
個人的には GTK より Qt の方が分かりやすかった.
0566デフォルトの名無しさんNGNG
>>564
います
0567デフォルトの名無しさんNGNG
>>566
私は画像処理とかが専門ではないのでGUI関連のライブラリとかについてもよく
知らないけれど、簡単に書ければ別になんでも良いと思っているんだ。
そんなことよりも勉強しないといけないことがたくさんある。
0568デフォルトの名無しさんNGNG
はあ、そうですか。がんばってくださいね。
0569デフォルトの名無しさんNGNG
gtkか。
新しいクラスのために延々定型コード書くのがめんどかった記憶があるがアレは改善されたのだろうか。
0570デフォルトの名無しさんNGNG
>>558
グラフィックスを作りたいのか、解析したいのか
単なるGUIでいいのかで変わるだろ。
0571デフォルトの名無しさんNGNG
画像処理とGUIは近いようで、ぜんぜん遠い。
0572デフォルトの名無しさんNGNG
>>560
70年代ならUNIXのfile systemは特殊だったから、
その質問もこのスレでやる意味があるけど、
今や全てのシステムでfile systemがUNIX流になったから、
その質問は他の板でやった方がいいよ。

効率が悪いのが気になるような場合は、
それなりの構造を持たせるってだけですが。
0573デフォルトの名無しさんNGNG
まさか今時ひとつのファイルで切った貼ったしないしね。
0574デフォルトの名無しさんNGNG
>>560
まさか今時ひとつのファイルで切った貼ったしない。死ね。
0575573NGNG
>>574
やってくれたねw
0576572NGNG
ごめん
>>572
> 他の板で
< 他のスレで
の間違い。
0577デフォルトの名無しさんNGNG
UNIX厨はこれだから(ゲラ
0578デフォルトの名無しさんNGNG
>>560
テキストエディタでも作るのかい?
0579デフォルトの名無しさんNGNG
kill PIDで殺される時に、殺される前にログファイルに殺されましたと書き出したいのですが、どうしたら実現できるでしょうか?
0580デフォルトの名無しさんNGNG
SIGKILLをトラップしてログファイルに「殺されました」と書き出す。
0581デフォルトの名無しさんNGNG
>>580
デフォールトはSIGTERMです。

>>579
man signal(3)
0582デフォルトの名無しさんNGNG
>>579
SIGKILL受信時にsyslogに出力するようにkernelをhack
0583デフォルトの名無しさんNGNG
>>580
つーか、SIGKILLトラップできたっけ?

>>579
そのプロセスを監視するプロセスを作るのも一つの手。
0584デフォルトの名無しさんNGNG
SIGKILLトラップできちゃ非常手段としての意味ねーだろ。
0585560NGNG
>>572
貴重なご意見ありがとうございました.
他のスレで改めて質問してみます.
>>578
いえいえ,ファイルの入出力について勉強をしているところで,ふと湧いて出た
疑問点なだけなんで,まだまだ作るとかそういう意図は特にないです.
0586デフォルトの名無しさんNGNG
>>560
a) 1ファイルで読み書きするよ
    1. 挿入ポイントからバッファ1に読み込み
    2. 挿入する内容を書き込み
    3. 1. で読み込んだ後ろをバッファ2に読み込み
    4. バッファ1を 2. の後ろに書き込み
    5. 3〜4 繰り返し
b) 2ファイルで安全に読み書きするよ
    1. 挿入ポイントまで新しいファイルにコピー
    2. 挿入する内容を新しいファイルに追加
    3. 挿入ポイント以降を新しいファイルに追加
    4. ファイル名変更
c) OSに任せちゃうよ
    1. ファイルをメモリにマップ
    2. メモリ上で移動
    3. クローズ
0587デフォルトの名無しさんNGNG
クラスタ分かれてることを利用して高速化とかできないのかね
0588デフォルトの名無しさんNGNG
ここがLinuxプログラミングスレも含んでいるとして、皆さんはどうやって
gdb の使い方をマスターしましたか?
少しずつ使い方を覚えていくものでしょうか?
0589デフォルトの名無しさんNGNG
普通はそうなんじゃないの?
大抵は「バックトレース出せ」と言われて起動の仕方とbtコマンドを
最初に覚えると思うが。
0590デフォルトの名無しさんNGNG
(-_-)
0591デフォルトの名無しさんNGNG
>>588
GUI版でかつ、CUIでも利用可能なフロントエンドから始めたら?
ddd, insight, xxgdbなど
0592デフォルトの名無しさんNGNG
CUI版なんていらんと思う
0593デフォルトの名無しさんNGNG
>>588
他の、GUIでとっつきやすいデバッガから練習しとけ。
デバッガとはどんなものかがわかったら、あとはgdbの使い方を学習するだけだ。
0594デフォルトの名無しさんNGNG
>>592
GUIで全部網羅してたらごちゃごちゃして逆に使いにくいので
GUIはよく使う機能に限定してすっきりさせて、あまり使わない機能をCUIでさくっと指定ってのがいいのでは
と適当なことを言ってみるテスト
0595デフォルトの名無しさんNGNG
CUIの利点は画面のログが簡単に取れることぐらいしかない
GUIだとそういう機能を用意しない限りできないからね
だからGUI機能が充実していればCUIがいらないと言う意味では同意
0596デフォルトの名無しさんNGNG
あまりツールが使いこなせていない人達のスレですか?
0597デフォルトの名無しさんNGNG
UNIXでデバッグなんて(プ
ご苦労さん
0598デフォルトの名無しさんNGNG
>>597
おっしゃる意味がわかりかねます
0599デフォルトの名無しさんNGNG
>>595
user define command
command BNUM ... end
0600デフォルトの名無しさんNGNG
親プロセスが子プロセスの終了を検知するために、シグナルハンドラ内部で
SIGCHLDを捕捉して、waitpid()を実行するように実装しました。
void signlahandler(int signum)
{
 signal(signum, signlahandler);  //☆
 if(signum == SIGCHLD)
  waitpid(0, NULL, WNOHANG);
 //★
}
しかし、☆でシグナルハンドラの再設定すると、その時点でさらにSIGCHLDを
受信してしまい、延々とsignalhandler関数が呼び出されて
スタックオーバーフローとなりCoreを吐いてプロセスが異常終了してしまいます。
HPUXとAIXでこの現象が発生し、HPUXのmanのwaitpid()にはこの事が
書かれていました。正常に動作させるためには★の位置でシグナルハンドラの再設定を
しなければならないのですが、なぜこのような仕様なのでしょうか?
ちなみにAIXでは、waitpid()を実行せずに、★か☆の位置で再設定すると
同様にCoreを吐いて終わります。
説明が下手で意味がわからないかもしれませんが…知っている方がいましたら教えて下さい。
0601デフォルトの名無しさんNGNG
シグナル落とさずに再登録か
0602デフォルトの名無しさんNGNG
>>600
sigaction
0603デフォルトの名無しさんNGNG
共有メモリの使い方について教えてください。

sys/shm.hを使って
if((shmid = shmget(key,100, IPC_CREAT | 0666)) < 0) {
perror("shmget");
exit(1);
}
といった事をしたいのですが、引数の100の所を200とか
大きな数字にすると実行時Invalid argumentといったエラーが出ます。
/proc/sys/kernel/shmmaxのファイルには33554432と書かれていたので、
33Mまで共有メモリを使えるということなのかな?と考えているのですが、
なにがまずいのでしょうか。

環境はRedHat Advanced Server Version1.2です。
0604デフォルトの名無しさんNGNG
キーが既にある共有メモリの場合は当然それより大きいサイズはとれない。
0605デフォルトの名無しさんNGNG
スレが違うかもしれないが質問します。

googleの検索結果って、
PERLで動いているの?JSP?PHP?
0606デフォルトの名無しさんNGNG
Brainfuck
0607デフォルトの名無しさんNGNG
googleの検索結果が返るレスポンスの微妙なディレイに癖があってそれが
Delphiの挙動によく似てるんだよな。だからたぶんDelphiに間違いないよ。
0608デフォルトの名無しさんNGNG
googleの検索結果が返るレスポンスの微妙なディレイに癖があってそれが
GNU Emacs の挙動によく似てるんだよな。だからたぶん GNU Emacs に間違いないよ。
0609デフォルトの名無しさんNGNG
googleの検索結果が返るレスポンスの微妙なディレイに癖があってそれが
田中の挙動によく似てるんだよな。だからたぶん田中に間違いないよ。
0610デフォルトの名無しさんNGNG
>>605
検索結果は HTML です。間違いない。
0611デフォルトの名無しさんNGNG
UNIXにはDelphiみたいな、C以外の言語でバイナリを吐くコンパイラってないの?
どれもCへのトランスレータばっかり。
0612デフォルトの名無しさんNGNG
>>611
何か不満でも?
0613デフォルトの名無しさんNGNG
>>605です。
というのも
http://www.google.co.jp/search?&num=ie=UTF-8&oe=UTF-8&hl=ja&lr=lang_ja&q=UNIX

searchと?の間って、よくsearch.cgiとか見られるから、
格張子はあるはずだよね・・・わかんないけど。
ちなみにphpもjspもcgiもplもだめですた。_| ̄|○
0614デフォルトの名無しさんNGNG
>>613
くそしてねなさい
0615デフォルトの名無しさんNGNG
奇妙な荒らしでしたね
0616デフォルトの名無しさんNGNG
突然ですがすいません

*command line*: 指定されたライブラリlibmath.aがありません。

このようにでるのですが、いろいろ検索してみましたがよくわかりませんでした。
libmath.aがUNIX標準の数学ライブラリ?ということはわかりましたが
結局何をすればよいのでしょうか??
0617デフォルトの名無しさんNGNG
風呂入って寝ろ。
0618デフォルトの名無しさんNGNG
libmath.aを使わない様にプログラムを書き直す
とか
0619デフォルトの名無しさんNGNG
>>617
黙れボケ。
>>618
フザケンナ。

0620デフォルトの名無しさんNGNG
-lm
0621デフォルトの名無しさんNGNG
突然ですがすいません

*command line*: 指定されたライブラリlibmath.aがありません。

このようにでるのですが、いろいろ検索してみましたがよくわかりませんでした。
libmath.aがUNIX標準の数学ライブラリ?ということはわかりましたが
結局何をすればよいのでしょうか??
0622デフォルトの名無しさんNGNG
>>621
人間のクズだな。お前。
0623616NGNG
619と621は私ではありません。

>>618
 すいません、具体的にはどうすればよいのでしょうか
>>620
 調べていたらそんな文字列は出てきましたがよくわからないのです・・・・。
0624デフォルトの名無しさんNGNG
*command line*: ←これがムカツク
0625616NGNG
>>624
そのようなことを言われてもテメェの顔の方がムカつきます。

0626616NGNG
>>625
 あなた誰ですか
0627616NGNG
>>626
あなた誰ですか

私はタモリです。

0628デフォルトの名無しさんNGNG
libm.aじゃないのか
0629デフォルトの名無しさんNGNG
>>616
>結局何をすればよいのでしょうか??
コンパイラにlibmath.aのありかを教える
0630616NGNG
>>629
 どうやらlibmath.aが無いみたいなのでネットで探してDLしてみます
 
0631デフォルトの名無しさんNGNG
>>616
だからlibm.aだってば
0632デフォルトの名無しさんNGNG
つーか、根本的な勘違いをしている悪寒。
何をコンパイルしているのか、コマンドラインを晒してみ。
0633デフォルトの名無しさんNGNG
>>631
おいらもそうは思うんだけど
libmath.aってのもぐぐると引っかってくるんだよね
0634616NGNG
>>631
 あの・・荒らしとかでなくて本当に言っている意味がわかりません
>>632
flood > make
f90 -o dmomout main.o aci.o acj.o afi.o afj.o cfp.o nn.o nc.o zz.o -lma
th
ld *command line*: 指定されたライブラリlibmath.aがありません。
f90 fatal : ld command error : 1
*** Error code 1 (bu21)
make: fatal error

これのことですか?
0635デフォルトの名無しさんNGNG
だっふんだ。
0636デフォルトの名無しさんNGNG
>>634
まず、ifconfig っていうコマンドうって、IPアドレス調べて、それを教えてください。

0637616NGNG
>>636
 IPアドレスで何かわかるんですか?

0638デフォルトの名無しさんNGNG
私がtelnetで接続して代わりにやってあげます。

0639デフォルトの名無しさんNGNG
いい加減スルーしようぜ
0640デフォルトの名無しさんNGNG
ただしそれがローカルIPなら無理ですが。
ルータで設定してくれればOKです。
0641デフォルトの名無しさんNGNG
>>638
ほんとこのスレみてるともどかしくてそう思うことはよくある
悪いことしないからさw
0642616NGNG
なんかあまりにも素人すぎた質問だったみたいですね。
荒らしのつもりではなかったのですが失礼しました。

もっと自分で調べて出直してきます。

お騒がせしました。
0643デフォルトの名無しさんNGNG
>>642
教授にはきけないよな?じゃあ、友達に聞くとか...(プログラム詳しい友達がいれば)


0644デフォルトの名無しさんNGNG
>>634
f90ってフォートランか。which f90して表示されたディレクトリ近傍にあるんじゃない?
0645603NGNG
ありがとうございました。>>604
もう一度調べてみます。
0646デフォルトの名無しさんNGNG
この程度の質問にもアタフタするUNIX厨(ハゲ
0647たなーかNGNG
>>609
ばれちゃった…
0648デフォルトの名無しさんNGNG
壮大な釣りだったな
0649デフォルトの名無しさんNGNG
Unix で指定した2つの日付の間に
日数を取得する方法を教えてちょんまげ
0650デフォルトの名無しさんNGNG
>>649
http://pc5.2ch.net/test/read.cgi/linux/1100184840/401
0651デフォルトの名無しさんNGNG
フォークの仕方を教えてください
0652デフォルトの名無しさんNGNG
>651
人差指と中指の間に強く挟んで、最後に抜くようにリリースする。
0653デフォルトの名無しさんNGNG
野球は知らんよ
0654デフォルトの名無しさんNGNG
>>651
fork();をコールする
戻り値で親の動作をするか子の動作をするかを決める
それだけ
0655デフォルトの名無しさんNGNG
>>652
手首を動かさないようにするのも重要だぞ
0656デフォルトの名無しさんNGNG
struct sockaddr はどういうメンバで構成されているんですか?
/usr/include をgrepしても見つけられませんでした。
一応↓これみつけたんですけど違うだろうし。

#ifdef __USE_BSD
/* This is the 4.3 BSD `struct sockaddr' format, which is used as wire
format in the grotty old 4.3 `talk' protocol. */
struct osockaddr
{
unsigned short int sa_family;
unsigned char sa_data[14];
};
#endif
0657デフォルトの名無しさんNGNG
>>656
そういうときは、/usr/include/*をgrepしてみるべし
0658デフォルトの名無しさんNGNG
>>656
マジレスすると sa_family の値によって中身が変わる( sockaddr_in とか )から、
sockaddr そのものの sa_family 以外のメンバにはあまり意味は無い。
単に場所確保してるだけ (placeholder と言ふ)。
0659デフォルトの名無しさんNGNG
>>657
見つかりました。
grep -rw 'struct sockaddr' /usr/include/*
で探してたんですけど見落としてただけでした。
sys/以下もviで開いて検索してたのになんで気付かなかったのか、
これだけに2時間ぐらい掛かってしまった。
2時間の成果↓

struct sockaddr {
sa_family_t sa_family;
char sa_date[14];
}
0660デフォルトの名無しさんNGNG
>>658
ども。
getaddrinfoしてinet_ntopしたかったんですけどAF_INETを指定すると
struct in_addrへのポインタとみなされるって
とりあえずそのままai_addrを引数にしてみたけどやっぱりダメで、
どうすれば良いのか分からなかったのでとりあえずメンバを見てみようと思いました。

getaddrinfoってgethostbynameと違ってWEB上に手取り足取りの情報がまったくないんですね。
0661デフォルトの名無しさんNGNG
探し方が悪いんだろうな
0662デフォルトの名無しさんNGNG
>>647
やっぱり田中さんは四六時中webサーフィンしてるんですか?
0663デフォルトの名無しさんNGNG
>>660
こんな感じじゃないの?
char buf[1024];
struct addrinfo *res = NULL;
if (getaddrinfo("localhost", "ftp", NULL, &res) == 0)
{
 while (res)
 {
  char* p = inet_ntop(res->ai_addr->af_family, res->ai_addr, buf, sizeof(buf));
  printf("%s\n", buf);
  res = res->ai_next;
 }
 freeaddrinfo(res);
}
0664デフォルトの名無しさんNGNG
find /usr -type f -name '*.h'|xargs grep 'struct *sockaddr' /dev/null
定型句だからスクリプトを作っておいてもいいね。
0665デフォルトの名無しさんNGNG
おれfind嫌い。
0666デフォルトの名無しさんNGNG
656は色々苦労する時間でもってバイトしてその金で本買う方が
トータルの所要時間は短くなるだろうな。
0667デフォルトの名無しさんNGNG
Emacsはgrepやファイン怒の結果を保存しておけるからな。マジお勧め。
0668デフォルトの名無しさんNGNG
Emacsならmoccur使えや
0669656NGNG
>>663
第2引数がres->ai_addrだとバッファには入りますがちんぷんかんぷんなものになります。

>>664
find /usr -type f -name '*.h'|xargs grep "$1" /dev/null
ですよね。作っときます。

>>665
とりあえずこれ買ってみます。
http://www.amazon.co.jp/exec/obidos/ASIN/4274065197/250-2073039-8082631

>>667
アルファベットと数字、enter、shift、capsLock、esc、コロンの縦列以外の正打率が
60%ぐらいなのでemacsは敬遠していましたが使ってみます。
0670デフォルトの名無しさんNGNG
gerpの使い方教えろや ボケ。
0671デフォルトの名無しさんNGNG
no manual entry for gerp
0672デフォルトの名無しさんNGNG
おい、すごい沢山ヒットするぞ
http://www.google.co.jp/search?num=20&hl=ja&c2coff=1&q=gerp&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja
0673デフォルトの名無しさんNGNG
>>663
>   res = res->ai_next;
>  }
>  freeaddrinfo(res);
freeaddrinfo() に渡すのは getaddrinfo() で返されたポインタそのものじゃないとダメよ。

>>660
あえて inet_ntop() を使うんなら、こんな感じかな。
---
if(res->ai_family == AF_INET6){
inet_ntop(AF_INET6,
&(((struct sockaddr_in6 *)res->ai_addr)->sin6_addr),
buf, sizeof(buf));
printf("%s\n", buf);
} else if(res->ai_family == AF_INET){
inet_ntop(AF_INET,
&(((struct sockaddr_in *)res->ai_addr)->sin_addr),
buf, sizeof(buf));
printf("%s\n", buf);
}
---
けど、こういう場合は getnameinfo() を使うのが常套手段。
0674673NGNG
getnameinfo() を使ったバージョンはこんな感じ。
---
struct addrinfo hints, *res, *res0;
char hbuf[NI_MAXHOST], sbuf[NI_MAXSERV];

memset(&hints, 0, sizeof(hints));
hints.ai_family = AF_UNSPEC;
hints.ai_socktype = SOCK_STREAM;
if (getaddrinfo("www.kame.net", "http", &hints, &res0) == 0) {
for (res = res0; res; res = res->ai_next) {
if (getnameinfo(res->ai_addr, res->ai_addrlen,
hbuf, sizeof(hbuf), sbuf, sizeof(sbuf),
NI_NUMERICHOST | NI_NUMERICSERV) == 0) {
printf("host=%s, serv=%s\n", hbuf, sbuf);
}
}
freeaddrinfo(res0);
}
---
マニュアルページを読めばわかるが、getnameinfo() は非常に強力なんで
大抵の場面で使える。

とりあえず、↓これは必携。
http://www.ascii.co.jp/books/detail/4-7561/4-7561-4236-2.html
0675デフォルトの名無しさんNGNG
>>660
> getaddrinfoってgethostbynameと違ってWEB上に手取り足取りの情報がまったくないんですね。

http://www.soi.wide.ad.jp/class/20030030/materials_for_student/11/osamuNP11ver1.0.ppt
サンプルプログラム(URL)あり。
0676デフォルトの名無しさんNGNG
みんな釣られて探してるし
見つかっても教えないくらいの余裕を持て
0677デフォルトの名無しさんNGNG
>>660
…(堪えてる)…
0678デフォルトの名無しさんNGNG
age
0679デフォルトの名無しさんNGNG
保守
0680デフォルトの名無しさんNGNG
しゅ
0681デフォルトの名無しさんNGNG
捕手
0682デフォルトの名無しさんNGNG
>>672
8番目クリックしたらここだった(笑)
0683デフォルトの名無しさんNGNG
grepコマンドのスレッド作ったら?
0684デフォルトの名無しさんNGNG
fopenでオープンしたファイルをオープンしたままの状態で(fcloseせずに)
中身をゼロバイトにする方法ってあるんでしょうか?
やはり、クローズしてからwモードでオープンしないと駄目なんでしょうか?

rewindしてから上書きしても前の内容が残っていて不都合がでるんです。
オープン直後にファイルをロックしているので、
クローズせずにオープンしたままの状態でファイルサイズをゼロにしたいのです。

つまりこのようにしたいのです。

log = fopen(LOG,"r+")
flock( fileno(log), LOCK_EX );
fgets(buf, MAXLEN, log)

//ここでファイル(logの)サイズをゼロにしたい

fprintf(log, " //

fclose(log);
flock( fileno(log), LOCK_UN );
0685デフォルトの名無しさんNGNG
man ftrancate(2)
0686デフォルトの名無しさんNGNG
au, 綴り間違った…

ftruncate(2)
0687デフォルトの名無しさんNGNG
freopen(3)
0688デフォルトの名無しさんNGNG
>>687
freopen(3)は、fclose(3)しちゃうので、その時にlockが外れます。
0689デフォルトの名無しさんNGNG
うんこ
0690デフォルトの名無しさんNGNG
>>684
アンロックはクローズと一緒にやりな。
0691デフォルトの名無しさんNGNG
>>685-690
解決しました。どうもありがとうございました。

ftruncateは現在プログラム内でオープンしているファイルに対しての
操作は出来ないのかなと思っていたのでftruncateのことは無視してました(藁

ていうか>>684は別スレに書き込んだ質問なのに
勝手にこっちにコピペされてた(藁


0692デフォルトの名無しさんNGNG
>>691
逆だよ。オープンしていなければ使えないんだよ。
0693デフォルトの名無しさんNGNG
>>691
open→fopenって類推しちゃったのかも知れないけど、
stat→fstatと同じ関係ね。

しかしこれ名前をfdtruccate, fdstatにするべきだったな。
0694691NGNG
カウンターを作る途中で躓いていただけです。
で、ソースはこうなったので問題は解決です。

fclose(log);
if((log = fopen(LOG,"w")) == NULL){
printf("ダメぽ");
return FALSE;
}

    ↓

ftruncate(fileno(log), 0);
rewind(log);
0695誰か教えてください!2NGNG
ファイルarg-test1 の内容が
#!/bin/sh
echo $#
echo $1 $2 $3 $11 $12
shift 2
echo $1 $2 $3 $11 $12
のとき,
./arg-test1 1 2 3 4 5 6 7 8 9 10 11 12
を実行して,$#, $1 $2 ...,shiftの意味を確認 せよ.
(ヒント: script 中の 11, 12 を 21,22 に変更してみ よ.)

0696誰か教えてください!2NGNG
1)ファイルarg-test の内容が
#!/bin/sh
for i
do
echo $i
done
echo '$*'
for i in $*; do
echo $i
done
echo '"$*"'
for i in "$*"; do
echo $i
done
echo '$@'
for i in $@; do
echo $i
done
echo '"$@"'
for i in "$@"; do
echo $i
done
のとき,
./arg-test abc def "abc def"
と入力した結果を参考にし,$@ と $* の差を説明しろ.
2)上記問題で,./arg-testと,./ を指定している理由を考えろ.
695です。すみませんがよろしくお願いします!!!

0697デフォルトの名無しさんNGNG
縦読み?
0698誰か教えてください!2NGNG
はい。まじでよろしくおねがいします!!
今日までのレポなんです‥
0699デフォルトの名無しさんNGNG
結果を参考にしと書いてあるのに結果すら出さない、
そんな奴は落第してしまえ。
こんなの通しても世のためにならじ。
考えろって書いてあるのに自分で考える気ゼロじゃねーか。
0700デフォルトの名無しさんNGNG
ネタにマジレスすんな
0701デフォルトの名無しさんNGNG
はい次の方〜。
0702デフォルトの名無しさんNGNG
ここはいつから宿題スレになったんですか?
0703デフォルトの名無しさんNGNG
もうその瞬間は過ぎました。
0704デフォルトの名無しさんNGNG
>>696
${@+"$@"}がないのは納得がいかねえ。
0705デフォルトの名無しさんNGNG
dup2(fd, STDIN_FILENO);
dup2(fd, STDOUT_FILENO);
close(fd);
execlp("cat", "cat", NULL);

としたのですが、
fdに何か書き込んでも、
fdから何も出てきません。
何がいけないんでしょうか。
0706デフォルトの名無しさんNGNG
何をやっているかの前に、何がやりたいか書け。
0707デフォルトの名無しさんNGNG
>706
すいません。
TCP/IPサーバを作ってみようと思いまして、
それでまず、echoサーバを書いてみようと思ったんです。
将来的な事を考えると、
execで外部のプログラムを呼び出すかたちで、
これを実現したいのですが。
どうでしょうか。
0708デフォルトの名無しさんNGNG
execじゃなくてforkだろ
0709デフォルトの名無しさんNGNG
>708
この動作をするまえにforkしています。
echoするのをcatにやらせたいということです。
0710デフォルトの名無しさんNGNG
>>707
その前のテストプログラムを書いているんだろ?
それはどういうものを意図しているわけ?
0711デフォルトの名無しさんNGNG
>710
すいません。
質問の意図が良く分からないです。
最終的な目的は、netcatみたいなものを
自分で作れないかということです。
0712710NGNG
fork(2)はしているわけか。
cat(1)でstdinとstdoutが同じなのはまずいよ。
0713デフォルトの名無しさんNGNG
>712
>cat(1)でstdinとstdoutが同じなのはまずいよ。
コマンドラインからもやってみましたけど、
うまくいきませんね。
なぜなんでしょう。
0714デフォルトの名無しさんNGNG
なにをどうしたんだ?
0715デフォルトの名無しさんNGNG
>714
cat <hoge >hoge
としたところ。
ファイルhogeの中身が消えてしまいました。
0716デフォルトの名無しさんNGNG
fork(2)した後、

FILE *f = fdopen(fd);
while(1) {
int ch = fgetc(f);
if (ch == EOF) break;
fputc(ch, f);
}

じゃまずいのか?
0717デフォルトの名無しさんNGNG
>716
えと、外のプログラムを呼び出して、
処理するようにしたいので、
中で自分でやってしまうのでは駄目なんです。
0718デフォルトの名無しさんNGNG
助けるよ
0719デフォルトの名無しさんNGNG
>718
ありがとうございます。
0720デフォルトの名無しさんNGNG
なんだか良く分かりませんが、
今書き直したところ、
>705のやりかたでうまくいきました。
しかし、引数を付けたりするとうまくいかないみたいです。
たとえば、
execlp("cat", "cat", "-s", NULL);
などとすると駄目です。
どうしたら良いでしょうか。
0721デフォルトの名無しさんNGNG
>>717
forkしてれば中で自分でやってしまうことにはならないんだが
0722デフォルトの名無しさんNGNG
>721
そう言うことではなくて、
外のプログラムを呼んで、
それに仕事をさせたいということです。
0723デフォルトの名無しさんNGNG
ここいらでテストソースの全貌を晒してみないか?
0724デフォルトの名無しさんNGNG
>>720
入力と出力を別にしろよ。パイプ使ったり。
0725デフォルトの名無しさんNGNG
#include <stdio.h>
#include <unistd.h>
#include <signal.h>
#include <sys/wait.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>

enum{
MAX_CLIENT = 3,
PORT = 10000,
};
unsigned int NUM_C = 0;

void sigchld_handler(sig_t sig)
{
int stat;
extern unsigned int NUM_C;

signal(SIGCHLD, sigchld_handler);
wait(&stat);
NUM_C--;

printf("SIGCHLD %d\n", stat);
}
0726デフォルトの名無しさんNGNG
int main ()
{
int listenfd, connfd, nbytes;
char buf[BUFSIZ];
struct sockaddr_in servaddr;
extern unsigned int NUM_C;
pid_t pid;

signal(SIGCHLD, sigchld_handler);

if((listenfd = socket(AF_INET, SOCK_STREAM, 0)) < 0){
perror("socket"); exit(1);
}
bzero(&servaddr, sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_port = htons(PORT);
servaddr.sin_addr.s_addr = htonl(INADDR_ANY);

if(bind(listenfd, (struct sockaddr*)&servaddr, sizeof(servaddr))
< 0){
perror("bind"); exit(1);
}
if(listen(listenfd, 5) < 0){
perror("listen"); exit(1);
}
0727デフォルトの名無しさんNGNG
きたきた
0728デフォルトの名無しさんNGNG
while(1){

if((connfd = accept(listenfd, (struct sockaddr*)NULL, NULL)) < 0){
perror("accept"); exit(1);
}

if(NUM_C++ < MAX_CLIENT){
pid = fork();
if(pid == 0){ /* child */
close(listenfd);

dup2(connfd, STDIN_FILENO);
dup2(connfd, STDOUT_FILENO);
dup2(connfd, STDERR_FILENO);
close(connfd);
if(execlp("cat", "cat", NULL) < 0){
perror("execl"); exit(1);
}

exit(0);
}else{/* parent */
close(connfd);
}
}else{
close(connfd);
}
}

return 0;
}
0729デフォルトの名無しさんNGNG
こんな感じです。
このプログラムはちゃんと動きます。
その上で、catに引数を渡して動くようにしたいのです。
0730デフォルトの名無しさんNGNG
うp乙
0731デフォルトの名無しさんNGNG
>>724 も書いてるけど
親子の間はpipeでいいんじゃない?
0732デフォルトの名無しさんNGNG
>731
えーと、どういうことでしょうか。
親子間では通信する必要がないように思うんですが。
0733実験NGNG
begin-base64 644 hoge.c
I2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8dW5pc3RkLmg+DQojaW5jbHVkZSA8c2lnbmFs
Lmg+DQojaW5jbHVkZSA8c3lzL3dhaXQuaD4NCiNpbmNsdWRlIDxzeXMvdHlwZXMuaD4NCiNpbmNs
dWRlIDxzeXMvc29ja2V0Lmg+DQojaW5jbHVkZSA8bmV0aW5ldC9pbi5oPg0KDQplbnVtew0KCU1B
WF9DTElFTlQgPSAzLA0KCVBPUlQgPSAxMDAwMCwNCn07DQp1bnNpZ25lZCBpbnQgTlVNX0MgPSAw
Ow0KDQp2b2lkIHNpZ2NobGRfaGFuZGxlcihzaWdfdCBzaWcpDQp7DQoJaW50IHN0YXQ7DQoJZXh0
ZXJuIHVuc2lnbmVkIGludCBOVU1fQzsNCg0KCXNpZ25hbChTSUdDSExELCBzaWdjaGxkX2hhbmRs
ZXIpOw0KCXdhaXQoJnN0YXQpOw0KCU5VTV9DLS07DQoNCglwcmludGYoIlNJR0NITEQgJWRcbiIs
IHN0YXQpOw0KfQ0KDQppbnQgbWFpbigpDQp7DQoJaW50IGxpc3RlbmZkLCBjb25uZmQsIG5ieXRl
czsNCgljaGFyIGJ1ZltCVUZTSVpdOw0KCXN0cnVjdCBzb2NrYWRkcl9pbiBzZXJ2YWRkcjsNCgll
eHRlcm4gdW5zaWduZWQgaW50IE5VTV9DOw0KCXBpZF90IHBpZDsNCg0KCXNpZ25hbChTSUdDSExE
LCBzaWdjaGxkX2hhbmRsZXIpOw0KDQoJaWYoKGxpc3RlbmZkID0gc29ja2V0KEFGX0lORVQsIFNP
Q0tfU1RSRUFNLCAwKSkgPCAwKXsNCgkJcGVycm9yKCJzb2NrZXQiKTsgZXhpdCgxKTsNCgl9DQoJ
Ynplcm8oJnNlcnZhZGRyLCBzaXplb2Yoc2VydmFkZHIpKTsNCglzZXJ2YWRkci5zaW5fZmFtaWx5
ID0gQUZfSU5FVDsNCglzZXJ2YWRkci5zaW5fcG9ydCA9IGh0b25zKFBPUlQpOw0KCXNlcnZhZGRy
LnNpbl9hZGRyLnNfYWRkciA9IGh0b25sKElOQUREUl9BTlkpOw0KDQoJaWYoYmluZChsaXN0ZW5m
ZCwgKHN0cnVjdCBzb2NrYWRkciopJnNlcnZhZGRyLCBzaXplb2Yoc2VydmFkZHIpKSA8IDApew0K
CQlwZXJyb3IoImJpbmQiKTsgZXhpdCgxKTsNCgl9DQoJaWYobGlzdGVuKGxpc3RlbmZkLCA1KSA8
IDApew0KCQlwZXJyb3IoImxpc3RlbiIpOyBleGl0KDEpOw0KCX0NCg0KCXdoaWxlKDEpew0KCQlp
ZigoY29ubmZkID0gYWNjZXB0KGxpc3RlbmZkLCAoc3RydWN0IHNvY2thZGRyKilOVUxMLCBOVUxM
KSkgPCAwKXsNCgkJCXBlcnJvcigiYWNjZXB0Iik7IGV4aXQoMSk7DQoJCX0NCg0KCQlpZihOVU1f
QysrIDwgTUFYX0NMSUVOVCl7DQoJCQlwaWQgPSBmb3JrKCk7DQoJCQlpZihwaWQgPT0gMCl7IC8q
IGNoaWxkICovDQoJCQkJY2xvc2UobGlzdGVuZmQpOw0KDQoJCQkJZHVwMihjb25uZmQsIFNURElO
X0ZJTEVOTyk7DQoJCQkJZHVwMihjb25uZmQsIFNURE9VVF9GSUxFTk8pOw0KCQkJCWR1cDIoY29u
bmZkLCBTVERFUlJfRklMRU5PKTsNCgkJCQljbG9zZShjb25uZmQpOw0KDQoJCQkJLyoNCgkJCQkJ
0734実験NGNG
T0sgZXhlY2xwKCJjYXQiLCAiY2F0IiwgTlVMTCkNCgkJCQkJRVJSIGV4ZWNscCgiY2F0IiwgImNh
dCIsICItcyIsIE5VTEwpDQoJCQkJKi8NCgkJCQlpZihleGVjbHAoImNhdCIsICJjYXQiLCBOVUxM
KSA8IDApew0KCQkJCQlwZXJyb3IoImV4ZWNsIik7IGV4aXQoMSk7DQoJCQkJfQ0KDQoJCQkJZXhp
dCgwKTsNCgkJCX1lbHNleyAvKiBwYXJlbnQgKi8NCgkJCQljbG9zZShjb25uZmQpOw0KCQkJfQ0K
CQl9ZWxzZXsNCgkJCWNsb3NlKGNvbm5mZCk7DQoJCX0NCgl9DQoNCglyZXR1cm4gMDsNCn0NCg==
====
0735デフォルトの名無しさんNGNG
>733,734
mimeエンコーディングですか?
使ったことないんでデコードの仕方が分からないんですが...
0736デフォルトの名無しさんNGNG
わからない奴には教えないってスタンスなんでしょ、多分。
0737デフォルトの名無しさんNGNG
エンコの前に圧縮しろよ...
0738デフォルトの名無しさんNGNG
begin-base64 644 hoge.c
の次の行から734最後の====までをhoge.c.base64として保存
$ base64-decode < hoge.c.base64 > hoge.c
base64-decodeは無ければ探せばある
0739デフォルトの名無しさんNGNG
ありがとうございます。
今インストールしています。
0740デフォルトの名無しさんNGNG
一部のuudecodeコマンドも対応してたりするよ
0741デフォルトの名無しさんNGNG
$ perl -MMIME::Base64 -ne 'print encode_base64($_)' < file
0742デフォルトの名無しさんNGNG
$ perl -MMIME::Base64 -ne 'print decode_base64($_)' < file

でした…
0743デフォルトの名無しさんNGNG
FreeBSDだと

if(execlp("cat", "cat", "-n", "-u", NULL) < 0){
perror("execl"); exit(1);
}

で動いた。バッファリングとかそのへんですか?
0744デフォルトの名無しさんNGNG
ほし
0745デフォルトの名無しさんNGNG
test コマンド([ コマンド)の用法を調べ,
test コマンド(組み込み,独立どちらでも構わない)
を利用する script の例を作成せよ.
0746デフォルトの名無しさんNGNG
>>745
い・や・♪
0747デフォルトの名無しさんNGNG
UNIXといえば、
0748デフォルトの名無しさんNGNG
test コマンド(組み込み,独立どちらでも構わない)
を利用する script の例を作成せよ.
0749デフォルトの名無しさんNGNG
を利用する script の例を作成せよ.
0750デフォルトの名無しさんNGNG
例:
#!/bin/sh
/bin/test
0751デフォルトの名無しさんNGNG
wgetスタンバイ中なので、なんか、くれ。

#!/bin/sh
set -x
LC_ALL=C LANG=C; export LC_ALL LANG

script -t -c "traceroute -v -t 16 -m 64 www.funet.fi 2>&1" 2> timingfile

for I in 1 2; do
sleep 2;
clear;
scriptreplay timingfile;
done

if test -e timingfile; then rm -f timingfile; fi
if test -e typescript; then rm -f typescript; fi
0752デフォルトの名無しさんNGNG
ソケット以外で2つのプログラム間で通信を行うにはどんな方法がありますでしょうか。
機能として、1.これからデータを送るということを他方のプログラムに知らせ、
2.そしてデータを送信するという2つの処理が必要です。
signalとshmで実現しようかと思っているのですが、もっとスマートな方法はないでしょうか。
たとえばWindowsのWM_COPYDATAのように、この2つの処理を同時に行えるような機能はないでしょうか。
0753デフォルトの名無しさんNGNG
>>752
ipc使うならshmじゃなくてmsgとか。
0754752NGNG
ありがとうございます。msgについて調べてみます。
もう一つ質問なんですが、あるプログラムから外部のプログラムを実行するとき、
終了を待たずに実行してすぐ返ってくるには、
execかsystemでコマンドラインに&をつければよいのでしょうか。
0755デフォルトの名無しさんNGNG
お手軽なのはsystemで&つける。
細かく制御したいならforkしてexecする。
0756デフォルトの名無しさんNGNG
>>754
fork&execでは、自分のプロセスでfork()して起動した側は即復帰、起動された側はexec()で別プログラムに制御が移る。
だから終了も待たないしプロセスIDを得られる。
systemでは、自分のプロセスからシェルを経由して別プログラムを起動するからシェル次第。

systemで&をつければバックグランドで起動してシェルから復帰してくるからお手軽だが、
別プログラムのプロセスIDを必要とするならpopen()を使ってシェルからプロセスIDを通知してもらうとか。
まぁ、そこまでするなら>755。

#なんか、話の流れからするとpopen()でことが足りてしまうような気がするんだがw
0757デフォルトの名無しさんNGNG
そこは「w」ってつけるとこじゃねー!
0758デフォルトの名無しさんNGNG
>>752
ソケット以外でって話だけど、PF_LOCAL(PF_UNIX)は調査済み?
他にもFIFOファイルってのもあるよ。
0759デフォルトの名無しさんNGNG
>>758
> PF_LOCAL(PF_UNIX)は調査済み?
それってソケットじゃないの?
0760デフォルトの名無しさんNGNG
>>759
そうだよ。だから「ソケット以外でって話だけど」って書いてるじゃん。
単にTCP/IP以外のプロセス間通信の方法かなって思ったんで。
0761デフォルトの名無しさんNGNG
共有メモリをフルスピードでポーリング。これ最強。
0762デフォルトの名無しさんNGNG
named pipe はどう?
0763デフォルトの名無しさんNGNG
UNIXネットワークプログラミング 新版の翻訳はいつ頃でるのでしょう?
英語版は買ったのですが、日本語訳がでたらそれも買いたいので...
0764デフォルトの名無しさんNGNG
IPv6とPthread以外で何が違うの?
0765デフォルトの名無しさんNGNG
第4部がばっさり切られた。
0766デフォルトの名無しさんNGNG
システムの時刻をC言語から設定する方法を教えてください。
0767デフォルトの名無しさんNGNG
ttp://www.linux.or.jp/JM/html/LDP_man-pages/man2/settimeofday.2.html
セキュリティレベルの設定内容によっては±1秒以上の変更が禁止されている場合もある。
NTPを使ってる環境ならこっちの方が良い鴨。
ttp://www.linux.or.jp/JM/html/LDP_man-pages/man2/adjtimex.2.html
0768デフォルトの名無しさんNGNG
どうもありがとう。まさかこんな深夜にこんな早くレスがつくとは思わなかったよ。
0769デフォルトの名無しさんNGNG
http://www.linux.or.jp/JM/html/LDP_man-pages/man2/settimeofday.2.html
セキュリティレベルの設定内容によっては±1秒以上の変更が禁止されている場合もある。
NTPを使ってる環境ならこっちの方が良い鴨。
http://www.linux.or.jp/JM/html/LDP_man-pages/man2/adjtimex.2.html
0770デフォルトの名無しさんNGNG
UN板で聞いてもすぐ返事がもらえなかったので再度質問します。スマソ。

PATHの記述というか解釈方法について、BNF記法のように定義された
POSIXの規格はありますか?

目的はバギーなrealpath()の代替関数を書きたいのです。
0771デフォルトの名無しさんNGNG
age
0772デフォルトの名無しさんNGNG
realpathにbugって何? (あんな簡単な関数のどこに…)
0773デフォルトの名無しさんNGNG
バギーなのは >>770 の頭
0774デフォルトの名無しさんNGNG
簡単なシェルを作りたいと思い、コマンドラインを execv に渡せる形にするために以下のようにしました
これで良いのか、他にもっと良い方法があるのか教えてください.

#define MAX_CMDARGC 10
char *ptr, *cmdargv[MAX_CMDARGC + 1], cmdline[] = "emacs -q --load hoge.el test.txt";
int i = 0;
for (ptr = strtok(cmdline, " "); i < MAX_CMDARGC && ptr != NULL; ptr = strtok(NULL, " ")) {
cmdargv[i++] = ptr;
}
cmdargv[i] = NULL;
0775デフォルトの名無しさんNGNG
parserはlex&yaccで書くのが一般的。
0776デフォルトの名無しさんNGNG
BNF
0777デフォルトの名無しさんNGNG
777get
0778デフォルトの名無しさんNGNG
「詳解UNIXプログラミング」という本の訳は酷すぎると
思わない?
多分そんなに難しいことじゃないんだろうなぁということが
論理の破綻した説明に載せられるとわけがわからん
WEBで調べたら一発だったよ
くそ高い本買うんじゃなかった
0779デフォルトの名無しさんNGNG
>>778
論理の破綻した説明がどこかを言ってくれるとすごくありがたい.
0780デフォルトの名無しさんNGNG
例えば以下の日本語、意味わかります?たった一文字
変えたら意味が通るんだけどね

「標準入力、標準出力、標準エラー出力を、端末装置あるいは擬似
端末装置のどちらかに結びついたログインシェルを使っているので
ある」

日本語にしてみてみて読み返した時に
あれ何か変だなって気が付くだろ
普通に日本語が読み書きできる人だったらさ

こんなことの連続で日本語を日本語に訳す作業に疲れてしまって
とてもじゃないけど安心して読めない
0781デフォルトの名無しさんNGNG
訳者がDQNだからしかたない
0782デフォルトの名無しさんNGNG
訳者のドキュメンテーション能力がStevensに比べて著しく低いので、
原書買った方が得な本のうちの一つだな、APUEは。
0783デフォルトの名無しさんNGNG
>>780
俺は一読しただけでは違和感がなかった…
たぶん知識の方で勝手に脳内修正してしまったのだろう。

「〜が、〜に結びついた〜」「〜を、〜に結びつけた〜」でしょうね。
0784デフォルトの名無しさんNGNG
私見なのだが、オライリーもピアソンエデュケーションも
いわゆる名著や信頼性のある情報を扱う出版社という
イメージがある

だがピアソンの日本語訳は一般的に酷いものが多いな
0785デフォルトの名無しさんNGNG
ランボーは小林秀雄の訳でないとだめでs
0786デフォルトの名無しさんNGNG
>>782
APUE は図が良いよな
日本語版も図だけはStevensの能力を受け継いでいる
0787デフォルトの名無しさんNGNG
じゃあ次は俺が翻訳引き受けて、図も書き直すことにするか。
0788デフォルトの名無しさんNGNG
>>787
凄いなお前
なら具体的な話しをしてみ
0789デフォルトの名無しさんNGNG
>>788
?
0790デフォルトの名無しさんNGNG
>>788
人を試すな。
0791デフォルトの名無しさんNGNG
>>786
warota
0792デフォルトの名無しさんNGNG
あぷえ
0793デフォルトの名無しさんNGNG
ところで、シグナルを送る関数の名前が
kill なのはどういう経緯なんですかね
0794デフォルトの名無しさんNGNG
昔はSIGINTのみ。(INT=interrupt)
0795デフォルトの名無しさんNGNG
ところで、
0796デフォルトの名無しさんNGNG
はい
0797770NGNG
>>772-773 貴様ら死んでいいよ。無能なのはよくわかった。
セキュリティホール量産してろ。

ところで誰もpathの規格を知りませんか…。
0798デフォルトの名無しさんNGNG
WindowsだとDDKの資料読めば仕様が書いてあるけど
UNIXは適当なのかもね
0799デフォルトの名無しさんNGNG
・各ノードは「/」で区切る
・「/」で始まるのは絶対パス
・それ以外はカレントディレクトリからの相対パス
・「.」は自分自身
・「..」 は親ディレクトリ
・ルートの親はルート自身

realpath() がどうバギーなのか教えて。
0800770ではないがNGNG
http://www.linux.or.jp/JM/html/LDP_man-pages/man3/realpath.3.html
>バグ
>この関数は決して使わないこと。設計段階から問題がある。出力バッファの
>適切なサイズを決定することができないからである。 ・・・・

こういうことかな?
0801デフォルトの名無しさんNGNG
sprintf() は危ないかもしれないが、バギーとは言わんだろ。
0802デフォルトの名無しさんNGNG
801
sprintfは長さが予測可能な場合が多いからこれとは事情が違う
0803デフォルトの名無しさんNGNG
たとえるならgetsと同じことかな
0804デフォルトの名無しさんNGNG
797は偽者
0805770NGNG
realpath()はstrcpy()を使ってるんじゃないかという話もちらほらと
ありますが…。それはともかく、

~/は展開すべきか、エラーとすべきか
~hoge/は/home/hogeなどと展開すべきか、エラーとすべきか
//は/と同等と解釈すべきか、エラーとすべきか
.../は../と同じか、エラーとすべきか
etc...

これらにはOS依存とかシェルが介在しているための問題もあるかと
思われますが、BNFなどによる明確な定義があれば知りたいのです。
0806デフォルトの名無しさんNGNG
はい、偽者かどうかはともかく、
この様にUNIXはいたるところバグだらけでとても使い物にはならない
また、もし使っているところがあればそのシステムも同様に信用ならない
けして業務で使ってはいけないOS
ということが良くわかりましたね

>UNIXは決して使わないこと。設計段階から問題がある。
0807デフォルトの名無しさんNGNG
ま、そのうち鯖用途でもUNIXなんて危なくて使わない時代がくるだろうね
0808デフォルトの名無しさんNGNG
805=806
ネタで言っているとしか思えない
0809デフォルトの名無しさんNGNG
Plan9だな
0810デフォルトの名無しさんNGNG
ある事例ではモデルチェンジで新システムに変わるからという理由で
それまでの旧システムのサポートを打ち切る暴挙を起こしたUNIX系の会社があったな
UNIX扱うとこがこんなこと言ってるようじゃこのUNIX界もおわりだなと思った。
0811デフォルトの名無しさんNGNG
それってEm○
0812デフォルトの名無しさんNGNG
>>799が無視されているな
0813デフォルトの名無しさんNGNG
Windowsはサポート腐っててもグルがその辺に沢山いるからな
UNIXだとサポートがまず役に立たないとあかんしね・・・
0814デフォルトの名無しさんNGNG
このrealpathの質問にしてもくだらない煽り合いになっただけだしなw
まさに無能の集団だな

>>812
UNIX板で聞けば?
0815デフォルトの名無しさんNGNG
・「~」を展開するのはシェルの機能。
・「.」とか「..」はファイル名であって、特別なキーワードではない。
・なので「...」は、そういうファイルがなければエラーになる。
・「//」はリモートにアクセスする手段だから「/」と同じはちょっとアレ。
0816デフォルトの名無しさんNGNG
おまえらの嫌いなWindozerから見れば>>770が可哀相だよ。
この程度の質問で言い方が悪いとかでいちいち目くじら立てる
仕切り厨が沸いて出てくる始末だしな。
0817デフォルトの名無しさんNGNG
realpathはUNIX使いの頭がバギーだから問題ない
0818デフォルトの名無しさんNGNG
>>814
いや、799が答えているのに805はすっかり無視していると。
0819デフォルトの名無しさんNGNG
>>800
つーかrealpath使うなとか書いておいて、代わりを用意しないのな。
それがUNIX文化ってやつ?
0820デフォルトの名無しさんNGNG
「//」はリモートにアクセスする手段ってほんとか?
0821デフォルトの名無しさんNGNG
何使ってるとそうできるのか良く知らないけど、
"//ホスト名/あっちのパス"って指定できる環境もあるよ。
Windowsでもそれのマネで"\\hoge\abc" とか書くよね。
0822デフォルトの名無しさんNGNG
だったら具体的にその環境を書けよ
URIのプロトコル://〜と勘違いしてるんじゃないの?
0823デフォルトの名無しさんNGNG
>>770
どうやらシェルでcd path; pwd打ったほうが早そうだぞ
0824799,815NGNG
申し訳ありませんでした。
全部ウソです。
0825デフォルトの名無しさんNGNG
いつものPOSIXにやけに詳しい人が来れば解決すんだろ。
俺はPOSIX軽視だからシラネ
0826デフォルトの名無しさんNGNG
違うだろ。UNIX的には本来、/はいくつ重なっても/一つと同じ。

> "//ホスト名/あっちのパス"って指定できる環境もあるよ。

こっちがWindowsのマネ。やるとしたらOSじゃなくてアプリレベルの対処。


realpath(3)についていえばresolve_pathが指すバッファはサイズPATH_MAXであること
というのもインタフェースの一部(単にC言語の都合上強制できないだけ)だから、
PATH_MAXが定数で定義されているシステム(出所の直系である*BSDとか)では問題ない。
Linuxのmanはパラノイアックというか、OSとの整合性をとって記述しろと思うのだが。

POSIXでもこの点に関して「将来resolve_pathにNULLを渡したら自前でバッファ
をアロケートするようになるかも」と書いてあり、あんなつまらんmanを書くくらいなら
代替関数を用意してSEE ALSOに書け、と思ってしまう。
0827デフォルトの名無しさんNGNG
そうだねえ
もしrealpathがWindowsのAPIだったら〜Exとかいう妙な改版がされてたとこだな
0828デフォルトの名無しさんNGNG
この様にUNIXだとソース嫁が文化かもしれないが、商用だとそうもいかない。
それに仕事ならソースがあったとしてもわざわざ読んでいる時間も惜しい。
Linuxの様に全てソースありに挿げ替えられたならともかく
特定環境のrealpathの代替なんていったいどう実装すりゃいいのやら、だな。
頼みのドキュメントも>>800の様なクソmanでは使い物にならない。
それもこれも全てGNUが悪いRMSが悪いオープンソースが悪い。
RMSにはUNIXが死滅する前にさっさと死んで欲しい。
0829デフォルトの名無しさんNGNG
>>828
何ならいいのだ?
0830デフォルトの名無しさんNGNG
おれもRMSの思想にはついていけない。
プログラマを奴隷か何かだと思い込んでるとしか思えないよな。
よっぽど金の絡む仕事で嫌な事があったのかね。
あれのせいでソフトウェア=無料と世間に思わせてしまった罪は重いと思う。
スレ違いっぽいが。
0831デフォルトの名無しさんNGNG
おれもUNIXのソース読め文化はヤバイとおもふ・・・
年取るといいかげん疲れるぜ
0832770NGNG
>>826 サンクス。

まぁ、OS上とかHDD上のレベルに適用されるPATH解釈というのは勿論必要
なのですが、URIでは最大長は定義されていないので、こういうのも処理
したいわけです。(http://とかいうスキームの部分は不要つうかHTTPの
リクエストでは/以降しか遣さないので)

それにlinuxにおいてはPATH_MAXとかNAME_MAXはlimits.hのヘッダ次第で
どうとでも変わりますね。(ほかのOSは知らない)

POSIXにおけるPATH長の制限とかが定義されていたと仮定して、それが
OSのlimit.hで定義されている長さ以上はすべてエラーと看做してよいとか、
解析の結果PATH_MAX以下ならOKとか定義されていれば話は簡単なんですけど。
0833デフォルトの名無しさんNGNG
低質な釣りか? ソース嫁てな話はしばらく出てきてないと思うが。
realpathの代替だって*BSDからパクってきて、なんならバッファをmalloc/realloc
させるようにちょっと弄るくらいで簡単だろ。
別にSYSVとBSDでパスの形式が違うわけでなし。
0834デフォルトの名無しさんNGNG
簡単なら書けよw
0835デフォルトの名無しさんNGNG
>*BSDからパクってきて
これ、BSDのソース読めってことだろ?
そういうのがいかんという話ではないのか?
0836772NGNG
>>832
> それにlinuxにおいてはPATH_MAXとかNAME_MAXはlimits.hのヘッダ次第で
> どうとでも変わりますね。(ほかのOSは知らない)

んな無茶な。"次第"って変らんよ。ツーか勝手に変えちゃ駄目。

> POSIXにおけるPATH長の制限とかが定義されていたと仮定して、それが
> OSのlimit.hで定義されている長さ以上はすべてエラーと看做してよいとか、
> 解析の結果PATH_MAX以下ならOKとか定義されていれば話は簡単なんですけど。

見做すというかマニュアル読めよ。
http://www.opengroup.org/onlinepubs/009695399/functions/realpath.html

[ENAMETOOLONG]
The length of the file_name argument exceeds {PATH_MAX} or a pathname
component is longer than {NAME_MAX}.
0837826NGNG
>>832
URIのpath部だけ対象にするならUNIXのパスなぞ関係ない。
URIの規定に従って文字列処理をする。
実際のOS上での場所が問題になるならディレクトリを辿っていく。

ごっちゃにして同じもので済まそうとする時点で間違い。

> それにlinuxにおいてはPATH_MAXとかNAME_MAXはlimits.hのヘッダ次第で
> どうとでも変わりますね。(ほかのOSは知らない)
おまいアホだろ。
その値でもってOSのカーネルとユーザランドがビルドされたという情報なんだから。

変えたいのなら、好きな定義をしたソースツリー上でカーネルもユーザランドも
全てビルドしてインストールすれ。他人のLinuxとは互換じゃなくなるけど。
0838デフォルトの名無しさんNGNG
> >*BSDからパクってきて
> これ、BSDのソース読めってことだろ?
> そういうのがいかんという話ではないのか?

代替関数を実装するのにソースなしの方がいいのか?
この部分はソース嫁とは関係ない話だと思うんだが。
つーかぶっちゃけ828はろくに考えて書いてるようには見えん。
0839デフォルトの名無しさんNGNG
UNIXヤバイ
0840デフォルトの名無しさんNGNG
まあついてこれないオヤジどもがどんどん脱落していく素晴らしい文化ってことだ
0841デフォルトの名無しさんNGNG
>>828はどうかと思うが、
ソース読めってのもどうかと思う。
仕様に合っているかどうかわからんからね。
POSIXやX/OpenやOpenGroupの仕様は、
たくさんの頭で考えたものだからソースよりずっと信頼できる。

Microsoft Windowsなら、実装→仕様って事が多いけども。
0842770NGNG
HTTPとPOSIXの定義に差があると困るから、POSIXにおけるpath解釈の定義は
どうなってるのかと問うてるのよ。ごっちゃにするかしないか云々など興味
ないな。

>その値でもってOSのカーネルとユーザランドがビルドされたという情報なんだから。
その意味だけど何?
カーネル等の再構築で手を入れられて動作が変わるようでは困るけど何?

折角いいことを言ったと思ったのに、とたんにレベルが落ちたからがっかり
だな…。
0843デフォルトの名無しさんNGNG
本物の770まだー?
といってももう見ていないだろうけど。
0844デフォルトの名無しさんNGNG
>>842
> HTTPとPOSIXの定義に差があると困るから、

それを言うならHTTPじゃなくてURIじゃないの?
まあURIとPATH_MAX/NAME_MAXは関係もないけど。
0845デフォルトの名無しさんNGNG
この際本物か偽者かなんてどうでもいいことだと思うが
これがUNIX文化ってやつ?
0846デフォルトの名無しさんNGNG
騙りは2chの文化
0847デフォルトの名無しさんNGNG
UNIXヤバイ
0848デフォルトの名無しさんNGNG
煽り騙りは2chの華
0849デフォルトの名無しさんNGNG
POSIXというからにはその規格書を読めばいいんじゃないかね
0850デフォルトの名無しさんNGNG
それ言ったら終わりだろ。
0851デフォルトの名無しさんNGNG
釣りにしても低質すぎるもんなあ。
Linuxだけで育つと知識も性根もひねくれてしまうんかね。

0852770NGNG
IEEEのPOSIXのサイトは探したけどねぇ。検索では引っかからなかったな。
0853デフォルトの名無しさんNGNG
まだやるつもりか。
0854デフォルトの名無しさんNGNG
UNIXで育つと要求定義もなしにコーディングしますか?
0855デフォルトの名無しさんNGNG
あ、本物のバカ決定。
この件はこれまでだな。
0856デフォルトの名無しさんNGNG
Ruby最強!
0857デフォルトの名無しさんNGNG
>>826
//ホスト名 はApollo Domainでも使えた。
だからMS-Windowsの真似とは限らない。
0858デフォルトの名無しさんNGNG
SVR4以前のSystem VのRFS(Remote File System)では、
/../ファイル名/usr/rms/.emacsだった。
0859デフォルトの名無しさんNGNG
俺は、BASICで育ったせいで、オブジェクト指向だの構造化プログラミングが未だに苦手だ。
0860デフォルトの名無しさんNGNG
>>859
なんでこのスレにいるの?
0861デフォルトの名無しさんNGNG
なんにしてもアプリレベルで処理することだと思うけど、
最近の"host:/abc/def" みたいな書き方のかわりに
昔は"//host/abc/def" みたいに書かれることが多かった。

Windowsの書き方もURIの"//host"もそれからの影響なんじゃないかな?
想像だけどね。
0862デフォルトの名無しさんNGNG
ライオン本で勉強したんだよぅ。
0863デフォルトの名無しさんNGNG
>>861のいう最近ってどれくらいのスパンを指していってる?
0864デフォルトの名無しさんNGNG
10年(w
0865デフォルトの名無しさんNGNG
>>858
RFS のアクセス方法について詳しく知りたいんだけど、どこかに
資料ない?
> /../ファイル名/usr/rms/.emacs
ファイル名ってのがよくわかんない。
0866デフォルトの名無しさんNGNG
/../ホスト名 のマチガイじゃ?
ルートの1個上には、各ホストのルートにリンクされたファイルが
ずらずら並んでいるという仮想的な場所があるというイメージ。
0867デフォルトの名無しさんNGNG
>>859
BASIC の所為にした方が都合がいいですか?
0868デフォルトの名無しさんNGNG
UNIXってなんであんなに汚いんですか?
0869デフォルトの名無しさんNGNG
きれいなジャイアンよりマシです
0870858NGNG
>>866
> /../ホスト名 のマチガイじゃ?

そうです(w
0871デフォルトの名無しさんNGNG
なるほど、ありがとう。しかし今考えるとひどい実装だね</../
0872デフォルトの名無しさんNGNG
linuxに関するwiki
http://redgenesis.hp.infoseek.co.jp/cgi/cgi-bin/wiki.cgi?FrontPage
0873858NGNG
>>871
実装と言うか仕様なんですが、
rootのparentはrootだってsmalltalkの頃から決まっているはずですが、
System VのRFSでは、/の..はsuper rootって/とは別なんです。
僕も実装はさわったことないんですが、Bach本で読みました。
0874デフォルトの名無しさんNGNG
めりーくりすます
0875デフォルトの名無しさんNGNG
>>874
めりーくりすます
0876デフォルトの名無しさんNGNG
ぬるーぽがっします
0877デフォルトの名無しさんNGNG
(;¬_¬)ヤルナ…
0878デフォルトの名無しさんNGNG
へたれですみませんが
標準入力と標準出力のファイル番号は
どうやって調べたらよかとですか?
0879878NGNG
dup2(fd[0],0)
dup2(fd[1],1)
とかやっても標準入力は複製できても
標準出力が複製に失敗するとです・・・
0880デフォルトの名無しさんNGNG
>>878
常に0(stdin)と1(stdout)と2(stderr)です。
0881デフォルトの名無しさんNGNG
>>880
ほんとに?
0882デフォルトの名無しさんNGNG
ヒロシです・・
子プロセスが dup2(fd[1],1) とかしたら
そこで止まってしまうとです
親からそのパイプに書き込むとSIG_PIPEを
つかんでアボートするとです
0883デフォルトの名無しさんNGNG
パイプが親→子の流れなら、
親: 1, 子: 0だろ。

親1(stdout)→0(stdin)子だから。

> 親からそのパイプに書き込むとSIG_PIPEをつかんでアボートするとです

それはfd[0]をopenしたままのprocessがいないんだね。
0884デフォルトの名無しさんNGNG
ヒロシです・・・説明が不十分だったとです
パイプを2つ作って以下の通信をするのですが、

親: fd1[1] → 子: fd1[0]
親: fd2[0] ← 子: fd2[1]

ここで、子の入出力を標準入出力に複製したいとです

親: fd1[1] → 子: 0( stdin )
親: fd2[0] ← 子: 1( stdout )

つまり、子プロセスの側で

dup2( fd1[0], 0 )
dup2( fd2[1], 1 )

とすれば良いと思ったのですが、
dup2( fd2[1], 1 ) で子プロセスの処理が
止まってしまうんです・・・
そこで、親がパイプを書くとやっぱりSIG_PIPEっす
パイプの複製で止まってるから駄目なんでしょうかね
0885デフォルトの名無しさんNGNG
dup2でブロックなんかしたっけ?
0886デフォルトの名無しさんNGNG
エラーならそういう出力を出すようにしてるんですけど・・・
ログ出力ではdup2 を呼んでそこで子プロセスが止まっているみたいです
0887デフォルトの名無しさんNGNG
みたいって…
gdb, strace, ltraceを使え。
既に動いても、PID指定でattach出来る。
0888デフォルトの名無しさんNGNG
inetd のソースみれ
0889デフォルトの名無しさんNGNG
東京の人はすごか技を知ってるとですね
でも、dup2( fd2[1], 1 )
を呼んだところで子がSIG_CHILD おこして終わってるみたいですよ
ltrace,strace どちらも
--- SIGCHLD (Child exited) ---
と出てます
子が終わってるので、パイプに書こうとすると SIG_PIPE を
起こすみたいですね
0890デフォルトの名無しさんNGNG
UNIXってなんですか?
WinのようなOSですか?
0891デフォルトの名無しさんNGNG
>>890
いえ美容院です
http://www.unix.co.jp/
0892デフォルトの名無しさんNGNG
>>890
MacOS X のことだよ。
0893デフォルトの名無しさんNGNG
ってなんですか?
0894デフォルトの名無しさんNGNG
getpid最高!!
getpid最高!!
getpid最高!!
getpid最高!!
もう手放せない。朝も昼も
getpid最高!!
getpid最高!!
getpid最高!!
0895デフォルトの名無しさんNGNG
>>889
SIGCHLDは子プロセスが終了した時に、
親プロセスに飛んでくるsignal。
君の知りたいのは子供が終了する原因だろ。
strace, ltraceで-fしろよ。
0896デフォルトの名無しさんNGNG
http://www.unix.co.jp/#pc5.2ch.net
0897デフォルトの名無しさんNGNG
>>896
UNIXゆーざの皆さんって実はオシャレだったのか・・・俺勘違いしてたよ。
0898デフォルトの名無しさんNGNG
>>896
まじめにだまされた…
0899デフォルトの名無しさんNGNG
>>896
こんな糞HPクラック汁
0900デフォルトの名無しさんNGNG
900get
0901!omikuji!damaNGNG
保守
0902デフォルトの名無しさんNGNG
>>896
よくみるとモデルがブサイコな件について
0903デフォルトの名無しさんNGNG
真面目な質問ですが、誰か教えてください。

/etc/*.conf
のフォーマットって統一されていませんよね?

例えば、

aaaa=yes
bbbbb = no

というような文字列解析のC言語ライブラリとか
あるといいのですが、どなたか知りませんか?
0904デフォルトの名無しさんNGNG
そんな簡単なの質問してる間に書けると思うんだけど……。
0905デフォルトの名無しさんNGNG
>>903
>あるといいのですが、どなたか知りませんか?

そんなものはない。
どうやら君も、UNIXの暗黒面に片足突っ込んだようだね。
UNIXは死滅するまでずっとこのままだ。
残念だったな。
嫌なら君も、そんなUNIXの退廃的嗜好を打ち崩すべく努力したまえ。
0906デフォルトの名無しさんNGNG
目指せsendmail.cf
0907デフォルトの名無しさんNGNG
perl でも tcl でも、好きなのリンクすればいーんでない?
0908デフォルトの名無しさんNGNG
perlもリンクできるのか。知らんかった。

tclは使っているのを見ないけど、なんでかねえ。
(売り物のCADソフトでは使ってるけど)
0909デフォルトの名無しさんNGNG
http://www.perl.com/
0910デフォルトの名無しさんNGNG
>>909
使うときに調べるからリンクはしなくて良かったのに。
でも、googleへのリンクの方が助かったな。
0911デフォルトの名無しさんNGNG
UNIXなら標準で正規表現のライブラリが載ってるからそれ使えばいいじゃん。
0912デフォルトの名無しさんNGNG
あんま調子にのんなよ
0913デフォルトの名無しさんNGNG
'x = y' =~ /\s*(\w)+\s*=+\s*(\w)+\s*/;
で
$1に'x'
$2に'y'
が入る
0914デフォルトの名無しさんNGNG
=+
って何?
0915デフォルトの名無しさんNGNG
古代 C 言語における += のこと。
0916デフォルトの名無しさんNGNG
あるいはエンタープライズ号
0917デフォルトの名無しさんNGNG
signalハンドラーってどうやってハンドリングしてます?

ハンドラ内では呼び出し可能なAPI/SYSCALLに制限があるので
コンテキストをハンドラ外に移動させてから
やりたいことをやるようにした方がいいと考えています。

とはいえ、どうやって移動させるのがいいんでしょうね。
0918デフォルトの名無しさんNGNG
>>917
マルチスレッド + sigwait()
0919デフォルトの名無しさんNGNG
質問したい事があります。
現在、LINUX、C言語でプログラムを書いてます。
その中で、fork()した複数のプロセスが共有メモリにアクセスします。
そこでファイルを用いた排他制御を行いました。
プロセスIDは異なるのですが、プロセスの名前が
同じなのでファイルで排他制御ができているのか気になるのですが
教えてください。
0920デフォルトの名無しさんNGNG
age
0921デフォルトの名無しさんNGNG
>>919
> 教えてください。
何を教えて欲しいんだ?
排他制御のやり方か?
排他制御ができているかの確認方法か?

そもそも、
> その中で、fork()した複数のプロセスが共有メモリにアクセスします。
> そこでファイルを用いた排他制御を行いました。
共有メモリを使っているのに、なぜ System V IPC や POSIX IPC のセマフォを使わん。
0922デフォルトの名無しさんNGNG
例によって例のごとく、APUE読め、って奴だなあ。
0923デフォルトの名無しさんNGNG
>>917
sigsetjmp+siglongjmp
0924デフォルトの名無しさんNGNG
>>919
鈴木太郎さんと田中太郎さんが、男子便所にうんこしに行きました。
両方、太郎さんなので、同じ便座に座ってないか心配なのですが
教えてください。
0925デフォルトの名無しさんNGNG
>>922
だね
0926デフォルトの名無しさんNGNG
AF_LOCALでソケット使いたいのですが,
sockaddr構造体が通常よく見るものと違って,↓で記述されてました

<sys/un.h>の一部

/* Structure describing the address of an AF_LOCAL (aka AF_UNIX) socket. */
struct sockaddr_un
{
__SOCKADDR_COMMON (sun_);
char sun_path[108];/* Path name. */
};


したがって,通常のようにsun_familyにAF_LOCALを指定できません.
どうすればよいのでしょうか?
0927デフォルトの名無しさんNGNG
>>926
> したがって,通常のようにsun_familyにAF_LOCALを指定できません.

ってどういう意味だよ。この呆けが。
man 7 unix読めよ、このタコ。
__SOCKADDR_COMMON()の定義くらい調べろ、この猿。
0928デフォルトの名無しさんNGNG
>>926
アホとしか言いようがないが、とりあえずC言語の勉強でも
もう一度してみたらどうか。
0929前スレ282NGNG
> 1. longjmp( )は、シグナルハンドラからの使用を考慮されている、
> あるいは使用例としてよく出てくるんですが
> 実際、シグナルハンドラからのlongjmp( )は安全ですか?
ttp://www.opengroup.org/onlinepubs/009695399/functions/xsh_chap02_04.html
より引用。
> In the presence of signals, all functions defined by this volume of
> IEEE Std 1003.1-2001 shall behave as defined when called from or
> interrupted by a signal-catching function, with a single exception:
> when a signal interrupts an unsafe function and the signal-catching
> function calls an unsafe function, the behavior is undefined.

で、malloc()もlongjmp()もsiglongjmp()もsignal unsafe。
よって、「malloc()中にシグナル発生 → シグナルハンドラ内でlongjmp()
(またはsiglongjmp())呼び出し」となった場合の動作は「undefined」。
実際にglibcのソースを眺めてみたが、シグナルに対して特別なことをやっては
いないみたいだから、メモリリークやデッドロックが発生する可能性があるな。

> 2. シグナルハンドラとそうでない部分との排他制御は
> そうでない部分で、シグナルをマスクするだけで十分ですか?
OK.

> 3. シグナルハンドラが実行されているさいちゅうに
> 多重に呼び出されることはありますか?
ここらへんについては、BSD由来のsignal()とSysV由来のsignal()とで
挙動が大きく違っていたが、新しいシグナル操作関数であるsigaction()では
そこら辺の混乱が解消されている。
ttp://www.opengroup.org/onlinepubs/009695399/functions/sigaction.html
SA_NODEFERの項を見よ。
0930デフォルトの名無しさんNGNG
ファイル入出力まわりに関して質問させてください。

ファイル終端(EOF)を切り詰めたいのですが、
自由にEOFの位置を設定できるシステムコールが何なのか分かりません。
WindowsAPIで言うところのSetEndOfFileみたいなのです。
もしそういうシステムコールがない場合は、エミュレートする何か別の方法とかあれば教えてください。

よろしくお願いします。
0931デフォルトの名無しさんNGNG
1. stat(2)でファイルサイズ調べて-1へ絶対位置seek。
2. EOFまで読んでから、-1相対位置seek。

1推奨。(ファイルの長さに左右されない)
seekは、lseek(2) or fseek(3)で。
0932デフォルトの名無しさんNGNG
>>930
ファイルサイズを指定長に設定するという
truncateというのがあるけど、意図と一致するか不明。
引数がパス名みたいだけど。

#include <sys/types.h>
int truncate(const char *path, off_t length)
0933デフォルトの名無しさんNGNG
あー、ファイルディスクリプタのもあるや。

int ftruncate(int fd, off_t length)

0934930NGNG
931さん932さん、即レスありがとうございます。

どうやらftruncateでいけそうです。
どうもありがとうございました。
0935デフォルトの名無しさんNGNG
age
0936デフォルトの名無しさんNGNG
たまに
$COMMAND --help
としたときの出力先が、標準エラー出力のコマンドがあるんですが、
本来なら、これは標準出力の方が正しいんですよね?この辺って
暗黙の了解みたいなのはあるんですか?
0937デフォルトの名無しさんNGNG
製作者の独断と偏見
0938デフォルトの名無しさんNGNG
まじっすか?この辺りもはるか未来の標準化案では統一して欲しいなあ
0939デフォルトの名無しさんNGNG
製作者は創造主&神であるから、自分の意のままになんでもできるのでは?
0940デフォルトの名無しさんNGNG
統一するメリットがないような
0941デフォルトの名無しさんNGNG
>>936
通常、パイプラインで使うことを想定してエラー情報はエラー出力にする。
なのでツールの規模によっては、Usageはエラー処理の範疇なのでエラー出力で行なう。
まぁ、標準エラー出力でもパイプラインで処理できるから不都合はなかろ。
0942デフォルトの名無しさんNGNG
% hoge --help | less
で見れなかったときの悲しみ
0943デフォルトの名無しさんNGNG
--
の引数オプションってGNU推薦のやつだよね
-短いばーじょん
--長いばーじょん

・・・馬鹿?
0944デフォルトの名無しさんNGNG
GNU推薦ってゆうかgetopt(3)の仕様では?
0945デフォルトの名無しさんNGNG
>>943
ん?GNU が?


まったくその通りだと思います。
0946デフォルトの名無しさんNGNG
>>942
hoge --help |& less
or
hoge --help 2>&1 | less

自分の無知をツールの所為にするな。

>>944
getoptでは'--'を適当に処理できない。
0947デフォルトの名無しさんNGNG
2>&1
こんなの馬鹿シェルしょちゅう使ってないと覚えないよ:p
嗚呼、こんな意味不明な文字列並べて喜んでるUNIX文化と早く手を切りたい
0948デフォルトの名無しさんNGNG
どうぞその乏しい皺なし脳味噌をより猿向けのソフトの修得にお使いなさいな。
0949デフォルトの名無しさんNGNG
氏ね
0950デフォルトの名無しさんNGNG
>>947
はげ同
0951デフォルトの名無しさんNGNG
>>946
そんくらいのことはあんただけじゃなくてみんな知ってる。
そんな回りくどいことをやって「こうすれば出来る」とかゆーてるのは、
ただのあふぉ。進歩しねーぞ(笑)
0952デフォルトの名無しさんNGNG
>>950
>>948
0953デフォルトの名無しさんNGNG
なんで stderr> とか人間でも読める形にしないのかね
2>&1こんなのお得意の名前補完もできねーじゃん。馬鹿?
この馬鹿シェルって伝統だとか無意味なことに固着しんのか知らねーけどさ
全然進歩しないよね。
キモイキチガイの作ったシェルいつまでも使ってんじゃねーよヴォケ
0954デフォルトの名無しさんNGNG
あ、ちょっと間違えちゃった

×:そんな回りくどいことをやって「こうすれば出来る」とかゆーてるのは、
○:そんな回りくどいことをやって「こうすれば出来る」とかゆーて悦に逝ってるのは、

こんな感じかな。。。
0955デフォルトの名無しさんNGNG
>>953
はげ同
0956デフォルトの名無しさんNGNG
( ゚д゚)ポカーン

(´-`).。oO(ろくにプログラミングできそうにない奴がなんでここにいるだろう?)
0957デフォルトの名無しさんNGNG
>>953
>>948
0958デフォルトの名無しさんNGNG
stderrをパイプにつなぐことがプログラミングかよ・・・
0959デフォルトの名無しさんNGNG
つーかよ、shって何年前のツールだよ
いまだに代替できるモノがないって異常じゃねーか?
ソフトウェアで進化ないのってヤバイよね
商業的にも絶対大成しない
こんなの抱えてるUNIXが哀れでしょうがないよ
パラダイムシフトの足ひっぱりまくり

ユーザーが高齢化しすぎて欲求が枯渇してんのか?

つーか使ってる奴いるの?
いいかげん氏ねよ?
0960デフォルトの名無しさんNGNG
自演でしょ
0961デフォルトの名無しさんNGNG
ワロタ

>>953
はげ同
0962デフォルトの名無しさんNGNG
>>959
shの代替はあるのでは?
0963デフォルトの名無しさんNGNG
>>958って何を指摘されてるのか全くわかってないねえ。
0964デフォルトの名無しさんNGNG
反論する思考能力もないから
>>957 >>952とか情けない反復しかできねーのな

こういうのって自閉症っていうの?
ちょっと余裕のある会社とかになんかいるよね。
他人と全くしゃべらない奴。
UNIX好きな奴って、まるっきりそいつらと同類。
おまえら異常だよ?
病院行け
0965デフォルトの名無しさんNGNG
>>963
もったいぶってないで、オマエが説明しろ。
0966デフォルトの名無しさんNGNG
こういうのは説明せずにニヤニヤしてるのがいいんだよ。
わざわざ知恵をつけてやることもない。
0967デフォルトの名無しさんNGNG
>>966
なんだかんだいうても、説明できないやつ。
0968デフォルトの名無しさんNGNG
ニヤニヤ


0969デフォルトの名無しさんNGNG
…?まだ冬休みが続いているんでしょうか?
下らない話は他所で。マ板とか。
0970デフォルトの名無しさんNGNG
まだ冬休みのせいにしてるのかw
時間感覚ゼロだな
さすが自閉症
いいかげん自分らの異常さを認めろよ
0971デフォルトの名無しさんNGNG
>>946
>getoptでは'--'を適当に処理できない。
なんだその"適当に処理"って。
一言もそんな事言ってないではないか。大丈夫か?
0972デフォルトの名無しさんNGNG
>>971
>946は>944に対するリプライだと書いてあるが、それでも判らないのかな?
それとも、>944を読めなかったのかな?

>958もそうだけど、もう少し文章読めないもんかね。
0973デフォルトの名無しさんNGNG
病人にまともな反応を期待すんなよ
0974デフォルトの名無しさんNGNG
ハートにひびが入るほど綺麗な海を探しに行く物語
走る車の屋根に登って風になったつもりで始めるのさ

ハートにひびが入るほど綺麗な海を探しに行く物語
夢を失くした友と二人で風にもらった秘密の合言葉で

この広い世界は何のためにあるのか
僕たちは誰のために生きてるのか
愛する人のためにすべてを捨てられるとか
そんな言葉はもういやだ
荒れ果てた原野で生きる小さな虫の姿に心が揺れる

ハートにひびが入るほど綺麗な海を探しに行く物語
走る車の屋根に登って風になったつもりで始めるのさ
0975デフォルトの名無しさんNGNG
うちのカミサンは中村くんのファン・・・
0976デフォルトの名無しさんNGNG
>>953
3とか4とか5とかはどういう名前にするの?
0977デフォルトの名無しさんNGNG
そろそろ新スレの時期だな。
俺は最近スレを立てたから立てられないけど。
0978デフォルトの名無しさんNGNG
このスレつまんないね。
0979デフォルトの名無しさんNGNG
UNIXおよびUNIX clone環境一般のプログラミングに関する質問スレッド

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

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

関連板
http://pc5.2ch.net/unix/
http://pc5.2ch.net/linux/
0980デフォルトの名無しさんNGNG
【POSiX】
The Open Group Base Specifications Issue 6
IEEE Std 1003.1, 2004 Edition
http://www.opengroup.org/onlinepubs/009695399/toc.htm


【必読書】
Advanced Programming in the UNIX(R) Environment
http://www.amazon.com/exec/obidos/tg/detail/-/0201563177/

Unix Network Programming
Vol. 1: The Sockets Networking API, Third Edition
http://www.amazon.com/exec/obidos/tg/detail/-/0131411551/

UNIX Network Programming
Volume 2: Interprocess Communications (2nd Edition)
http://www.amazon.com/exec/obidos/tg/detail/-/0130810819/
0981デフォルトの名無しさんNGNG
man on www
http://www.linux.or.jp/JM/#Search

GNU Make 日本語リファレンス
http://www.ecoop.net/coop/translated/GNUMake3.77/make_toc.jp.html
0982デフォルトの名無しさんNGNG
他に何かある?
0983デフォルトの名無しさんNGNG
http://www.adl.nii.ac.jp/~moro/unix-programmer/faq-j_toc.html
0984デフォルトの名無しさんNGNG
あと良く出るのはネットワークとスレッドだけど
別スレがあるしなあ。
0985デフォルトの名無しさんNGNG
関連スレに追加?

ネットワークプログラミング相談室 Port12
http://pc5.2ch.net/test/read.cgi/tech/1102427855/
マルチスレッドプログラミング相談室 その3
http://pc5.2ch.net/test/read.cgi/tech/1098268137/
0986デフォルトの名無しさんNGNG
よっしゃ立ててくる
0987デフォルトの名無しさんNGNG
すまんダメだった
誰か頼む

Part3のミラー
http://makimo.to/2ch/pc5_tech/1085/1085930894.html
Part2のミラー
http://makimo.to/2ch/pc5_tech/1055/1055110889.html
0988デフォルトの名無しさんNGNG


次スレ
http://pc5.2ch.net/test/read.cgi/tech/1065535118/
0989デフォルトの名無しさんNGNG
乙。
じゃ埋めるか
0990デフォルトの名無しさんNGNG
http://itpro.nikkeibp.co.jp/free/ITPro/OPINION/20041116/152634/
0991デフォルトの名無しさんNGNG
息子よ、なぜ顔を隠すのだ
          │
          ├─ お父さんには魔王が見えないの。かんむりをかぶって、長い衣を着ている・・・ 派
         │
        └─ あれはたなびく霧だ・・・派(現実主義派)
0992デフォルトの名無しさんNGNG
かわいい坊や、一緒においで。面白い遊びをしよう。岸辺にはきれいな花が咲いているし、金の服を私の母さんがたくさん用意して待っているよ
          │
          ├─ お父さん、お父さん!きこえないの。魔王がぼくになにかいうよ派
          │
          └─落ち着きなさい、枯葉が風にざわめいているだけだよ派 (慎重派)
0993デフォルトの名無しさんNGNG
>>989
埋める前にリンク先確認してくれよ
0994デフォルトの名無しさんNGNG
いい子だ、私と一緒に行こう。私の娘たちがもてなすよ。お前をここちよくゆすぶり、踊り、歌うのだ
          │
          ├─ お父さん、お父さん!見えないの、あの暗いところに魔王の娘が! 派
         │
        └─ 見えるよ。だが、あれは古いしだれ柳の幹だよ派(中立派)

0995デフォルトの名無しさんNGNG
愛しているよ、坊や。お前の美しい姿がたまらない。力づくでもつれてゆく!
          │
          ├─ おとうさん、おとうさん!魔王がぼくをつかまえる!魔王がぼくをひどい目にあわせる! 派
         │
        └─ はぎょっとして、馬を全力で走らせた。あえぐ子供を両腕に抱え、やっとの思いで館に着いた・・・派(実質、腕に抱えられた子はすでに死んでいた派)
0996デフォルトの名無しさんNGNG
魔王はいるよ派
   │
   ├─ かんむりをかぶって長い衣を着ているよ派(ロイヤル派)
   │
   ├─ なんかやたら話し掛けてくるよキモいよ派
   │
   └─ むりやり誘拐されて酷い目にあわせられたよ派(お前は既に死んでいる派)

魔王はいないよ派
   │
   ├─ あれはたなびく霧だよ派(現実逃避派)
   │    ├ 枯葉が風にざわめいているだけだよ派(派生)
   │    └ あれは古いしだれ柳の幹だよ派(派生)
   │
   └─ いないと思うけどぎょっとして馬を全力で走らせるよ派(手遅れ派)

俺が魔王だよ派
   │
   ├─ 可愛いショタをむりやり誘拐しちゃうよ派(ショタコン派)
   │
   ├─ 金の服を私の母さんが沢山用意して待ってるよ派(マザコン派)
   │
   ├─ 私の娘たちがお前をここちよくゆすぶり、踊り、歌うよ派(ドタコン派)
   │
   └─ とりあえず実力行使だよ派(猪突猛進派)
0997デフォルトの名無しさんNGNG
次スレ
http://that3.2ch.net/test/read.cgi/gline/1083415218/
0998デフォルトの名無しさんNGNG
998getしておやしゅみ
0999デフォルトの名無しさんNGNG
なつかしいな

中学のときに音楽で歌ったよこれ
1000デフォルトの名無しさんNGNG
1000ならUNIX死滅
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。