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


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

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



1 名前:970 [2006/05/18(木) 18:56:16 ]
UNIXおよびUNIX clone環境一般のプログラミングに関する質問スレッド

前スレ
Part7 pc8.2ch.net/test/read.cgi/tech/1127373405/
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


520 名前:デフォルトの名無しさん mailto:sage [2007/01/04(木) 08:23:13 ]
くだらない質問ですいませんlll
親プロセスに対するシグナルは全ての子プロセスにも送られるんでしょうか?

521 名前:デフォルトの名無しさん mailto:sage [2007/01/04(木) 19:45:11 ]
送られない。送りたいなら「シグナル プロセスグループ」でぐぐれ。

522 名前:デフォルトの名無しさん mailto:sage [2007/01/04(木) 20:03:00 ]
送られない

523 名前:デフォルトの名無しさん mailto:sage [2007/01/04(木) 20:05:12 ]
送りたいなら

524 名前:デフォルトの名無しさん mailto:sage [2007/01/05(金) 01:02:15 ]
親が子プロセス生成時にid全部残しておいて
自分でシグナルハンドリングしてしまえばいい

525 名前:デフォルトの名無しさん mailto:sage [2007/01/05(金) 04:38:32 ]
ありがとうございます!

526 名前:デフォルトの名無しさん [2007/01/11(木) 00:53:23 ]
デーモンについて質問です。
デーモンプロセスを作ろうと思って
childをforkして親プロセスを終了させたりとか
詳解UNIXプログラミング通りにやりました。
どうやらうまくいったっぽいのですが、
できたプログラムがすぐにExitして終了してしまいます。

while(1)
とかでループしたりとかすると、cpu使用率が90%以上になってしまいました。

目標としては、STDINからの入力を待って、いろいろ処理した後
STDOUTに結果を返して再び入力待ちに移行するデーモンを作りたいのですが、
SIGIOを感知するまでpauseするというところまではなんとなくわかった
(つもり)なのですが、
参考になるソースコードや何かヒントだけでもいただけませんでしょうか
よろしくお願いします。

527 名前:デフォルトの名無しさん mailto:sage [2007/01/11(木) 01:03:58 ]
sleep(1)とか呼ぶと100%にはならないかな


528 名前:デフォルトの名無しさん mailto:sage [2007/01/11(木) 01:23:41 ]
select(2)は?




529 名前:デフォルトの名無しさん mailto:sage [2007/01/11(木) 01:43:08 ]
STDINから読もうとしたらブロックする(止まる)でしょ
非同期IO使ってるんじゃなければSIGIOは関係ないんじゃないの

530 名前:デフォルトの名無しさん mailto:sage [2007/01/11(木) 02:17:38 ]
>>526
> 参考になるソースコード

tail -f とかどうよ。


531 名前:デフォルトの名無しさん mailto:sage [2007/01/11(木) 11:53:54 ]
デーモンだから標準入出力閉じてるに7300スティーブンス

532 名前:デフォルトの名無しさん [2007/01/11(木) 20:14:52 ]
ぽまえらどこで髪切ってんの?
俺は当然ここだぜ。www.unix.co.jp/

533 名前:526 mailto:sage [2007/01/12(金) 00:32:43 ]
どうもです。

>>527
pause()でどうやらcpu使用率0%で静止してくれました。
sleep(1)だと一瞬でsleepがとかれるみたいで・・

>select(2)
manをよんでみましたーまだよく理解できてませんが試してみます。

>tail -f
ううむなるほど、ありがとうございます。srcをあさってみます

>>529
そうですね...
なんとなくソケットのListenみたいなもののほうが近い気がしてきました。
スティーブンス本のネトワク2巻、IPCあたりを読み込んでみます。

ありがとうございましたー





534 名前:デフォルトの名無しさん mailto:sage [2007/01/12(金) 06:06:30 ]
関係ない横レスですいませんが
他のスレッドの終了を待つような処理は
while(スレッドの終了フラグ){
 sleep(1);
}
とかいう感じで待つしかないんでしょうか?

535 名前:デフォルトの名無しさん mailto:sage [2007/01/12(金) 06:11:06 ]
pthreadならjoinとか状態変数で合図するのを待つとか

536 名前:デフォルトの名無しさん mailto:sage [2007/01/12(金) 06:34:33 ]
pthreadです
ちょっと調べてみましたがデタッチについても理解していませんでした
とりあえず上の質問はナシということでお願いします

537 名前:デフォルトの名無しさん mailto:sage [2007/01/20(土) 02:55:58 ]
日本語を使えるcursesで標準のものってあるんでしょうか?

538 名前:デフォルトの名無しさん [2007/01/22(月) 00:04:02 ]
UNIX上で稼動するCのプログラムを作っていますが、その際
C言語のソースをWindows PCにてCVS管理しています。
下記のような段取りでやっているのですが、初心者のため、
詳しい皆さんはどんな手順で行っているのか知りたいと思います。
効率よくできる方法、一般的な方法(下記のような手順はおかしい、etc)等、
もしあればご教授いただきたく。

@必要なソースをチェックアウトし、Windows PCにて修正(エクリプス使用)
A修正したファイルをFTPでUNIXサーバにアップロード
BUNIX上でmakeを使用しコンパイル
CUNIX上で稼動確認し、問題なければソースをチェックイン

使用している環境は。。。
CVS用マシン ・・・     Windows XP
ソース修正用マシン ・・・  Windows 2000
実際に稼動するサーバ ・・・ HP-UX 11i v2



539 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 00:18:43 ]
漏れなら5分で不機嫌になって15分でブチ切れそう。

540 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 00:19:04 ]
>>538
・Unix上で編集しない理由は?
・稼動確認前にコミットしない理由は?
・最終確認をexport版で行なわない理由は?

541 名前:デフォルトの名無しさん [2007/01/22(月) 00:26:47 ]
全部秀丸を遣っているオレにはなんともいえん

542 名前:デフォルトの名無しさん [2007/01/22(月) 00:39:23 ]
>>540
稼動確認前にコミットはしねぇだろ。
複数人で開発しているのならなおさら。
チェックアウトしてテストしようとして担当外のところが問題で
うごかなかったら普通きれるぞ。

後なんだexport版って?

543 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 00:44:24 ]
とりあえず、HP側のビルドするディレクトリをWin2kにマウントしとけば、
いちいちftpする手間がなくなってストレスがかなり減るぜ。

544 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 00:46:37 ]
>>542
>export版
cvs exportで取り出したもの。CVSディレクトリがつかないから、リリース用に使うのに都合がいい。
>稼動確認前にコミット
何のためにブランチがあるとお思いで?
稼動確認を行なった版が管理されないとしたら、稼動確認のエビデンスをどうやって残すの?
#まぁ、コンパイルが通るかどうか位は当然コミット前にやるとして。

545 名前:デフォルトの名無しさん [2007/01/22(月) 00:49:10 ]
全部viを遣ってるオレにはなんとも言えん

546 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 00:53:16 ]
544はあまり相手にしないほうがよさげ

547 名前:デフォルトの名無しさん [2007/01/22(月) 01:00:06 ]
わざわざcvs exportして確認する必要ないだろ。

ブランチはなんの関係があるんだ?
コミットの度にブランチ切ってんのか?笑


548 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 01:15:05 ]
>>547
安定するまではブランチで作業するし、他人はそのブランチを使わない。
それだけのこと。

最終版をexportでやるのは、開発機とリリース機が違うときに便利。
それ以外では、リリース版をアーカイブするときにCVSディレクトリが邪魔にならずに済む程度のメリット。



549 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 01:17:56 ]
そういう豆知識が求められてる場面じゃないからw

550 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 08:59:05 ]
マメ知識だったのかw

551 名前:デフォルトの名無しさん mailto:ググってもヒントすら見つからないorz [2007/01/22(月) 15:04:08 ]
CentOS 4.4 x86_64で以下のようなプログラムを走らせると、
errno=22(Invalid argument) のエラーになってしまいます。

#include <errno.h>
#include <sys/quota.h>
int main( void ) {
int result;
struct dqblk quotaStatus;
result = quotactl( QCMD(Q_GETQUOTA,USRQUOTA), "/dev/hda8", 500, (caddr_t)"aStatus );
printf("result: %d, errno: %d: %s¥n", result, errno, strerror(errno));
return 0;
}

/dev/hda8(/home) に /home/aquota.user /home/aquota.group は存在します。
UID 500のユーザも存在します。repquota -a や edquota admin も問題ありません。
quotaの設定は以下のような手順で行いました。

/etc/fstab の /home のところに defaults,noatime,usrquota,grpquota を記述
mount -o remount /home
touch /home/aquota.user
touch /home/aquota.group
chmod 600 /home/aquota.*
quotacheck -mugv /home
quotaon -auvg

どなたか原因分かりませんか?

552 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 15:32:42 ]
納品するシステムのコンパイル時に、単純にコピーされるのを防止するため
ハードウェアIDなどを組み込んでコンパイルしたいのですが、
ハードウェア依存で、できるだけ高速で取得でき、
、呼び出し時間の短いシステムコールなどはありますでしょうか?

553 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 18:28:00 ]
>>552
激しく環境依存なので OS 次第じゃないかな。
dmesg とか sysctl とかの出力は使えそうですか?


554 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 18:49:07 ]
HDのmbrのシリアル番号を見ているソフトがある
他にはNICのMACアドレスとか
替えられない訳じゃないけど

555 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 19:23:27 ]
>>552
機械の故障でユーザが代替品を使用せざるを得ない場合などに備えて、
マシン側で変更できるものが望ましい。
たとえばNICのMACアドレスなんかはそれを見てるものが昔からあるので
ほとんどのもので変更可能になっている。

556 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 19:38:59 ]
コピー防止だけどそのレベルで大丈夫?

557 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 20:16:09 ]
ドングルでもつけてioctlで叩けば〜

558 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 21:44:19 ]
>>553-557
どうもありがとうございます。
システムが飛んだら再コンパイル必須の使い切りシステムなので、HDDのmbrから調べてみます。



559 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 21:46:18 ]
ディスクまるごとコピーするツールがあるけど大丈夫?

560 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 21:50:51 ]
>>559
まずいです
通常は変更不能のものってありますか?

561 名前:デフォルトの名無しさん mailto:sage [2007/01/22(月) 21:54:00 ]
CPUID

562 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 00:18:55 ]
>>560
そこまで厳密に制限したいのであれば、ハードウェアの
色々な情報をまとめて md5 してみるとかどうでしょう?
もちろん md5 の値をさらに可逆の暗号処理すると良いですね。


563 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 00:44:37 ]
md5sumで十分でしょ。

cat /proc/cpuinfo とか
lspci -vs 00:00.0 とか

そんなのをmd5sumすれば?


564 名前:562 mailto:sage [2007/01/23(火) 01:35:14 ]
まぁ md5 で十分とは思うのですが、strings(1) とかを使うと
色々と漏れちゃうので、ちょっとした計算式でシフトできたりすると
良いかなぁと思ったのです。気にしすぎかな?


565 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 02:45:20 ]
そのくらいしたほうがいいと思います

566 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 04:22:37 ]
MD5をわざわざ文字列にしたりしなけりゃ、少なくともstringsで出てきたりはしないと思うんだけど。

567 名前:551 mailto:sage [2007/01/23(火) 06:07:52 ]
自己解決しました。

#include <sys/quota.h> の前に
#define _LINUX_QUOTA_VERSION 2 を付けてやればOKでした。

568 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 07:32:24 ]
>>562
もしLAN常時接続が可能ならサーバー側にDB用意して
アクティベーションしないと使えないようにするとか



569 名前:デフォルトの名無しさん mailto:sage [2007/01/23(火) 08:27:05 ]
つ[LisenceManager]

570 名前:デフォルトの名無しさん [2007/02/04(日) 17:49:07 ]
execl()と、execlp()の違いを教えてください。
初心者ですまそ

571 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 17:55:13 ]
ttp://www.linux.or.jp/JM/html/LDP_man-pages/man3/exec.3.html

ttp://www.paw.hi-ho.ne.jp/takadayouhei/technic/5.html


572 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 17:55:19 ]
p付はPATHから探してくれる。


573 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 17:55:24 ]
>>570
pがつくかつかないか。つまり、path探索をするかしないか。

574 名前:570 [2007/02/04(日) 17:58:16 ]
>>572
>>573
つまり、pが付いたらコマンドライン引数だけでいいってことでしょうか?

575 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 18:02:37 ]
第1引数をフルパスで書く必要があるか、PATHにあるから名前だけでいいか、
てこと。


576 名前:570 [2007/02/04(日) 18:04:19 ]
>>575
なるほど〜分かりました。
ありがとうございます

577 名前:デフォルトの名無しさん mailto:sage [2007/02/04(日) 18:27:35 ]
おまえら優しいな

578 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 18:16:19 ]
gcc(g++)にはVC++におけるReleaseビルドとDebugビルドのような概念はないんでしょうか?



579 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 18:25:52 ]
VC++のリリースビルドとデバッグビルドの違いを理解してからおいで。


580 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 18:26:41 ]
オプションに-O2(とかそのほか最適化オプション)つければReleaseビルド。

581 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 18:29:04 ]
デバッグ/リリースごとの条件コンパイルのためのプリプロセッサ
シンボルもあるだろうね。
あと、-gオプション。


582 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 19:09:40 ]
最近のVCはReleaseでもデバッグ情報ついてるよ。

583 名前:578 mailto:sage [2007/02/07(水) 20:53:56 ]
ありがとうございました!

584 名前:デフォルトの名無しさん mailto:sage [2007/02/07(水) 22:37:33 ]
sspとか

585 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 05:26:16 ]
セッションを大量に張るアプリケーションのソケットの処理にAIOを使うってのはどうなんでしょう?
スレッドベースのハンドラを使うとたくさんのソケットがある分スレッド生成にコストがかかりそうですし
シグナルベースよりはepoll()やkqueue()の方が効率的なのかなーと思ってはいるんですが
最近AIOに興味を持ってこんなことを妄想してたんですが皆さんはどう思われます?

586 名前:デフォルトの名無しさん mailto:sage [2007/02/09(金) 20:31:47 ]
aioってkqueueで待てた気がするけど。

587 名前:デフォルトの名無しさん mailto:sage [2007/02/10(土) 05:05:17 ]
確かにEVFILT_AIOってのがありますねぇ。
便利でいいなぁ。Linuxにもこんなシステムコールあればいいのに。

588 名前:538 [2007/02/10(土) 07:00:49 ]
>>539−550
アドバイスありがとうございます。
特に、マウントするというやり方は、当方まったく気がつきませんでした。
いろんなご意見いただいてありがたかったです。

今後も効率いい作業方法を意識していろいろtryしてみます



589 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 06:14:56 ]
どうもaio_read()呼ぶと内部でpthread_create()が呼ばれてる感じ
スタック使い切って死にそうなので大量のセッション管理には向かないのかな

590 名前:デフォルトの名無しさん mailto:sage [2007/02/15(木) 08:06:43 ]
内部で、て……。aio_readはシステムコールだぞ。
なんでユーザプロセスのスレッドなんか生成しなきゃならん。

591 名前:デフォルトの名無しさん mailto:sage [2007/02/16(金) 16:07:36 ]
>>589
それはWin9xのWinsock2-overlappedI/O実装

592 名前:デフォルトの名無しさん [2007/02/20(火) 00:48:16 ]
fifo と unix ドメインソケット、どう使い分けたらいいのかを教えてください。

593 名前:デフォルトの名無しさん mailto:sage [2007/02/20(火) 01:30:34 ]
fifoは親子関係のないプロセス間で使うのに便利

594 名前:デフォルトの名無しさん mailto:sage [2007/02/20(火) 01:53:08 ]
unixドメインソケットも親子関係のないプロセスで使うと便利!

595 名前:デフォルトの名無しさん mailto:sage [2007/02/20(火) 15:17:14 ]
fifoはunixドメインソケットを使って実装されている 事もある

596 名前:デフォルトの名無しさん [2007/02/21(水) 00:39:37 ]
whileとforの違いがよくわからないんでお願いします。
あと、最後に;(セミコロン)をつけるのは何のときで、つけないのが何のときか教えてください。

教科書見てもイマイチよくわからなくて・・・

597 名前:デフォルトの名無しさん mailto:sage [2007/02/21(水) 00:50:04 ]
>>596
とりあえず使おうとしてる言語はなんなのか言ってみ
シェルのことか?

598 名前:デフォルトの名無しさん mailto:sage [2007/02/21(水) 00:54:39 ]
あ、すんません。C言語です。
めっちゃ基礎的なことだけどおねがいします。



599 名前:デフォルトの名無しさん mailto:sage [2007/02/21(水) 01:08:32 ]
whileもforも繰り返し行う処理(ループ)を行わせるものだが、

while (式) 文
「式を評価(値を求めること)し、それが0でない場合は 文を実行」
を繰り返し行う。

for (式1; 式2; 式3) 文
式1を評価する。
そのあとは、
「式2を評価し、それが0でない場合は 文 を実行。ついで式3を評価」
を繰り返し行う。

つまりは、
式1;
while (式2) { 文; 式3; }
とほぼ同じ意味。

なお、文とは
- 式に;を付けたもの
- { 複数の文 }
のどちらか。forもwhileも文は1つしかかけないので、複数の文を
繰り返し処理したい場合は { } で囲む。

(実際には1つであっても囲んで構わないし、ヒューマンエラーを避ける
意味ではそのほうが好ましい)


600 名前:デフォルトの名無しさん mailto:sage [2007/02/21(水) 01:10:09 ]
C言語なら俺に聞け(入門篇) Part 8
pc10.2ch.net/test/read.cgi/tech/1171946674/

こっち向きだろうね。


601 名前:デフォルトの名無しさん mailto:sage [2007/02/21(水) 01:11:29 ]
>>599
ありがとう!なんとなくわかったような・・・わからないような・・・
もっかい教科書見直してみるわ。
>>600
あ、そんなスレあったのか。こんどからはそっちで。

602 名前:デフォルトの名無しさん mailto:sage [2007/02/21(水) 01:12:40 ]
訂正

式1;
while (式2) { 文; 式3; }

式1;
while (式2) { 文 式3; } まぁ空文が1つあるかないかだけど。

あと「それが0でない場合」しか書かなかったが、0になったら
繰り返しを終えて次に進む。


603 名前:デフォルトの名無しさん mailto:sage [2007/02/21(水) 20:12:39 ]
forは式を省略できるが、whileはできないってのも。
永久ループを作るときに、forなら
for(;;)文
で大丈夫だけど、whileだと
while(1)文
の様に書かないといけない。
これは1を評価するという冗長な意味を持つので、for(;;)の方がよく使われてる。
(;;) <- これが顔文字みたいでかわいいし。

604 名前:デフォルトの名無しさん mailto:sage [2007/02/21(水) 21:31:32 ]
>>603
最後の2文はおまいの思いこみだw
面白いけどw

605 名前:デフォルトの名無しさん mailto:sage [2007/02/21(水) 21:41:24 ]
while (1)はイデオム化しているので、読むほうも「1が0でない限り」
などとは読まないから問題ない。

生成されるコードも大差ない。
MacOSX 10.4.8, gcc 4.0.1 (Intel) でやってみたら、
while (1) { puts("hello"); } / for (;;) { puts("hello"); } いずれも
「文字列のアドレスをスタックに積んでputsをcallしてループの頭にジャンプ」
という全く同じコードになった。


606 名前:デフォルトの名無しさん mailto:sage [2007/02/21(水) 21:49:27 ]
for(;;)は無限ループを表すためだけにANSIが規格化した代物。

607 名前:デフォルトの名無しさん mailto:sage [2007/02/21(水) 22:37:36 ]
FreeBSD6.2だと
grep -R 'for *(;;)' /usr/src | wc -l
2322
grep -R 'while *(1)' /usr/src | wc -l
883
だから、やっぱりfor(;;)の方が優勢と思う。
確かにwhile(1)はイデオム化してるから問題はないと思うけど、
もしも、全く最適化をしないコンパイラがあれば、少しだけ無駄なコードになるはず、、
まぁそんなことは重要じゃないので、見た目のいい方を選べばいいと思います。

608 名前:デフォルトの名無しさん mailto:sage [2007/03/01(木) 19:42:26 ]
以下のMakefileの
$(OBJS): $(HEADS) Makefile
行は何をしているのでしょうか?

ttp://www-or.amp.i.kyoto-u.ac.jp/algo-eng/db/template/Makefile.nsrc1bin



609 名前:デフォルトの名無しさん mailto:sage [2007/03/01(木) 21:02:27 ]
>>608
スレ違い。

610 名前:デフォルトの名無しさん mailto:sage [2007/03/01(木) 21:25:06 ]
>>608
make makes many problems
pc11.2ch.net/test/read.cgi/tech/1029599472/
あたりか?

一応答えておくと、
$(OBJS)内のファイルに依存性を追加しているだけ。
この行自体は何もコンパイルしたりしない。
「$(HEADS)のファイルいずれかかMakefileが書き換えられたら
$(OBJS)のすべてのファイルはコンパイルし直しとなる」という宣言。


611 名前:608 mailto:sage [2007/03/01(木) 21:52:57 ]
>>610
良くわかりましたありがとうございます
教えて頂いたスレにも書き込もうか迷ったのですが
過疎っており、都合上解答をできるだけ早めに頂きたかったので
こちらで質問させていただきました
助かりました

>>609
死ねカス
代替案出せないなら黙ってろ

612 名前:デフォルトの名無しさん mailto:sage [2007/03/01(木) 22:51:45 ]
カスにカス呼ばわりされてもなぁ。makeスレは過疎ってたって巡回している人は沢山いると思うのだが。

613 名前:デフォルトの名無しさん mailto:sage [2007/03/01(木) 22:58:01 ]
>>612
ごめんなさい
core吐きまくっててイライラしてて言い過ぎた
次は教えてもらったスレで紳士的に質問しますね

614 名前:デフォルトの名無しさん mailto:sage [2007/03/02(金) 22:03:55 ]
gccのプリプロセッサだけを使いたかったので、子プロセスでcppを起動して
パイプで出力を受け取ったのですが、EOFが来ません。
メインのプロセスはboost::iostream::file_descriptor_sourceで子プロセスの
出力を読み込んでいます。
どなたかお知恵を…

615 名前:デフォルトの名無しさん mailto:sage [2007/03/02(金) 22:13:13 ]
入力を閉じる

616 名前:デフォルトの名無しさん [2007/03/17(土) 01:01:16 ]
ヘタレ組込みPGです。
下記のようなプログラムが既存のものであるんだけど、sigactionをセットした上でスレッドをぼこぼこ作り、各スレッドにシグナル待ちをさせるコードがあるんだけどシグナルハンドらの関数は処理を何もしていません。
これってどういうことを狙ってるとき、処理なしハンドラを設定してるかわからないんですが、教えてもらえませんか?

void main(void)
{
act_SIGINT.sa_handler = funcA;
act_SIGINT.sa_mask = *sigset;
act_SIGINT.sa_flags = SA_RESETHAND;

sigaction(SIGUSR1,&act_SIGINT,NULL)

for(int i=0;i<5;i++)
{
pthread_create();
}

funcB(); // 実処理

}

funcA{
// 処理なし
}

funcB{
// 何か処理
pthread_kill(スレッドID,SIGUSR1);

}


617 名前:デフォルトの名無しさん mailto:sage [2007/03/17(土) 01:33:49 ]
どっか別の場所でsigactionしなおしてるんじゃね?

618 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 13:12:48 ]
自作のshared objectを作って、その中の関数を呼ぶ別のプログラムを書いたんだが
どうやらshared objectの中にバグがあるようで、落ちる。
shared objectの中でgdbを使ってどこで落ちたのか調べたいのだから
shared objectを呼び出してるプログラムにgdbを適応してrunしてもshared objectの中まで
入ってくれない。
shared objectの中身をgdbでデバッグしたい場合はどうすればいいんでしょうか?
教えてください



619 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 00:37:58 ]
>>618
> 自作のshared object
のコンパイルオプションは???


620 名前:デフォルトの名無しさん [2007/03/29(木) 06:38:54 ]
プログラムが現在使用しているトータルメモリ量を取得する方法を教えてください






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

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

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