1 名前:login:Penguin [2005/06/06(月) 11:19:09 ID:uXQqRJXF] Linux のプログラミングに関する話題です
412 名前:login:Penguin mailto:sage [2007/12/08(土) 02:36:59 ID:AOgHL0gM] >>410 syslog(2)かsyslog(3)のどっちだよ。 それより何がしたいの?
413 名前:login:Penguin mailto:sage [2007/12/08(土) 08:36:18 ID:Ypv55KO5] >>412 syslogを監視したいと考えています。 swatchみたいな仕組みを作りたいなぁと
414 名前:login:Penguin [2007/12/09(日) 19:30:32 ID:kFipn9r2] Linuxで組込み機器の開発をしています。CPUはMIPS及びx86で、カーネルは2.6、swap領域は用意していません。 RAMは128MBです。下記状況で悩んでいます。 あるプロセスが大きめ(数十MB)のファイルを、読み込み専用(PROT_READのみ)でmmapし、その後そのファイル を一通り読み込み、理由は不明なのですが、その後munmapせずに長期間mmapしたままにしています。 この状態でもし物理メモリ(free page)が足りなくなってきたら、ファイルのreadonly mmapに使用されていた 物理メモリは他の用途に使うために回収されるでしょうか? カーネルの当該処理を行なう関数名だけでもかまいませんので、おしえてください。
415 名前:login:Penguin mailto:sage [2007/12/09(日) 20:31:30 ID:7Og5UxvH] >>414 Linuxの仕組みにこだわらず常識の範囲で答えるなら swapがもし設定されておらず、メモリの確保を行ったプロセスが生きており、かつ新しいプログラムがメモリを要求し メモリが足りないばあいは、そのようなエラーが出て後のプログラムが終了する。 確保エラーてきなそれで。
416 名前:414 [2007/12/09(日) 20:49:28 ID:kFipn9r2] >>415 申し訳ありませんがLinuxの事情が知りたいです。 tree.celinuxforum.org/CelfPubWiki/JapanTechnicalJamboree13?action=AttachFile&do=get&target=virtual_memory_20070222.ppt こちらの資料のp.22「ページアウト」によると、 >(2)で物理メモリの空きがなかった場合、使用頻度の低いと思われるページを解放する。そのページの内容が変更されていなければそのまま破棄。 >変更されていればスワップデバイスに掃きだす。 とのことでした。 今回の場合、swapは存在しませんがページの内容もまた変更されていないので、 >この状態でもし物理メモリ(free page)が足りなくなってきたら、ファイルのreadonly mmapに使用されていた >物理メモリは他の用途に使うために回収されるでしょうか? この答えはyesになるかと思うのですがどうでしょうか。 ページアウトを行なっている関数を特定して調べてみますが、識者の方がいらっしゃいましたら教えてください。
417 名前:login:Penguin mailto:sage [2007/12/09(日) 20:51:41 ID:vfNigUJQ] DirtyにならなきゃSWAPは関係ないんじゃないか? PRIVATEマップだったら予約はされるのかねえ? 試せ。
418 名前:417 mailto:sage [2007/12/09(日) 20:53:20 ID:vfNigUJQ] >>416 読む前に書きました。Linuxの識者ではありません。
419 名前:login:Penguin mailto:sage [2007/12/09(日) 21:56:02 ID:7Og5UxvH] こ、これが本当なら、使用頻度の低いプロセスの確保しているページが勝手に破棄されるってこと? なにやら「書き換えられているなら」の和訳に難ありと見た。
420 名前:login:Penguin [2007/12/09(日) 21:59:02 ID:kFipn9r2] >419 破棄されても、必要になり次第またディスクから読めばいいから、問題なくね? ディスク上のファイルが書き換えられていたらちょっと困るかも試練が。。。
421 名前:login:Penguin mailto:sage [2007/12/09(日) 22:13:07 ID:7Og5UxvH] >>420 ディスク上にあるデータばかりとは限らなくね? そのへんをどうしているのか...
422 名前:login:Penguin mailto:sage [2007/12/09(日) 22:20:43 ID:18jA1TtH] ファイルだったら、どこにあろうと開いてるからカーネルの管理下じゃね
423 名前:login:Penguin mailto:sage [2007/12/09(日) 22:49:39 ID:7Og5UxvH] なるほど、カーネルが管理しているページから破棄していくのか。 でもそうだとすると、この議題である「事前に確保されたページ」がカーネルの管理とは言い難いと思うのだが。
424 名前:login:Penguin mailto:sage [2007/12/09(日) 23:08:38 ID:18jA1TtH] >>423 は何言ってるのか分からんから放っておいて、 >>416 は資料に書いてある通りだと思うんだけどね。mmap()のシステムコール先が どんなマークつけてメモリ確保するか、もうカーネルのソース見たほうが早くね?
425 名前:login:Penguin mailto:sage [2007/12/09(日) 23:15:12 ID:kFipn9r2] >>424 了解。そうします。
426 名前:login:Penguin mailto:sage [2007/12/13(木) 21:59:11 ID:q3gVVh+0] ローカルの時間を設定する 関数ってなんて名前なの?
427 名前:login:Penguin mailto:sage [2007/12/13(木) 23:42:09 ID:gQtBTxyv] settimeofday(2)
428 名前:login:Penguin mailto:sage [2007/12/13(木) 23:57:28 ID:GAau1spk] >ローカルの時間を設定する >関数ってなんて名前なの? いきなり時刻を変更していいなら、settimeofday(2)か、stime(2)。後者は秒単位でしか設定できない。 徐々に時計をあわせたいなら、adjtime(3)かadjtimex(2)。たぶん。よく知らなかったのでntpdateコマ ンドをstraceして調べた範囲だが。 あと、ハードウェアが覚えている時刻を更新したいんだったら、/sbin/clock -w するか、/dev/rtcを open(2)してioctl(RTC_SET_TIME)も必要。これもclockコマンドをstraceしただけだけど。
429 名前:login:Penguin mailto:sage [2007/12/14(金) 00:06:11 ID:q3gVVh+0] 皆さんどうもです。 もう1つ聞きたいのですが libe1000に近い機能って 最近のカーネルにないでしょうかね? tigon3で使えないので泣き入ってますw
430 名前:login:Penguin mailto:sage [2007/12/14(金) 09:58:59 ID:kNHZHPst] もしかしてこっちのことだったりして # cp /usr/share/zoneinfo/場所 /etc/localtime あるいは環境変数 TZ
431 名前:login:Penguin mailto:sage [2007/12/15(土) 02:47:51 ID:W22BenPt] それを言うならasia/Sapporoを作ってDSTを有効にする方法じゃね?
432 名前:login:Penguin mailto:sage [2007/12/15(土) 18:22:56 ID:Rwz9MLlG] カーネルモジュールのメモリリークチェックどうやってる? slab使ってれば、destroy()でチェックになるようだが、 ページ単位だと手がないよね
433 名前:login:Penguin mailto:sage [2007/12/15(土) 23:53:57 ID:Sm85/PPc] >>432 カーネルは信じる
434 名前:login:Penguin mailto:sage [2007/12/17(月) 01:19:38 ID:xnChskak] 自分でカーネルモジュール書く場合とか。
435 名前:login:Penguin mailto:sage [2007/12/17(月) 22:53:20 ID:YaVSPejA] 自分を信じる
436 名前:login:Penguin mailto:sage [2007/12/17(月) 23:48:58 ID:QaEFKCXk] /proc/meminfoをreadすると 遅くていらいらするので 実態を直接参照したいのですが 何を呼び出せば得られますか?
437 名前:login:Penguin mailto:sage [2007/12/18(火) 00:47:54 ID:wJyWvjqc] /usr/bin/freeも/proc/meminfoをopenしてreadしているようだ。 ちょっと思いつかない。
438 名前:login:Penguin mailto:sage [2007/12/18(火) 01:04:48 ID:E/zgaCho] もう1つ別の話になりますが プロセスA,B,Cがあったときに 起動順序に依存関係があった場合や 不意の終了が起きたときの再起動等の 管理を含めた プロセスの監視、管理ってみなさんどうしてますか?
439 名前:login:Penguin mailto:sage [2007/12/18(火) 01:20:16 ID:v3HQV+pu] >>436 昔はps(8)にしてもvmstat(8)にしても、その手の奴は nlist(3)を使って/dev/kmem を スキャンしてカーネルの変数を直接読んだんだけど、それをするためのプログラムは setuid rootが必要だった。 今でもできると思うけど、別にそんな速くなるかというと、微妙だと思うなぁ。大体なんで そんなものをreadするのに速度が必要なのか。 今はカーネルのさまざまな変数をsysctl(2)や/procファイルシステムで見るように なっているから、そっちが一般的だと思うが。
440 名前:login:Penguin mailto:sage [2007/12/18(火) 01:24:13 ID:v3HQV+pu] >>438 ここはプログラミングスレだから、そういうツールを紹介してほしい、じゃなくて、 そういうものを書きたい、という事だよね? UNIXのプロセス管理、特にwaitシステムコールの仲間と、SIGCHLD周辺をよく 勉強するといいと思うよ。
441 名前:login:Penguin mailto:sage [2007/12/18(火) 02:52:41 ID:wJyWvjqc] >>439 OSは何ですか?Linuxだとnlistという関数はないっぽい elfutilsの付属品で/usr/include/nlist.hというのがあるけどOSの情報をとるものではないようで。
442 名前:login:Penguin mailto:sage [2007/12/18(火) 23:54:49 ID:E/zgaCho] なぜPacket socketってRxのみなのですか? Txにも対応して欲しいのですが 誰かなんとかなりそうってヒントくれませんか?
443 名前:login:Penguin mailto:sage [2007/12/19(水) 09:05:58 ID:3xyl6Kve] >>442 対応してるよ
444 名前:login:Penguin mailto:sage [2007/12/19(水) 23:34:24 ID:VN4RCfEY] >>443 そっちじゃなくてpacket_mmapだた これは無理ですよね 無理ならstruct net_deviceを直接参照する ようなコードをモジュールレベルで書きたいのですが 難しいですよね〜
445 名前:login:Penguin mailto:sage [2007/12/20(木) 00:47:26 ID:7G9805T8] eth0からeth7までをNIC1台の鯖に積んでるのですが 例えばeth0からeth4にパケットを転送するときって send()するしかないですよね? しかし5.6GBpsのコピーだとはんぱーねほど 負荷かかって困るw たまにーマシンごとお亡くなりになってしまうし
446 名前:login:Penguin mailto:sage [2007/12/20(木) 01:00:32 ID:yx641/2O] チップセットがIntel以外とか、BIOSをageてないとかでないの
447 名前:login:Penguin [2007/12/20(木) 01:12:56 ID:gjGGDzJy] LinuxカーネルではRCUというデータ構造?が使われていると聞いたのですが、どんなものか 概要を知るにはどこが便利でしょうか?
448 名前:login:Penguin mailto:sage [2007/12/20(木) 01:18:52 ID:KxE4A1DD] >>445 いまいち状況がわかんないけど、sendfile(2)でもいいんじゃない。
449 名前:login:Penguin mailto:sage [2007/12/20(木) 01:29:14 ID:7G9805T8] >>448 in socket out sokcet これは無理ですよ。manページまともに読んでくれ
450 名前:login:Penguin mailto:sage [2007/12/20(木) 01:29:48 ID:KxE4A1DD] >>447 ん?これのことか? ttp://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.23.y.git;a=blob_plain;f=Documentation/RCU/whatisRCU.txt;hb=HEAD
451 名前:login:Penguin mailto:sage [2007/12/21(金) 01:40:37 ID:A4fo/FEb] www.scaramanga.co.uk/code-fu/lincap.c こいつを改造して、送信側もmmap-packetしたいのですが スレ違いですかね? mmapでバッファ取得しているからそのまま、フレームの アドレスをsendfile()で送ればいい?
452 名前:login:Penguin [2007/12/26(水) 23:54:48 ID:S8Qi2r6E] ここで訊くのが合っているか判らないけど質問 デスクトップをクリックした、というイベント取得したいんだけどどうやるんだ?
453 名前:login:Penguin mailto:sage [2007/12/27(木) 01:17:57 ID:n3z1YHrf] 何を言ってるのかイマイチわからんかったので、とりあえず 「XCheckMaskEventでXButtonPressMask」 と答えておく。
454 名前:login:Penguin mailto:sage [2007/12/27(木) 01:21:58 ID:W7wVcUmw] ポルナレフ同士かよ
455 名前:login:Penguin mailto:sage [2007/12/29(土) 01:41:34 ID:6hJfAH2B] CPU使用率(百分率で0〜100)はどこで取得できますか?
456 名前:login:Penguin mailto:sage [2007/12/29(土) 02:13:14 ID:JWUAvm2Q] /usr/lib/python2.5/site-packages/screenlets/sensors.py を覗くと、下記のようになっている。あとは、そのまま使うなり、自分で作り直すなりどうぞ。 # calculate cpu-usage by values from /proc/stat # (written by Bernd Wurst) def get_cpu_load (old_cuse = [0]): # Let's try if we can calc system load. try: f = open("/proc/stat", "r") tmp = f.readlines(200) f.close() except: print "Failed to open /proc/stat" sys.exit(1) # 200 bytes should be enough because the information we # need ist typically stored in the first line. Info about individual # processors (not yet supported) is in the second (, ...?) line for line in tmp: if line[0:4] == "cpu ": reg = re.compile('[0-9]+') load_values = reg.findall(line) # extract values from /proc/stat cuse = int(load_values[0]) csys = int(load_values[2]) load = cuse + csys - old_cuse[0] #load = int(load / self.update_interval) old_cuse[0] = cuse + csys return load
457 名前:login:Penguin mailto:sage [2007/12/30(日) 23:24:42 ID:zPNvSTb5] wとかtopのソースコード嫁ば?
458 名前:login:Penguin mailto:sage [2007/12/31(月) 06:20:04 ID:PRFdFPv5] >>457 以外とめんどくさいよね。 なんで定期的にpollしてアプリで計算しなければ ならないのかと。 カーネルで計算しといてくれて/proc/... で読めれば 便利なのに。
459 名前:login:Penguin mailto:sage [2008/01/01(火) 12:50:10 ID:o4AC5iuF] 計算する必要がないことをカーネルにやらせないだろ
460 名前:login:Penguin mailto:sage [2008/01/01(火) 16:13:09 ID:3yCJg0HF] >>458 あんた、アホや
461 名前:login:Penguin mailto:sage [2008/01/01(火) 16:31:40 ID:nCKl90za] >>458 養護施設か精神科完備の病棟に 入所したほうがいいよ。 社会に迷惑かけてしまって、親族、 地域に迷惑をかけてしまうまえに 自分の意志で入所しなよ。 みんな喜ぶよ?
462 名前:login:Penguin [2008/01/01(火) 19:50:29 ID:VCekl7x7] >>458 そういうドライバを書けばいいよ。 キャラクタ型ドライバの入門としては 結構いい題材だと思う。
463 名前:login:Penguin mailto:sage [2008/01/01(火) 22:36:49 ID:3yCJg0HF] ちゃんとdoubleで計算するんだぞ
464 名前:458 mailto:sage [2008/01/01(火) 23:44:28 ID:yGAu0gFM] >>462 ぐぐったらそのような計算をしているコードを見つけた。 drivers/cpufreq/cpufreq_ondemand.c
465 名前:login:Penguin [2008/01/06(日) 23:48:28 ID:5PoYdP/T] Linuxの[vdso]って、シグナルにも何か関係があるんでしたっけ? おしえてください。
466 名前:login:Penguin mailto:sage [2008/01/07(月) 00:49:32 ID:p6NEl8Gg] #include <sys/inotify.h> これに含まれているinotifyってシステムコールは ファイルにシステムによっては使えないこともありますかね? reiserfsで使えないようなw
467 名前:login:Penguin mailto:sage [2008/01/07(月) 01:14:07 ID:YbV5WNsA] 今どきreiserfsを使っている人はいないと思うけど一応 サポートはされていないらしい
468 名前:login:Penguin mailto:sage [2008/01/07(月) 22:17:39 ID:p6NEl8Gg] 使う人いねーのかよw じゃあ何が主流なのw?
469 名前:login:Penguin mailto:sage [2008/01/08(火) 00:11:17 ID:dGquMe0p] 今から使う人はいなくても 数年前にreiserfs入れてまだ使ってる人は結構いると思うよ。
470 名前:login:Penguin mailto:sage [2008/01/08(火) 00:11:44 ID:2ujb3qeo] >>467 ?。普通に使うだろ(縁起悪いけど)
471 名前:login:Penguin mailto:sage [2008/01/08(火) 00:38:19 ID:obtHiT+g] >>468 ext3かXFSが主流ですw
472 名前:login:Penguin mailto:sage [2008/01/08(火) 00:51:11 ID:g3yhOYjE] >>470 縁起悪いの知ってて使う人いるんだw Jail好きなのね
473 名前:login:Penguin mailto:sage [2008/01/08(火) 01:05:49 ID:2ujb3qeo] >>472 あんなことになったのは残念だけど、Hansはファイルシステム設計という 領域に留まらない天才の一人だったと思う。 でも天才であっても他はやっぱり人間だった。判決はまだ出てないけど、 背景を聞くにつれて、あれだけの能力があっても人生の幸せを掴むのは また別の話なんだなと無常を感じたよ。
474 名前:login:Penguin mailto:sage [2008/01/08(火) 01:33:05 ID:XSbSibRZ] まぁ悪魔の犯罪者だからなぁ
475 名前:login:Penguin mailto:sage [2008/01/08(火) 01:39:59 ID:41aIleea] 確定なの? 遺体は出たの?
476 名前:login:Penguin [2008/01/11(金) 16:12:28 ID:f8prPTXJ] LINUX勉強中の身なのですが・・・どなたか教えて下さい。 Windowsでは、GetPrivateProfileStringでiniファイルの読み込みをしていたのですが、 LINUXで使えなくて困っています。>146〜に同様の質問があったのですが、理解できませんでした。 write処理も無いのですよね? 関数が存在しないということは、LINUXではiniファイルという概念が無いという事でしょうか? 普段皆さんは、どのようにしているのですか? 環境はKNOPPIXです。
477 名前:login:Penguin mailto:sage [2008/01/11(金) 16:15:55 ID:JN9du13d] 普通は環境変数から読んでくるんじゃない
478 名前:476 mailto:sage [2008/01/11(金) 16:38:30 ID:f8prPTXJ] レスありがとうございます。 でも組込用LINUXで、自分自身で設定出来ない場合はどうするのでしょうか? SDやUSBはあるので、アプリ実行時に、外部媒体へbatファイルを読みに行く 処理を追加し、環境変数を変更するのは低レベルでしょうか?
479 名前:login:Penguin mailto:sage [2008/01/11(金) 16:43:43 ID:wrx0pdGh] 組み込み業界ってこんなやつばっかなん?
480 名前:login:Penguin mailto:sage [2008/01/11(金) 16:46:44 ID:HOV5kV5N] yaccとlex使って構文解析部分から作ってみるのもunix流の練習になるんじゃね?
481 名前:login:Penguin mailto:sage [2008/01/11(金) 16:48:17 ID:f8prPTXJ] 組込もLINUXも初なので勘弁して下さい。
482 名前:login:Penguin mailto:sage [2008/01/11(金) 16:51:25 ID:/lhYIwjn] >>481 それ以前の問題じゃないの?
483 名前:login:Penguin mailto:sage [2008/01/11(金) 16:54:52 ID:f8prPTXJ] かなしす
484 名前:login:Penguin mailto:sage [2008/01/11(金) 16:59:49 ID:/lhYIwjn] できる人に教えてもらえば?
485 名前:login:Penguin mailto:sage [2008/01/11(金) 17:01:30 ID:f8prPTXJ] できるひと・・・いない
486 名前:login:Penguin mailto:sage [2008/01/11(金) 17:06:04 ID:/lhYIwjn] かわいそう...
487 名前:login:Penguin mailto:sage [2008/01/11(金) 17:37:55 ID:JN9du13d] perlを使って初期化ファイルから環境変数を作成する処理をラップすれば? 実行プログラム本体にはそれを読ませてやれば楽だろ
488 名前:login:Penguin mailto:sage [2008/01/11(金) 17:38:55 ID:qBjbfrrT] Linuxは初めてだって言ってるんだから、職種は関係ないだろ。 言語とか開発環境とか具体的に書いてもらわないとわからないけど、 GetPrivateProfileString()って言ったらWindowsのAPIだけど、プログラム中からコールするのかな? Cの関数でいえばsetenv()、getenv()があるよね。 バッチレベルでいいならexportで登録しておくとか。
489 名前:login:Penguin mailto:sage [2008/01/11(金) 17:42:30 ID:JN9du13d] 誰も職場内で方針示してやれないような仕事取ってくるなよなぁ〜w 痴呆が上だからIT業界は7Kだって言われる
490 名前:login:Penguin mailto:sage [2008/01/11(金) 18:15:42 ID:HOV5kV5N] 組み込みlinuxでファイルI/Oを使って初期設定を読込み? 設定はヘッダーに入れてしまってハードコーディングじゃだめなのか? 初期設定を読ませるためだけに小さいとは言え余分なライブラリを使える メモリと処理能力の余裕がある? linux以前の問題な気がするなぁ、、、
491 名前:login:Penguin mailto:sage [2008/01/11(金) 18:52:28 ID:/lhYIwjn] 書き込み fprintf 読み込み scanf でやればいいんじゃないの?
492 名前:login:Penguin mailto:sage [2008/01/11(金) 20:02:51 ID:/lhYIwjn] scanf->fscanf
493 名前:login:Penguin mailto:sage [2008/01/11(金) 23:11:20 ID:MrZRBUAk] >>478 Linuxではそういう処理は起動スクリプトで行われる。 /etc/init.dの 中の他のアプリのスクリプトを参考に。
494 名前:login:Penguin mailto:sage [2008/01/12(土) 02:32:22 ID:FBfOnT6z] cmakeでwindowsとの互換をあくまで維持したい俺
495 名前:478 mailto:sage [2008/01/12(土) 08:28:35 ID:DOVfiP6Z] 昨日はショボンでしたが、 みなさんありがとうございました。 意見を参考に試してみます。 私含め、上司がレベル低いのは入社当初から知ってます。
496 名前:login:Penguin mailto:sage [2008/01/12(土) 09:34:51 ID:xcB/bLmK] >>495 Linux歴が浅いのでLinuxの作法を知らないのは当然だとして それ以外の基礎知識や能力や言葉の使い方や文章の書き方は俺の数段上を行ってるなぁ まぁ一緒にされたら迷惑だろうけど……。 最近稀に見る好印象な方だなぁと思った。
497 名前:login:Penguin mailto:sage [2008/01/12(土) 10:36:04 ID:QnvfkAhH] inotifyを reiserfsで使ってみた。 間違ってイベントが無限に飛んでくる バグとかあってプロセス10万 発生させてしまってマシン群止まっちまったw reiserfs禁止にしたほうがいいぜ
498 名前:login:Penguin mailto:sage [2008/01/12(土) 13:06:44 ID:ZIVLcoIL] 間違ったのがお前じゃないことを証明出来たら考える
499 名前:login:Penguin mailto:sage [2008/01/12(土) 14:07:31 ID:FBfOnT6z] >>495 pointed hair bossで検索するとちょっと幸せになれるかも
500 名前:login:Penguin mailto:sage [2008/01/12(土) 14:17:16 ID:QnvfkAhH] >>499 上司使えない云々より pointed-haired bossをそんな風に書く奴が このスレにいる方が恥ずかしい。もう来るなよw
501 名前:login:Penguin mailto:sage [2008/01/12(土) 14:51:08 ID:FBfOnT6z] >>472 siduxのインストール解説してるホームページでreiserfsを入れてたから そのまま,まねして入れてしまった。
502 名前:login:Penguin [2008/01/12(土) 20:37:07 ID:6ANyg4lC] 起動時の画面にペンギンは出てくるのに、起動メッセージが表示されないのはなぜ? シリアルコンソールには起動メッセージが流れてるのに.. カーネルパラメータかデバイスファイルの設定が必要ですか?
503 名前:login:Penguin mailto:sage [2008/01/12(土) 22:52:36 ID:k/UIIV/1] >>502 どのメッセージのことか分からんが、 ディストリによってはそういうもんだろ
504 名前:login:Penguin [2008/01/13(日) 03:13:19 ID:0vRtfE6z] ちょっと質問を。「組み込みLinuxができる」って言える基準って何か皆さんありますか? とあるデバイスにLinuxを載せてその上でアプリを走らせるという事をやったのですが、 結局はLinuxの一般的な機能(標準関数やらioctlやらopen("dev/xxx")やら) を使ってアプリを作ったという具合で、どうも誰でもできるような表層的な事をやったような印象です。 これを組み込みLinuxと言うのは間違っている気がするのですが、 みなさんにとっては何をもって組み込みLinuxでしょう?
505 名前:login:Penguin mailto:sage [2008/01/13(日) 03:20:31 ID:YLI1I0ry] >>504 新しい CPU で gcc すら動かないプラットフォームなら gcc を移植する. bootprom がなければ自前で移植/製作する. いざとなったら仮想記憶とも戦う. 足りないドライバは自前で作る. ユーザーランドは必要最低限な物だけ拾ってきて自分で構築する. あたりかな.
506 名前:login:Penguin mailto:sage [2008/01/13(日) 07:01:23 ID:OSM5etr9] 下ふたつはいいにしても、 >gcc を移植する これはないだろうさすがに。
507 名前:login:Penguin mailto:sage [2008/01/13(日) 07:09:47 ID:Hm7xBcnO] 最近だとCellか
508 名前:login:Penguin mailto:sage [2008/01/13(日) 08:19:09 ID:YLI1I0ry] >>505 あるよ. mips core に特殊な co-processor つけた奴とか, 特殊用途に特化した processor 用のやつとか, 今まで 3回 移植した.
509 名前:login:Penguin mailto:sage [2008/01/13(日) 08:26:40 ID:YLI1I0ry] アンカー間違えた >>506 もっとも, 専用組み込みOS用で Linux 用じゃなかったけどな... 開発は全部クロスプラットフォーム.
510 名前:login:Penguin mailto:sage [2008/01/13(日) 10:53:17 ID:ujlOgFWo] >>508 そこまでやれなくても組み込みLinuxできると言っていいだろ
511 名前:login:Penguin mailto:sage [2008/01/13(日) 11:06:22 ID:2uIpuPRh] そう得意になって言うことでもないな
512 名前:login:Penguin mailto:sage [2008/01/13(日) 12:45:24 ID:ZbSPxFY0] >新しい CPU で gcc すら動かないプラットフォームなら gcc を移植する. >bootprom がなければ自前で移植/製作する. >いざとなったら仮想記憶とも戦う. そもそもこの3つはLinux全く関係なくないか? 組み込みであることは確かだが。
513 名前:login:Penguin mailto:sage [2008/01/13(日) 13:11:47 ID:ujlOgFWo] 俺も今度Linux組み込みやろうと思うんだが、 普通のLinuxのドライバ開発 VS Linux組み込み Linuxの組み込み VS 普通の組み込み ってどう違うんだ? 組み込みじゃないLinuxのドライバは経験あるんだけど
514 名前:login:Penguin mailto:sage [2008/01/13(日) 13:25:07 ID:tHHnWE3z] >>505 が必要だということを知ってればいいじゃないか。 あとはどうやればいいのか自分でしらべればOTJになるし。
515 名前:login:Penguin mailto:sage [2008/01/13(日) 13:26:26 ID:tHHnWE3z] すべった。OJTだ。 orz
516 名前:login:Penguin mailto:sage [2008/01/13(日) 13:38:02 ID:88CnHFva] 組み込みで適当にソース拾ってきてfbconでつまずいてますorz 画面に文字を出すにはfbconを使うと見たのだが。。 アルマジロにしとけばよかったかなぁ あれならいきなり動きそうだし
517 名前:login:Penguin mailto:sage [2008/01/13(日) 13:46:09 ID:YLI1I0ry] >>512 > >いざとなったら仮想記憶とも戦う. MMU とか TLB とか言われる部分のアーキテクチャに依存するので, Linux の VM が target のアーキテクチャをカバーしきれていない場合必ず発生する. つか, VM 使った OS なら何だってそう, NetBSD でも結構泣いた.
518 名前:login:Penguin mailto:sage [2008/01/13(日) 14:10:42 ID:88CnHFva] MMU辺りと戦うとなるとかなりのパッチになりそうですね 趣味人には荷が重いし、プロだと開発費が厳しそう。
519 名前:login:Penguin mailto:sage [2008/01/13(日) 14:32:11 ID:YLI1I0ry] >>518 patch の量は大したことないよ. target のアーキテクチャと OS の VM アーキテクチャの整合をどうとるかって問題だけだから... ただし, 双方のアーキテクチャを ***うまく噛み合わせる手法*** を考え付くまでにやたら時間がかかる.
520 名前:login:Penguin mailto:sage [2008/01/13(日) 14:57:09 ID:ujlOgFWo] その前にCPUとOSのVMを理解する時間が必要だ
521 名前:login:Penguin mailto:sage [2008/01/15(火) 02:45:42 ID:eLLje4gP] linuxでgccを使っています。 cを使ってます。 fork-execでお聞きします。 binは、何かのコマンドです。 if(fork()==0) { execl(bin,bin,"gg*.c",NULL); }else { wait(); } とする場合にexecでは *がメタキャラとして認識されないようです。 メタキャラを有効にする方法ってありますか?
522 名前:login:Penguin mailto:sage [2008/01/15(火) 03:25:29 ID:JuJ/Jd3b] >>521 *の展開は/bin/shの機能だからね。execveで展開される筈もなく。 system(3)やpopen(3)を使うか、自分で*をglob(3)で展開するかしないとダメやね。
523 名前:login:Penguin mailto:sage [2008/01/16(水) 01:30:06 ID:R+P7htm7] マルチスレッドでシステムコール使うの禁止なんですよ。 スレッドセーフか、分からないよorz (man見ました)
524 名前:login:Penguin mailto:sage [2008/01/16(水) 02:24:00 ID:84amoxWV] >>523 システムコール禁止ってfork(2)もexecl(2)もシステムコールだと思うが スレッドがどこに出てくるのか話が見えないんだが、 スレッドの中でfork(2)しようとしてるの? それはまずいんでない
525 名前:523 mailto:sage [2008/01/16(水) 04:49:53 ID:R+P7htm7] pthread_atforkと fork-execの間に無駄な処理しない場合は、今の所OK
526 名前:login:Penguin mailto:sage [2008/01/16(水) 07:52:05 ID:XSPkVtkD] >>525 それ嘘だろ
527 名前:login:Penguin mailto:sage [2008/01/16(水) 11:41:09 ID:D4p47idN] あってるんじゃないの。 d.hatena.ne.jp/yupo5656/20040715/p1 ただ、 >マルチスレッドでシステムコール使うの禁止 というのは、何かまだ条件が足りていない気がする
528 名前:login:Penguin mailto:sage [2008/01/16(水) 11:50:50 ID:vAdXY+Zc] 禁止じゃないのもある
529 名前:login:Penguin mailto:sage [2008/01/17(木) 00:22:17 ID:gFqea9nd] 話割って入ってすまないが iptablesのようにパケットフィルタを したいのですが定義されるフィルタ情報が 1万もあります。 とてもじゃないけどまともに1つずつなめている と終わらないので何か良い方法ないでしょうか?
530 名前:login:Penguin mailto:sage [2008/01/17(木) 00:26:04 ID:FBet0L5h] 1000に分けて10回処理する 禅問答みたいだけど効果は補償できる、まじお薦め でも1万ルールも追加しなくても、おそらくネットマスクを使うなりなんなり 方法ありそうな気がします。
531 名前:login:Penguin mailto:sage [2008/01/17(木) 01:04:02 ID:gFqea9nd] >>530 カーネル見ながら考えてみたけど 用は困りモノなのがサブネットマスクの値に よる変動なので struct mask_zone{ struct mask_zone *next; struct mask_zone *not_null_next; uint32_t mask; }; とかリンクリストを用意、基本的にマスク長単位に分割 する方針ってどうかな?ハッシュも組み合わせる予定 これだけだと毎回33回舐めるからばからしいので 構造体にnot_null_nextっていうNULLじゃないリストへ ポインタも入れて舐める回数を減らすっていうのはどうかな?
532 名前:login:Penguin mailto:sage [2008/01/17(木) 02:13:06 ID:7inzzgaQ] >>525 read(2),write(2),open(2)はマルチスレッドでも呼べると思うんだが。。。 というかシステムコール禁止したら、スレッドで何もできない。。
533 名前:login:Penguin mailto:sage [2008/01/17(木) 07:02:23 ID:IbgArDhc] 何もできなくはないだろう。 「意味のあることは何もできない」というだけでw
534 名前:login:Penguin [2008/01/17(木) 09:54:37 ID:nrX5B3xa] man signal見た?
535 名前:login:Penguin mailto:sage [2008/01/17(木) 13:45:36 ID:zG6yMxAP] printfだって下位層でシステムコール呼ぶからな
536 名前:login:Penguin mailto:sage [2008/01/17(木) 16:27:11 ID:qlT5HX3f] 弱い者たちが夕暮れ、さらに弱い者を叩くんだな。
537 名前:login:Penguin mailto:sage [2008/01/17(木) 16:34:11 ID:hGbWYs9C] その音が響き渡ればブルースは加速していくんだな。
538 名前:login:Penguin mailto:sage [2008/01/17(木) 17:04:30 ID:oO7ItHQ/] 見えないGUIがほしい
539 名前:login:Penguin mailto:sage [2008/01/17(木) 23:14:33 ID:RgCsKsuT] 見えないGNUを撃ちまくる
540 名前:login:Penguin mailto:sage [2008/01/18(金) 05:14:41 ID:12aBnOBC] /dev/shm/と/dev/ram0の違いがわからない mount -t tmpfs tmpfs /mnt/ramdisk しても/dev/shmとかは使わないんだな。
541 名前:login:Penguin mailto:sage [2008/01/18(金) 22:10:28 ID:ddex+v8t] >>540 俺も知らないが、ブロックデバイスとファイルシステムは違うんじゃない? それとも、 shm_open(3) 読めばおわりか?
542 名前:login:Penguin mailto:sage [2008/01/20(日) 09:17:18 ID:GQI9e7dz] プログラム版の質問スレから誘導されてきました. while ((c = fgetc(stdin)) != EOF) { printf("[%d]: %c\n", num++, c); } とかやったらいつまでだってもfgetcから抜けれないのですが stdinでEOFをキーボードから打ち込むにはどうしたらいいですか? ちなみにLinuxのxterm上で動作させています.
543 名前:login:Penguin mailto:sage [2008/01/20(日) 10:02:05 ID:9Tl2aHlP] >>542 Ctrl+D
544 名前:login:Penguin mailto:sage [2008/01/20(日) 16:58:04 ID:QAkqHfcc] >>542 Linuxプログラミング固有の話じゃないんだが 誘導する奴はレベル低いな
545 名前:login:Penguin mailto:sage [2008/01/20(日) 17:33:57 ID:3cxUYgCe] 同感
546 名前:login:Penguin mailto:sage [2008/01/20(日) 19:32:41 ID:60pqkMpi] かといってこんなのをプ板にのさばらせておくわけにもいかないからな
547 名前:login:Penguin mailto:sage [2008/01/20(日) 19:43:59 ID:m3nXxor1] プ板てw
548 名前:login:Penguin mailto:sage [2008/01/20(日) 20:15:53 ID:60pqkMpi] ムだム。間違えた。
549 名前:login:Penguin mailto:sage [2008/01/20(日) 21:25:35 ID:lhDKawjW] なんでムなん?
550 名前:login:Penguin mailto:sage [2008/01/20(日) 22:03:02 ID:O/GA+k/y] はるか昔、ムー族とマ族の争いがあって、千年続き、 それを嘆いた神がプ大陸を二つに分けたと伝えられる。
551 名前:login:Penguin mailto:sage [2008/01/21(月) 01:51:38 ID:EPN4E+gf] >>544 環境依存じゃないか? UNIX なら stty(1) を見ろとなる。 で、プ^H^Hム板の質問スレなら Ctrl+Z or F6 な人もいるだろ。
552 名前:login:Penguin mailto:sage [2008/01/21(月) 21:33:07 ID:DS13UDOd] >>549 プログラ「マ」(について語る|がダベる)板、通称マ板と区別するため
553 名前:login:Penguin [2008/01/22(火) 22:56:28 ID:3SjBwwbG] pthreadtypes.hで定義されているpthread_attr_t構造体ですが、 2.6.9と2.6.18で見比べたところ全く違う内容になっています。 というかpthreadtypes.h自体に大幅な変更があったような。 いつのバージョンで変わったか分かる人いませんか?
554 名前:login:Penguin mailto:sage [2008/01/22(火) 23:06:29 ID:1aLYQ0Xu] struct sk_buffをそのままユーザ空間に ひっぱりだしたいんだけど どうすればいいのかなぁ
555 名前:login:Penguin mailto:sage [2008/01/22(火) 23:11:26 ID:Z7iV0h+U] >>553 ユーザアプリからは、構造体の中身を参照しちゃいかんのとちゃう?
556 名前:553 [2008/01/23(水) 00:20:47 ID:rX2IdG6k] >>555 まじですか!? そういうつくりになってたんすね。 pthread_attr_init()系の関数でアクセスですかね。 ありがとうございます。
557 名前:login:Penguin mailto:sage [2008/01/23(水) 02:08:02 ID:n7QxPJKv] すまんstatを使ってファイルサイズを調べたいんだけど if (stat(FileSt, &sb) == 1) { (sb.st_size>0) { ifs_flg=1; } } ファイルが存在するか?するならサイズは?みたいにしてます。 これを1行でstat(FileSt, &sb->st_size) >0 みたいに出来ませんか?
558 名前:login:Penguin mailto:sage [2008/01/23(水) 02:08:50 ID:n7QxPJKv] あ、ファイルは存在する前提です
559 名前:login:Penguin mailto:sage [2008/01/23(水) 04:08:18 ID:iwlYPuMF] statなんたらって自前の関数用意すれば
560 名前:login:Penguin mailto:sage [2008/01/23(水) 11:43:41 ID:G50LtKQp] >>557 単純にショートカットじゃダメ? if ((stat(FileSt,&sb)==1) && (sb.st_size>0)) { ... }
561 名前:login:Penguin mailto:sage [2008/01/24(木) 01:44:45 ID:XcZJxRmS] >>560 それやってたんですが、うまく行かない。 あ、括弧なしだったからかな? 括弧つけてみます
562 名前:login:Penguin mailto:sage [2008/01/24(木) 09:06:49 ID:+0KdBqsj] recvfromってタイムアウト設定はできないんですか? データが届かなかったら永久に待ってそうです UDPのプログラムで任意の時間返答が無かったら さっさとrecvfromを抜けたいんですが...
563 名前:login:Penguin mailto:sage [2008/01/24(木) 09:12:54 ID:+a49+I+1] >>562 selectを使いたくないならSO_RCVTIMEO
564 名前:login:Penguin mailto:sage [2008/01/24(木) 09:44:54 ID:+0KdBqsj] >>663 int timeout = 5000 setsockopt(sockfd, SOL_SOCKET, SO_RCVTIMEO, (char*)&timeout, sizeof(timeout)); とやっても抜けられないです...やはりずっととまったままです
565 名前:login:Penguin mailto:sage [2008/01/24(木) 09:51:20 ID:+a49+I+1] struct timevalとintって?同じもの?だっけ?5000秒?待ったり?
566 名前:login:Penguin mailto:sage [2008/01/24(木) 10:06:19 ID:A5lAfTzI] >>565 struct timeval と int は別
567 名前:login:Penguin mailto:sage [2008/01/24(木) 10:17:10 ID:FNc6yZ5O] 565 は知ってて書いているようにしか見えない。 >>564 ためしてないが、その setsockopt(2) は EINVAL になってたりしないか?
568 名前:login:Penguin mailto:sage [2008/01/24(木) 10:20:13 ID:+0KdBqsj] >>565-567 できました!
569 名前:login:Penguin mailto:sage [2008/01/24(木) 10:27:34 ID:+0KdBqsj] おかげさまでタイムアウトは無事できました まだ疑問があるのですが struct timeval tm; tm.tv_sec = 5; setsockopt(sockfd, SOL_SOCKET, SO_RCVTIMEO, (void*)&tm, sizeof(struct timeval)); とやってもrecvfromにてあきらかに12秒近く待たされています... あんまり厳密に守られるわけではないのでしょうか? 他のシステムコールの呼び出し等にて7秒以上かかってるとも思えないのですが
570 名前:login:Penguin mailto:sage [2008/01/24(木) 10:57:59 ID:+a49+I+1] 名前解決じゃね?
571 名前:login:Penguin mailto:sage [2008/01/24(木) 11:16:26 ID:+0KdBqsj] >>570 ipアドレスをinet_addr直でやってます.
572 名前:login:Penguin mailto:sage [2008/01/24(木) 11:27:31 ID:Z64zlv7x] >>571 tm.tv_usecはクリアした?
573 名前:login:Penguin mailto:sage [2008/01/24(木) 11:52:54 ID:+0KdBqsj] >>572 なんという不注意...注意散漫になってるようです. 無事指定時間でタイムアウトさせる事ができました.ありがとうございます
574 名前:login:Penguin mailto:sage [2008/01/28(月) 19:51:08 ID:oy6mNs1o] 現在、2枚のNICを持つマシン上での開発でつまづいています。 それぞれのNICに同じネットワークのIPアドレスを振ります。 例:eth0:192.168.1.10 eth1:192.168.1.11 この状態で、普通にSOCK_DGRAMにてソケットを生成し、適当なIP アドレスに対して送信します。 すると、どちらのNICから出すかはルーティングテーブルでどちらが 上に位置するかで決まってしまいます。 これをNICを指定して送信したいのですが、可能でしょうか? RAWソケットを使えばできるのですが、仕様上の制限があって 使えません。
575 名前:login:Penguin mailto:sage [2008/01/29(火) 09:35:56 ID:Jv26bMRM] >>574 bindしてから送信 はどうだろう やったことないけど
576 名前:login:Penguin mailto:sage [2008/01/29(火) 09:52:16 ID:BgbmjeIx] >>575 source address を指定したいわけじゃなくて、どのインタフェースから 出したいか、ということだったらそれじゃぁダメだ。 >>574 がなんでそんなことしたいか知らないけど、iptableのmangle tableで markして、iproute2で該当するパケットだけルーティングテーブルを別けて やるほうが自然だろう。 www.atmarkit.co.jp/fsecurity/rensai/lids12/lids01.html もしこっちが使えないならrawソケットでやるしかないよ。
577 名前:login:Penguin [2008/01/29(火) 15:44:25 ID:Jv26bMRM] ところで main(){ int a=0; for(;;){ printf("%d\n",a++); sleep(1); } } みたいなプログラムを書いたんだけど、これを $ ./a.out > hoge としてもhogeに出力されない。 バッファリングされてるみたいなのでprintfの後ろに sync()やらfsync(1)やら入れてみたけど駄目っぽい これどうしたらいいんだっけ?
578 名前:login:Penguin mailto:sage [2008/01/29(火) 16:25:19 ID:E7XlIkuM] fflush(stdout);
579 名前:login:Penguin mailto:sage [2008/01/29(火) 22:53:11 ID:pK88c6Qm] いまどき\nでフラッシュしないstdoutがあるのか・・・
580 名前:login:Penguin mailto:sage [2008/01/30(水) 02:17:24 ID:VGRpnUoT] そりゃ・・・、端末に向いてない stdout(3) なら line buffered じゃなくても いいんでわ。
581 名前:574 mailto:sage [2008/02/01(金) 11:04:33 ID:KZ/Tojjt] レス遅れてしまいすみません。 >>575 >>576 さんの言うとおりbind()をしてから送信すると、L3レベルでは大丈夫 でしたがEtherealでキャプチャするとL2レベルで、MACアドレスが同じに なっていました。 >>576 提示してもらったWebを確認しました。現在開発しているのはなかなか 処理能力的にシビアな箇所なので、RAWソケットを使用できるように 説得してみます。
582 名前:login:Penguin mailto:sage [2008/02/01(金) 19:24:02 ID:MPKtEvB1] というか、bondingしてあとは知らん、ではなんかいかんの?
583 名前:574 mailto:sage [2008/02/03(日) 21:37:06 ID:mkJ6nZ+Q] >>582 bonding、初耳だったのでぐぐってみましたが中々興味深い技術です。 ですが、仕様上送信元IPアドレス(つまり自分が持つやつ)が複数あり、かつ 対向の種類によって決まってしまっているので使えないようです。 けどこの技術に似たようなのを実装しなければならない機能ブロックも あるのでこれはこれで提案してみようかと思います。 そういえば、RAWソケットって送信するときにPath MTU Discoveryをソケット オプションで無効にしてもフラグメントされないなーと思ったら、man raw(7)に バグとして挙がっているんですね…(使用OSはFedora7) これも自分で実装しなければならないなぁ。
584 名前:login:Penguin mailto:sage [2008/02/03(日) 22:24:34 ID:+lhwKKGQ] >>574 最初から難しいこと考えないで、まず既存の機能 (>>576 の iptable + iproute2等) で やってみて、それでパフォーマンスなどの問題がないかどうか確認して、どうしても 独自に実装しなくてはならないことを確認してから raw ソケットなり、カーネル モジュールで何か作るなりすることを検討するほうがいいぞ。
585 名前:login:Penguin [2008/02/04(月) 19:10:09 ID:hfVjOmBk] 自分のサブネットマスクを取得するのはどう書きますか? IPアドレスは分かってるとして。
586 名前:login:Penguin mailto:sage [2008/02/04(月) 21:29:01 ID:nLbVhZ24] >>585 getifaddrs(3)
587 名前:login:Penguin mailto:sage [2008/02/04(月) 21:35:32 ID:G8QRQQli] >>586 IPv4でも使えんの?
588 名前:login:Penguin mailto:sage [2008/02/04(月) 21:56:25 ID:nLbVhZ24] >>587 使える。v4でしか使えないバグならglibcが2.3の頃にあったはずだが。
589 名前:login:Penguin mailto:sage [2008/02/05(火) 18:12:27 ID:MeDWiyY9] 大量のスレッドを生成できなくて困っています。 現在、上限10000個のスレッドを生成したいのですが(そういう仕様なので…OTL) スタックオーバーフローで生成できていません。 解決策としては、デフォルトでは大きすぎるスタックサイズを pthred_attr_setstacksize() で減らし、また予めスレッド用スタック領域を malloc()にて確保し、これをpthread_attr_setstackaddr() にて設定することを 考えました。実際やってみると確かにデフォルトよりは生成数は上がっているの ですが、到底10000個には追いつきません。 そこで質問なのですが、上記のようなアプローチで合っているのでしょうか? あと、pthread_attr_setstackaddr() の第2引数(つまり、スタック開始アドレス)は 10000個のスレッドで同一なのでしょうか? 10000回のpthread_create()ループの外で1回だけ pthread_attr_setstack(&attr, g_pthread_stack) をこーるするのか、 ループの中で pthread_attr_setstack(&attr, g_pthread_stack+STACK_SIZE*i)のように スタックサイズ分オフセットを毎回させるのか が分からないです。
590 名前:login:Penguin mailto:sage [2008/02/05(火) 18:15:04 ID:GUozEVBV] それができたとしてうまく動くと思ってやってるの?
591 名前:login:Penguin mailto:sage [2008/02/05(火) 20:56:19 ID:SlsIEQrM] 何をやるのか、メモリをどれだけ積んでるか、ということによりけりだな。 pthreadとか知らんのでclone(3)で自分でスタックを用意して一万個ほど スレッドを生成したことはある。使い方によっては普通に動く。
592 名前:login:Penguin mailto:sage [2008/02/05(火) 21:03:59 ID:GUozEVBV] それはすごい。
593 名前:login:Penguin mailto:sage [2008/02/06(水) 06:41:46 ID:nwp5GfWb] AMD64とかIA64とかでメモリを64GBくらい積めば大丈夫じゃね?
594 名前:login:Penguin mailto:sage [2008/02/06(水) 07:25:44 ID:s++avmRm] カーネル側で使うのが各スレッド8KB。ユーザ側のスタックを4KBに抑えれば スレッドをひとつ増やすごとに必要なのは12KB。10000個ならざっと120MB。
595 名前:login:Penguin [2008/02/07(木) 00:54:55 ID:GYgs3mMU] >>589 > あと、pthread_attr_setstackaddr() の第2引数(つまり、スタック開始アドレス)は > 10000個のスレッドで同一なのでしょうか? 同一で良いはずが無いねえ。スレッド毎に確保ですよ。 スタックの先頭アドレスはページ境界にアラインさせないとsetstackaddrがEINVALで失敗する。 mallocではなくて、posix_memalignかmmapでスタック用のメモリを確保するとよい。
596 名前:585 mailto:sage [2008/02/08(金) 09:16:22 ID:Tg+rPbrB] サンクス! >>586 , etc... それググってみましたが、IPアドレスが幾つも取れるじゃないですか。 その中でIPアドレスをマッチングして、そのサブネットマスクを取るしかないんでしたっけ? それとも、サブネットマスクって1台のマシンに複数IPアドレスがあっても共通?
597 名前:login:Penguin mailto:sage [2008/02/09(土) 00:02:49 ID:1XOuKxIO] つーか、IPアドレスに対して、サブネットが対応してるでそ。 インターフェースが2枚あったら、 eth0 : 192.168.1.5/24 eth1 : 10.23.45.67/16 とかさ。
598 名前:login:Penguin mailto:sage [2008/02/09(土) 01:25:11 ID:eMQaM6TS] man引けば分かるはずなんだが、今の場合はそれ以前の問題のような。 プログラミングより、くだ質が妥当なような。
599 名前:login:Penguin mailto:sage [2008/02/09(土) 01:57:14 ID:pxZu1S51] >>598 manを引いても基本原則知らなきゃわかんないだろうな こういうのを一番簡単に身につけるには 教科書的なものを頭ッから丸暗記するのが手っ取り早い
600 名前:login:Penguin mailto:sage [2008/02/10(日) 17:43:00 ID:AB987pUW] mallocをすると、値が帰ってくる前にsegmentation faultするんだけど・・・ これはライブラリの領域をどこかで破壊しているということでよろしいのでしょうか
601 名前:login:Penguin mailto:sage [2008/02/10(日) 18:47:08 ID:rgXsI3qI] gdbで引っ掛けてどこで死ぬかを見極めるべし まあメモリ破壊の類だとは思うが
602 名前:login:Penguin mailto:sage [2008/02/10(日) 20:52:25 ID:+TLKCHqg] >>600 メモリ破壊だったら、Electric Fenceが便利かもね。
603 名前:login:Penguin mailto:sage [2008/02/10(日) 20:55:13 ID:qj0nK6Tb] valgrindのほうが。
604 名前:login:Penguin mailto:sage [2008/02/10(日) 23:03:17 ID:W61q/SHI] 自分に強壮剤がいいよ
605 名前:login:Penguin mailto:sage [2008/02/11(月) 12:45:49 ID:0peP2Ab+] >>601-603 ありがとう ドリンク飲んでがんばります
606 名前:login:Penguin [2008/02/11(月) 20:57:09 ID:JHZIo94H] >>600 エラー処理をしているのかと子一時間 NULLが帰ってきたら、どうしてるの?
607 名前:login:Penguin mailto:sage [2008/02/11(月) 20:59:54 ID:NXuZoz9l] 実際mallocでNULL返ってくるの? CoWなのに。
608 名前:login:Penguin mailto:sage [2008/02/11(月) 21:58:06 ID:g58d+k53] >>607 CoWは関係ないような。 というのはともかく、極端に大きなmallocならNULLが戻るよ。 搭載メモリ量とか、32bit/64bitにもよるかもしれないけど、malloc(1*1024*1024*1024)とか。
609 名前:login:Penguin mailto:sage [2008/02/11(月) 22:59:43 ID:v7vkIa+N] >>607 物理ページ自体は必要ないが、メモリ空間が足りなくなる可能性はある x86 (32bit) だと、ユーザ空間が3GB・カーネル空間が1GBで分けられてたはずだから、 多分2.5GB確保は成功して、3GB確保は失敗すると思う
610 名前:login:Penguin mailto:sage [2008/02/11(月) 23:27:43 ID:g58d+k53] >>609 適当なプロセスをcat /proc/pid/mapsしてみればわかるけど、.soやらなにやらが3GBのそこかしこにmapされてしまっているから、 2.5GB連続で仮想メモリ確保ってのは難しいと思うよ。 例えばfirefoxあたりだと色々mmapされすぎていて全く無理ですね。
611 名前:login:Penguin mailto:sage [2008/02/11(月) 23:49:20 ID:H5r6W4j2] >>606 >>600 は「値が帰ってくる前に」と言ってるんだから、NULLが帰ってくるも ヘッタクレもないと思うんだが。 当然、返り値をチェックしようとしているけど、帰ってくる前にSIGSEGVなんだろ。
612 名前:login:Penguin mailto:sage [2008/02/12(火) 21:41:58 ID:i/htmIMa] ファイルAとBが同一パーティション上にあるかどうかLinux的にはどうやって判断すればいいんでしょうか
613 名前:login:Penguin mailto:sage [2008/02/12(火) 23:16:42 ID:6Xg+LWoP] パーティションよりファイルシステムの場所を調べる方が汎用性があって 尚且つ簡単そうで良さげ。スクリプトでやっつけるならdfにパスを食わせて 出たファイルシステムを比較すれば一丁上がり、、、かなぁ。 どうしてもパーティション、という場合は知らん。
614 名前:login:Penguin mailto:sage [2008/02/12(火) 23:25:33 ID:vZRSZKGy] 今Linuxが手元にないんだけど、レギュラーファイルに対してstat(2)すると struct stat::st_devってどうなるんだっけ?
615 名前:login:Penguin mailto:sage [2008/02/12(火) 23:36:11 ID:i/htmIMa] >>613 ありがとうございます。mtab読みに行くことにしました。
616 名前:login:Penguin mailto:sage [2008/02/12(火) 23:48:38 ID:943cnSqV] >>614 vmware+Linux入れなよ
617 名前:login:Penguin mailto:sage [2008/02/13(水) 00:42:27 ID:XbwK8Zpg] >>614 普通はそれだと思う
618 名前:614 mailto:sage [2008/02/13(水) 01:03:45 ID:eUvEe13x] >>617 汲み取ってくれて、ありがとう。
619 名前:login:Penguin mailto:sage [2008/02/13(水) 07:33:31 ID:pBknmnOU] 結局、パーティションまでは分からんということだな。
620 名前:login:Penguin mailto:sage [2008/02/13(水) 07:47:41 ID:hT3T8ff2] >>619 >>614 にあるのじゃどうしてだめなの?
621 名前:login:Penguin mailto:sage [2008/02/13(水) 11:59:04 ID:G1ltJVUD] HTTPクライアントを作ろうと思いますが、 自分の空きポートはどうやったら取得できますか?
622 名前:login:Penguin mailto:sage [2008/02/13(水) 12:14:39 ID:5QyCkyQ9] >>621 HTTPクライアントならサーバの80につなげば いいだけじゃない?空きポートを知る必要が わからん。(connect()で80につなげばいいだけ。) クライアントの使用するポートはプロトコルスタックが 空いているポートを適当に割り振ってくれる。
623 名前:621 mailto:sage [2008/02/13(水) 12:23:24 ID:G1ltJVUD] >>622 あっ、そーですか。有難う。 httpで相手のポート80に接続して、writeするだけですね。 (tcpと大して変わらないのかって、tcpで接続するプログラム書いたことないけど) 関係ないけど、それらがC/C++のクラスライブラリになってたりしませんよね?
624 名前:login:Penguin mailto:sage [2008/02/13(水) 12:25:48 ID:YOhJXxZI] >>623 curl と言いたいけど、お前にはsystem("wget wwwwwwwww ");で充分だ。
625 名前:login:Penguin mailto:sage [2008/02/13(水) 13:21:11 ID:hYkhPPAJ] >>623 TCP 以外の何でアクセスするつもりなんだ?
626 名前:login:Penguin mailto:sage [2008/02/13(水) 18:02:37 ID:G1ltJVUD] >>625 HTTP ところで、HTTPエンコードする標準メソッドなんてありますか?
627 名前:login:Penguin [2008/02/13(水) 18:20:50 ID:G1ltJVUD] 知りたいのは、HTTP エンコードじゃなくて、URL エンコードでしたorz
628 名前:login:Penguin mailto:sage [2008/02/13(水) 19:29:27 ID:Mx9E0jHA] >>626 HTTPってTCPじゃね?
629 名前:login:Penguin mailto:sage [2008/02/13(水) 19:59:54 ID:JBOJRmRv] >>626 を見ると、>>624 は正しかったんだな、と思った。
630 名前:login:Penguin mailto:sage [2008/02/13(水) 20:54:09 ID:eUvEe13x] >>628 あらゆる意味で違うと、いちおう突っ込んでおけばいいかな?
631 名前:login:Penguin mailto:sage [2008/02/13(水) 21:03:49 ID:N8sc8JVE] >>628 TCPってIPじゃね? 以降物理層まで続く↓
632 名前:正義の味方 [2008/02/13(水) 23:20:51 ID:5UuGIiF+] 地球を救う正義の味方、今こそ参上!! seiginomikata.xxxxxxxx.jp/
633 名前:login:Penguin mailto:sage [2008/02/14(木) 01:22:24 ID:AMxoEq8N] >>624 そんなあなたに ttp://www.blue.sky.or.jp/grass/doc_ja.html
634 名前:login:Penguin mailto:sage [2008/02/14(木) 05:16:55 ID:vPDIK5xn] HTTP on TCP on IP on Ethernet
635 名前:login:Penguin mailto:sage [2008/02/14(木) 10:46:16 ID:yt/o7Lpq] UDPはTCPじゃないおねw
636 名前:login:Penguin mailto:sage [2008/02/22(金) 11:00:23 ID:G/AgynaC] 自分が開いているファイルポインタを監視して, ほかのプロセスから見られているかどうかをチェックする方法ってありますかね?
637 名前:login:Penguin mailto:sage [2008/02/23(土) 18:26:40 ID:fMtbJMPF] inotify...でできたようなできなかったような。
638 名前:login:Penguin [2008/02/24(日) 23:17:29 ID:BrtZUi2N] streaming.linux-magazin.de/en/program_fosdem.htm cmakeについてのリアルタイム講演が聞けるそうな
639 名前:login:Penguin mailto:sage [2008/02/25(月) 17:29:44 ID:gh7YVSGk] gdbってスレッドの中まで追跡してくれないよね? 今開発しているプログラムが生成したスレッドの中で何かおかしなことを やってるみたいなのだが再現性が100%にならず困っている. gdbでlistとかやっても表示されるのはスレッドを生成してる 関数のところが表示される. せめてどこで落ちてるのか分かればいいんだが...
640 名前:login:Penguin mailto:sage [2008/02/25(月) 17:56:48 ID:cSNR/6sC] マルチコア環境上で、指定したスレッドを実行しているCPU番号を取得する 方法はないでしょうか? ちょうど、RTLinuxでいうrtl_getcpuid()のようなものを探しています。 # sched_setaffinity() を利用したCPU括り付けでのマルチスレッドの動作確認を しようと思っています。
641 名前:login:Penguin mailto:sage [2008/02/25(月) 18:39:00 ID:/pUYRVYK] info threads thread thread_no
642 名前:login:Penguin mailto:sage [2008/02/26(火) 22:09:55 ID:Gzm7dZQg] >>640 CPU番号を取得するのがカーネル空間なのかユーザ空間なのかで違う。 カーネル空間ならthread_infoのcpuを読めばいい。 ユーザ空間ならthread_infoのcpuを読むようなカーネルモジュールを作って システムコールで呼ぶしかない。ただ、システムコールのためにカーネル空間に入って 戻ってきたときには別のCPUに切り替えられているかもしれないので使い物にならない。
643 名前:login:Penguin mailto:sage [2008/02/26(火) 22:12:32 ID:Gzm7dZQg] >>636 fuserでも呼べば?
644 名前:login:Penguin [2008/02/27(水) 01:24:58 ID:YHDpNSRs] >>639 スレッドの本を読んで勉強するほうが早い
645 名前:login:Penguin mailto:sage [2008/02/27(水) 02:36:14 ID:s4UfhcJi] >>639 >>641 のコマンドをgdbで実行すれば追跡できるけど? gdbはVer.5辺りからスレッドに対応してるよ。
646 名前:login:Penguin mailto:sage [2008/03/04(火) 05:37:01 ID:hH79PlpS] Linuxではディレクトリをopenしてファイルディスクリプタを 得ることはできないのでしょうか?
647 名前:login:Penguin mailto:sage [2008/03/04(火) 06:57:58 ID:YiS1gKTk] >>646 opendir?
648 名前:login:Penguin mailto:sage [2008/03/04(火) 11:16:05 ID:c6KWa7j/] ファイルディスクリプタが欲しいんですよ。 ディレクトリのディスクリプタに対してlockfしたらどうなるか試したかったもので。
649 名前:login:Penguin mailto:sage [2008/03/04(火) 11:18:58 ID:f138xmmP] man open O_DIRECTORY
650 名前:login:Penguin mailto:sage [2008/03/05(水) 21:11:41 ID:DSOAwXvG] (引数+環境変数)の長さはARG_MAXで制限されると見たのですが、実験してみると ARG_MAXをはるかに超えて環境変数を保存できるようです。 これはそういう仕様と理解していいのでしょうか?ポインタでも示していただけると幸いです。 Linux ru 2.6.22-14-generic #1 SMP Tue Feb 12 07:42:25 UTC 2008 i686 GNU/Linux #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> int main(int argc, char *argv[]) { char* str; int i; int size = 10000*1024; str = malloc(size); fprintf(stderr, "ARG_MAX=%d\n", sysconf(_SC_ARG_MAX)); memset(str, 'a', size); memcpy(str, "hoge=", 5); putenv(str); printf("%s", getenv("hoge")); free(str); return 0; }
651 名前:login:Penguin mailto:sage [2008/03/06(木) 20:49:10 ID:xYqhiEhk] >>650 仕様かどうかは知らんが、free(str)の前にsystem("ls");といれて、 straceつきで実行してみればARG_MAXがどこに効いているかわかるんじゃね?
652 名前:login:Penguin mailto:sage [2008/03/07(金) 02:06:25 ID:6CTqh5eF] 650じゃないけどやってみた。 現在の環境変数hogeの5文字目を読むプログラムenvcをsystem()で実行。 execve("/bin/sh", ["sh"..., "-c"..., "./envc"...], ["other-env=.....", "hoge=aaaaabaaaaaaaaaaaaaaaaaaaaa"...]) = -1 E2BIG (Argument list too long) exit_group(127) = ? で失敗するよう。 自プロセス内のputenv,getenvは単にアドレスを保存しているだけみたいな感じ。
653 名前:login:Penguin mailto:sage [2008/03/07(金) 08:22:54 ID:UMdAZxi/] Linuxでどうやってるのか知らないけど、古典的なUnixだとputenvしたときには 書く場所がなければmallocして場所を作るしなあ
654 名前:650 mailto:sage [2008/03/07(金) 18:57:12 ID:WLDLR5XW] ありがとうございます。 そういえば FreeBSD の putenv も malloc していたような記憶があります。
655 名前:login:Penguin mailto:sage [2008/03/09(日) 22:25:35 ID:OicC4WBL] kernel 2.6.22でnetdevice.hのnet_deviceに なぜstruct net_device *next消えてるの? linux-sourceにはあるが linux-headerには無い なぜ?
656 名前:login:Penguin mailto:sage [2008/03/09(日) 23:46:44 ID:8q2J0afq] >>655 linux-(source|header)にある/ないは知らんが、struct net_device::next が消えた理由は以下らしいよ。 ttp://git.kernel.org/?p=linux/kernel/git/stable/linux-2.6.22.y.git;a=commit;h=7562f876cd93800f2f8c89445f2a563590b24e09
657 名前:login:Penguin mailto:sage [2008/03/11(火) 01:36:58 ID:Rs8OmFO7] >>655 なるほど解ったどもね 今snullベースで 仮想Ethernetデバイスを作ってるんだけど たとえばeth0がすでに登録されてて eth0のパケットをsnull0で送受信したい場合って initの中で dev_get_by_name("eth0); でeth0のnet_devicはとって来れるけどこいつを どうやって料理すればいいんだ? なーんにも思いつかないw
658 名前:login:Penguin [2008/03/15(土) 18:03:02 ID:NRAbwdcX] /usr/include/pgsql/server/postgres.h と /usr/include/wand/MagickWand.h を 一緒に #include すると、コンパイル時に以下の警告が出るのですが、 これってどうにかならないもんしょうか? /usr/include/pgsql/server/pg_config.h:14 から include されたファイル中, /usr/include/pgsql/server/c.h:53 から, /usr/include/pgsql/server/postgres.h:48 から, main.c:9 から: /usr/include/pgsql/server/pg_config_x86_64.h:571:1: 警告: "PACKAGE_BUGREPORT" が再定義されました /usr/include/wand/wand-config.h:10 から include されたファイル中, /usr/include/wand/MagickWand.h:29 から, main.c:8 から: /usr/include/wand/wand-config-64.h:491:1: 警告: ここが以前の宣言がある位置です 以下が重複しているようです。 PACKAGE_BUGREPORT PACKAGE_NAME PACKAGE_STRING PACKAGE_TARNAME PACKAGE_VERSION ググっても分からなかったので、せめてヒントでももらえると助かります。 環境はCentOS 5、postgresql-8.2.5-2PGDG、ImageMagick-6.2.8.0-3.el5.4 です。 コンパイルコマンドは以下のような感じです。 gcc main.c -m64 -I/usr/include/pgsql/server -lpq -lWand
659 名前:login:Penguin mailto:sage [2008/03/15(土) 20:05:58 ID:f5+YWLcF] >>658 そのヘッダの中身見てないけど、警告がでないようにするなら、 1. postgres.h,MagickWand.hを#includeしている間に#undef PACKAGE_* を入れる。 2. main.cから、postgres.hが必要な部分とMagickWand.hが必要な部分を 別々のファイルに関数として切り出して、それぞれのファイルでは postgres.hかMagickWand.hのどちらかのみ#includeする。 のいずれかでどうよ?
660 名前:login:Penguin mailto:sage [2008/03/15(土) 20:50:51 ID:NRAbwdcX] >>659 やっぱそうするしかないよねー。 前者の方法でやってみるー。ありー。
661 名前:login:Penguin mailto:sage [2008/03/15(土) 21:36:12 ID:O4AlaY1A] ABが特に詳しく日本外務省について暴露しています 福田が尖閣諸島を中国に売り渡そうとしている! 外務省と福田政権が日本を中国に売り渡す・・・ 青山繁晴氏が実際に見てきた日本の癌 @ www.youtube.com/watch?v=hZ5tOzAXtkc A www.youtube.com/watch?v=Rl1vV_53KnU B www.youtube.com/watch?v=sR9CpB7FgHo
662 名前:login:Penguin mailto:sage [2008/03/15(土) 22:23:04 ID:iDC6xMbb] kernel空間でキューを作ってmmapで参照させたいんだけど 余計な処理が込み入ってないサンプルってありますか? ドライバの形式はなんでもかまいません。
663 名前:login:Penguin [2008/03/17(月) 00:43:36 ID:nawcmHh0] >>662 お前K社か?
664 名前:login:Penguin [2008/03/17(月) 12:33:53 ID:nScJcaBW] 自動停止してくれません。判りますでしょうか? 前提条件:テスト用に/root/test_stop.sh に、 プロセス停止のシェルプログラム作成。 (ちゃんと停止しないとファイルが壊れるため) 1:/etc/rc.d/init.d/test_stop として、下記を作成 ----------------------------- #!/bin/bash # Stop /root/test_stop.sh ----------------------------- 2:/etc/rc.d/init.d/test_stop に 実行権をつける 3:リンクの作成 ln -s /etc/rc.d/init.d/test_stop /etc/rc.d/rc3.d/K99test_stop コマンドラインで /root/test_stop.sh /etc/rc.d/init.d/test_stop と打ち込むと実行(正常に停止して)されますが、 サーバーを再起動しても動いて(正常に停止して)くれません。(涙
665 名前:伊藤 mailto:sage [2008/03/17(月) 15:29:49 ID:CWhG8eFa] >>664 エスパーのオレが回答する。 パスが通っていない。 init.dの下にある他のファイルを参考にパスを通しなさい /bin,/sbin/usr/bin/usr/sbin くらいは通さないと駄目かと。 >>666 お前アホだろw
666 名前:664 mailto:sage [2008/03/17(月) 15:49:11 ID:nScJcaBW] ?? パスですか? 他のファイルをみてますが、、今ひとつ??
667 名前:login:Penguin mailto:sage [2008/03/17(月) 17:01:34 ID:oHIFzbD+] uClinuxでpthreadって使えるでしょうか 全く調べてないですけど
668 名前:login:Penguin mailto:sage [2008/03/17(月) 21:40:09 ID:hxyCMaK/] >>664 直接ln -sなんてやってるのもまずいし、そもそもディストロが何か書いていない 時点で、rc.d以下がどういう挙動をするのかということがRHELやらSLESやら ディストロによって違うということが分かってないだろ。
669 名前:login:Penguin mailto:sage [2008/03/17(月) 21:49:58 ID:hxyCMaK/] つーか、どういう動作を期待していたのか、何を試してどうなったのかも分からんが、 スクリプトの書き方からして根本的に駄目だ。 他のスクリプトをひとつでも見れば、どうしようもなく間違ってることくらい すぐに気づくはずなんだが。
670 名前:login:Penguin mailto:sage [2008/03/17(月) 22:06:58 ID:e/wCVwfQ] >>669 じゃあ手本見せてやれよ 分からない分からないばかり言ってないでさ
671 名前:login:Penguin mailto:sage [2008/03/17(月) 22:21:17 ID:YyeBPwCr] 手本は多数インストールされてるだろが。それを見れ。
672 名前:login:Penguin mailto:sage [2008/03/17(月) 22:41:19 ID:6m6H6SB/] >>663 Kってどこだぉ?
673 名前:login:Penguin mailto:sage [2008/03/17(月) 23:18:23 ID:EaiHugoC] >>672 Kentucky Fried Chicken に決まってるじゃないの
674 名前:login:Penguin mailto:sage [2008/03/17(月) 23:20:52 ID:+R0hndtT] >>664 runlevel 3は再起動じゃなかったりするわけだが。 /etc/inittabに説明が書いてないか? ついでにK99じゃ遅すぎて、呼ばれる前にkill -TERMくらうと思うわけで。 >>667 使えるはず。 kernelじゃなくてuClibc側が対応してなかったりする可能性もあるが。
675 名前:login:Penguin mailto:sage [2008/03/17(月) 23:46:58 ID:s0icvwwX] >>673 カーネルサンダースかw
676 名前:login:Penguin mailto:sage [2008/03/17(月) 23:58:03 ID:Rzp2mBZf] >>674 667ですが使えました。 あろがとうございました。
677 名前:login:Penguin mailto:sage [2008/03/17(月) 23:58:28 ID:Rzp2mBZf] ありがとうございました!
678 名前:login:Penguin mailto:sage [2008/03/18(火) 00:45:47 ID:pdz2c3Ck] KFCか
679 名前:login:Penguin mailto:sage [2008/03/18(火) 23:52:30 ID:pdz2c3Ck] 24時間で誤差1ミリsec以内に 時間を調節したいんだけど NTPだけじゃどうにもならん こうゆうときどうするの?
680 名前:login:Penguin mailto:sage [2008/03/18(火) 23:55:57 ID:owXiyD5i] >>679 KFCか、あきらめるんじゃないか?
681 名前:login:Penguin mailto:sage [2008/03/19(水) 00:00:57 ID:mZKM+MPD] GPSから受信するのがいいんじゃないか?
682 名前:login:Penguin mailto:sage [2008/03/19(水) 00:34:49 ID:jmy0fpSq] 受信機からシリアルで送ってもらうと、1msくらい余裕でぶれそうな 気がするでよ。 システムクロックをTCXOで作ればどうにかなりますかねえ。 そもそも何でそこまでの精度が必要なのか気になりますな。
683 名前:login:Penguin [2008/03/19(水) 01:52:51 ID:Dy7hJrHZ] >>679 さすがに1日1秒もずれねーよなー っていう前提の下に、1分に1回時刻合わせする
684 名前:login:Penguin mailto:sage [2008/03/19(水) 01:59:47 ID:hI6xFIVz] で、肝心のNTPサーバが他人様の物で、毎分の御アクセス ありがとうございます。というメールとともにアク禁にされると。
685 名前:login:Penguin mailto:sage [2008/03/21(金) 10:51:26 ID:GPURSs20] puttyなターミナルから入った最近のLinuxで、ncursesw使ってutf-8を表示しようとしたのだけど、 mvprintw(1, 0, "※"); mvprintw(1, 1, " "); mvprintw(1, 2, "※"); mvprintw(1, 1, "☆"); なら期待どおり ※☆※ になるのに、 mvprintw(1, 0, "※"); mvprintw(1, 1, " "); mvprintw(1, 2, "※"); mvprintw(1, 1, "あ"); と最後の☆を変えただけで ※あ に表示が崩れるのは、どこに原因があるのでしょうか?
686 名前:login:Penguin mailto:sage [2008/03/21(金) 23:04:14 ID:08/5PZeA] IMEの入力モードを変換するAPIってあるんでしょうか?
687 名前:login:Penguin mailto:sage [2008/03/26(水) 01:52:22 ID:cX9Hm6ZW] Linuxで各スレッドが何回Mutexかけて 失敗したとか統計情報ってどこにあるの?
688 名前:login:Penguin mailto:sage [2008/03/26(水) 21:37:02 ID:3c6tutxx] >>687 はっはっは 無いよ
689 名前:login:Penguin mailto:sage [2008/03/27(木) 02:27:08 ID:PiHD4Bq/] ねーのか 腐ってるんだな本当に windowsがやっぱ最強だな
690 名前:login:Penguin mailto:sage [2008/03/27(木) 23:02:19 ID:vcJKwHhP] WindowsはMutexかけ損なった統計があるのか スゴイな。どうやったら取れるんだい?
691 名前:login:Penguin [2008/03/28(金) 11:01:02 ID:HvPMQUTZ] イベントログじゃね? ところで、質問です。 iconvの使い方、サンプルコードがあれば、教えてください。 やりたいことは >SJIS 文字列と UTF8 文字列を相互に変換する ことです
692 名前:login:Penguin mailto:sage [2008/03/28(金) 13:32:01 ID:i9tqqt3j] iconv -f SJIS -t UTF-8 iconv -t SJIS -f UTF-8
693 名前:login:Penguin mailto:sage [2008/03/28(金) 15:51:47 ID:HvPMQUTZ] ありがとうございます。 プログラムから使う場合も教えてくださいorz
694 名前:login:Penguin mailto:sage [2008/03/28(金) 15:56:36 ID:s6QtoqP9] system()
695 名前:login:Penguin mailto:sage [2008/03/28(金) 17:40:02 ID:5TgcLqfx] シェルスクリプトからそのまま使え。 C99(UTF-8->SJIS) char *instr = "文字列"; char *i = instr; size_t i_len = strlen(i); char out[256]; char *o = out; size_t o_len = sizeof(out); iconv_t cd = iconv_open("SJIS", "UTF-8"); int r = iconv(cd, &i, &i_len, &o, &o_len); iconv_close(cd); iconvの引数は、普通cd以外全部書き換わるから、元のアドレスはどっかに取っとけ。
696 名前:login:Penguin mailto:sage [2008/03/28(金) 18:06:35 ID:HvPMQUTZ] 詳説サンクス>>695 ところで、現在の文字コードはどうやってとりますか? 環境変数のLANGですか? ttp://q.hatena.ne.jp/1136691036
697 名前:login:Penguin mailto:sage [2008/03/28(金) 18:11:06 ID:s6QtoqP9] pc11.2ch.net/test/read.cgi/unix/1127388574/202-205n の人?
698 名前:login:Penguin mailto:sage [2008/03/28(金) 18:12:36 ID:HvPMQUTZ] 当たり! これが解決すれば、もう無問題なんですが。
699 名前:login:Penguin mailto:sage [2008/03/28(金) 18:13:37 ID:5TgcLqfx] pc11.2ch.net/test/read.cgi/tech/1205795434/26 は?
700 名前:login:Penguin mailto:sage [2008/03/28(金) 18:14:29 ID:s6QtoqP9] >>698 なら板違い。
701 名前:login:Penguin mailto:sage [2008/03/28(金) 21:23:25 ID:s9WZiFsz] 環境変数は ・プロセス毎に持つものである。 ・どの環境変数をどう使うかは各プロセスに自由に任されている。OSは関知しない。 以上を踏まえて自分の目的が達成出来るか否か検討するよろし。
702 名前:login:Penguin mailto:sage [2008/03/31(月) 13:16:40 ID:psA1qVjr] 黒タイツの暗黒シュシュトリアン
703 名前:login:Penguin mailto:sage [2008/04/07(月) 09:04:17 ID:tYWKZpa/] C/C++でHDDの使用量を取得したいのですがどのようにすればよいのでしょうか?
704 名前:login:Penguin mailto:sage [2008/04/07(月) 10:52:59 ID:YCXHql+C] dfのソースでも読んでみれば
705 名前:login:Penguin mailto:sage [2008/04/07(月) 10:54:35 ID:eTKSmIvZ] ・kernel様にお伺いする。 ・アプリからI/Oポートを直接操作する。 かな。
706 名前:login:Penguin mailto:sage [2008/04/07(月) 13:33:34 ID:HanpYLz1] >>703 statfsを呼べばおk 続きはmanで
707 名前:login:Penguin [2008/04/07(月) 16:33:38 ID:K3aneVtn] 次期C++ではinline fortranが可能に! pc11.2ch.net/test/read.cgi/tech/1207109859/ 仕様肥大化しすぎ
708 名前:login:Penguin mailto:sage [2008/04/07(月) 18:02:15 ID:voVdLXCc] C++好きだけどいい加減自重してほしいとは思うな
709 名前:login:Penguin mailto:sage [2008/04/07(月) 20:42:31 ID:ky4RCRjO] 正直ワロタ。もはやネタの域にきとるな。次はinline C#とかw
710 名前:login:Penguin mailto:sage [2008/04/08(火) 14:18:36 ID:xYr9GeEI] スレッド間の排他について質問です。 現在、共有資源の内容を変更(新規追加・内容変更・削除)を行うスレッドが1つと 共有資源の参照のみを行うスレッドがN(N>=2)の構成のアプリケーションを開発 しています。 今まで、どちらのスレッドもアクセスするには同じMutexによる排他を行っていた のですが、どうにもスループットが出ないので、参照のみを行うスレッド間を並列に 動かせるようにするための方法を探していたところ、読み書きロック(正式には 何と呼ぶのでしょうか?)を発見しました。そこで、 変更するスレッド:変更前後で pthread_rwlock_wrlock() / pthread_rwlock_unlock() 参照するスレッド:参照前後で pthread_rwlock_rdlock() / pthread_rwlock_unlock() というようにして試験したところ、劇的にスループットが向上しました。 これはこれで良かったんですが、となるとMutexの存在意義について疑問が出てきました。 今後、あらゆるMutexを使用している場面で、読み書きロックを使用し、Mutexの出番は ない!と断言してしまって良いのでしょうか?
711 名前:login:Penguin mailto:sage [2008/04/08(火) 21:42:30 ID:VGg353lI] 常識的に考えれば、この世にロックの手法がいくつもあるからには、 それぞれ向き不向きがあるのではないかと思うだろ。 常識で分からなければソースコード読んでみれ。pthread_rwlock_rdlock()で やっている処理があらゆる場面で常に必要なのかどうか。
712 名前:login:Penguin mailto:sage [2008/04/08(火) 23:57:33 ID:weWUMveG] なんで参照でロックすんの?
713 名前:login:Penguin mailto:sage [2008/04/09(水) 00:19:39 ID:72MInrbZ] アトミック書き込み関数とかがPOSIXにはないから、かなー。 あとは、アレ、読み取り一貫性?そういうのを確保しないと、 これからはCPUコア数の増えていくからネ
714 名前:login:Penguin mailto:sage [2008/04/09(水) 01:48:54 ID:MHOGD1vi] つーと、具体的には変更スレッドと(参照スレッド)の同時発行時に参照スレッド側が遅延した場合とか考えてるのかな? だとすると、Mutexを利用して変更スレッド側の優先度をごにょごにょしたりするつーことなの?
715 名前:login:Penguin mailto:sage [2008/04/09(水) 12:36:11 ID:oZETFFXK] カーネル2.4の環境で、共有メモリを使用したプロセス間通信を行っているのですが、 プロセスが停止(終了ではなく一時停止)します。 ・AとBの2プロセスが動作しています。 ・AはBへメールを送信(msgsnd)します。 ・Bはメールを受信するとTCP/IP接続されたサーバに情報を送信し、 送信したことをAプロセスへメールで通知します。 これを繰り返していると、たまにBプロセスの関数途中でAプロセス側へCPUが スイッチされそのままBプロセスへ制御が戻らなくなります。 (システムコール等でブロッキングされているわけではありません) ※メール送信時の共有メモリは、メール送信毎に作成し、受信側で破棄する作りです。 ※今のところTCP/IP通信を行わないと発生しません。(ドライバは標準の物) ※一時停止したプロセスはコンソールへの入力等(H/W割り込み?)を行うと再開します。 このような現象にあった方はいないでしょうか?(長々とすみません)
716 名前:login:Penguin mailto:sage [2008/04/09(水) 12:56:09 ID:KQOYg6Em] 送信側にディレイを入れてみるとか?
717 名前:715 mailto:sage [2008/04/09(水) 15:05:40 ID:7C+zl+CD] すみません、情報が漏れていました。 AプロセスはBプロセスのTCP送信が終わるまで、次のメールは送信しません。 その為メールボックス一杯や、メモリ枯渇も無いはずです。
718 名前:login:Penguin mailto:sage [2008/04/09(水) 15:07:43 ID:KQOYg6Em] straceで調べてみるとか?
719 名前:login:Penguin mailto:sage [2008/04/09(水) 21:33:10 ID:miANdZt+] pthread_rwlock_wrlock()とか 遅いし使う価値ないじゃん 全部pthread_mutexの方が安全だし
720 名前:login:Penguin [2008/04/10(木) 17:20:05 ID:hC2NJA9B] 時間について教えて頂けないでしょうか? 1) 時間の取得(文字でなくて数値) 2) 時間のローカルタイム化 3) 夏時間の演算(tm_isdstの使い方が答?) を順番に行うコードもしくは関数を教えて頂けないでしょうか?
721 名前:720 mailto:sage [2008/04/10(木) 17:30:23 ID:hC2NJA9B] >1) 時間の取得(文字でなくて数値) については、gettimeofdayがあるみたいですね。 その後がよくわからなくてorz
722 名前:login:Penguin mailto:sage [2008/04/10(木) 17:33:38 ID:f9Jb/+FW] ? www.linux.or.jp/JM/html/LDP_man-pages/man2/gettimeofday.2.html
723 名前:720 mailto:sage [2008/04/10(木) 18:06:20 ID:hC2NJA9B] >>722 有難う。 1のgettimeofdayについては、分りましたが。。。
724 名前:login:Penguin mailto:sage [2008/04/10(木) 18:09:09 ID:f9Jb/+FW] >>723 そのページしか観賞しないの?
725 名前:login:Penguin mailto:sage [2008/04/10(木) 18:23:14 ID:hC2NJA9B] 分らないから聞いてるんですけど。 正直言って、 >>722 のリンクは書き込む前に読んでます。
726 名前:login:Penguin mailto:sage [2008/04/10(木) 18:24:02 ID:f9Jb/+FW] >>725 学生くん?
727 名前:login:Penguin mailto:sage [2008/04/10(木) 18:25:22 ID:hC2NJA9B] >>726 おまい、ウザさ極限。 消えてお願い。
728 名前:login:Penguin mailto:sage [2008/04/10(木) 18:26:26 ID:kK61Qe8m] >>725 ttp://www.google.com/
729 名前:login:Penguin mailto:sage [2008/04/10(木) 18:26:36 ID:xKGUAbUV] 時間と時刻の使いわけ ものをたずねるときの態度 終わってるな
730 名前:login:Penguin mailto:sage [2008/04/10(木) 18:53:32 ID:hC2NJA9B] おまいら、クズだな。 こういう回答を待ってたんだよ : ttp://www.ne.jp/asahi/hishidama/home/tech/lang/date.html
731 名前:login:Penguin mailto:sage [2008/04/10(木) 18:56:49 ID:f9Jb/+FW] LINUXの固有の質問じゃないのに、聞く場所間違ってる。 だだのCの標準関数の使い方だろ?
732 名前:login:Penguin mailto:sage [2008/04/10(木) 19:31:12 ID:hC2NJA9B] >>731 おまいはクズなだけじゃなく、チ●カス野郎だな。 おまいの出したPOSIXのヘルプ読んでみろよ。 今は使うべきでないものから、BSD拡張まで書いてあるからwww
733 名前:login:Penguin mailto:sage [2008/04/10(木) 19:32:46 ID:f9Jb/+FW] 職業プログラマ?
734 名前:login:Penguin mailto:sage [2008/04/10(木) 19:56:43 ID:kK61Qe8m] 中学生か高校生でしょ。関わらない方がいいよ。
735 名前:login:Penguin mailto:sage [2008/04/10(木) 20:33:34 ID:qQFVgABP] >>720 time_t t=time(); puts(ctime(&t); で出来るよ。夏時間は廃止されました。 ttp://www.linux.or.jp/JM/html/LDP_man-pages/man3/ctime.3.html
736 名前:login:Penguin mailto:sage [2008/04/10(木) 21:28:17 ID:1AAfwdH6] 低スキル職業プログラマでしょ。 で、誰かに知恵をつけてもらって必死でやり返そうとしてるんだろ。
737 名前:login:Penguin mailto:sage [2008/04/10(木) 23:15:29 ID:JcKcidtB] これは酷いわ
738 名前:login:Penguin mailto:sage [2008/04/11(金) 10:13:35 ID:Dl1bvkA3] >>735 >夏時間は廃止されました。 本当ですか??? 本当ならどれだけうれしいか。 ところで、>>720 の演算を順番に行うコードも知りたいです。
739 名前:login:Penguin mailto:sage [2008/04/11(金) 11:48:41 ID:sYNmn6Lb] >>738 >>735 がそのコードです。
740 名前:login:Penguin mailto:sage [2008/04/11(金) 12:29:22 ID:Dl1bvkA3] なるほどサンクス。 time(); ・・・UTC(もしくはGMT) ctime()・・・ローカルタイム化+文字列化 ですか。
741 名前:login:Penguin mailto:sage [2008/04/12(土) 01:40:35 ID:aMk0av0+] ていうか、「ありがとう」は?
742 名前:login:Penguin mailto:sage [2008/04/12(土) 08:56:08 ID:GsTcWvnq] サンクスって書いてあるじゃん
743 名前:login:Penguin [2008/04/12(土) 09:17:33 ID:H1hJd2mx] 以下のプログラム fd = iconv_open("EUCJP", "SJIS"); iconv(fd, (char **)&inptr, (size_t*)$size, (char **)&outptr, (size_t*)$size); iconv_close(fd); Valgrind --leak-check=yes でチェックすると、iconv_open()で Invalid read size of 4 Address xxxxxxx is 48 bytes inside a block of size 49 alloc'd とエラーを出すんですがiconv()を使っていて問題を起こしてる方いませんか? iconvの出力は正常なんですが
744 名前:login:Penguin mailto:sage [2008/04/12(土) 13:41:44 ID:2bOSym+8] iconvは危険だから使ってはいけない
745 名前:login:Penguin mailto:sage [2008/04/12(土) 13:45:36 ID:yzi8k0zU] 時代は酢昆布
746 名前:login:Penguin mailto:sage [2008/04/12(土) 15:09:02 ID:H1hJd2mx] >>744 アプリを書き換えることにしました。ありがとうございます。 >>745 そうだったんですか?初めて知りました。もっと勉強します。
747 名前:login:Penguin mailto:sage [2008/04/12(土) 17:16:01 ID:zeB3ARgq] そのドル記号は何だw
748 名前:login:Penguin mailto:sage [2008/04/18(金) 04:34:40 ID:fBS7BtR5] ログ出力の際にファイルロックが必要かどうか実験していたのですが、 ちょっと不思議な現象に出くわしました。 以下のプログラムを100プロセス同時に実行すると、hoge.logの一部で「wwritten」と なってしまう箇所があります。 fprintfでなくwrite(2)を使うと再現しないのでglibc(2.6.1)のせいだと思うのですが、 これはどういう原理なのでしょうか? #include <sys/file.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h> int main(int argc, char *argv[]) { int i; FILE* fp = NULL; int fd; int pid = getpid(); fp = fopen("hoge.log", "a"); if (!fp) { exit(1); } fd = fileno(fp); for (i=0; i<10000; i++) { flock(fd, LOCK_EX); fprintf(fp, "written by pid %d\n", pid); flock(fd, LOCK_UN); usleep(1000); } fclose(fp); return 0; }
749 名前:login:Penguin mailto:sage [2008/04/18(金) 06:27:36 ID:cYJ/Gams] >>748 flock(fd, LOCK_EX); fprintf(fp, "written by pid %d\n", pid); + fflush(fp); flock(fd, LOCK_UN); まあglibcのせいと言えなくもないが…
750 名前:login:Penguin mailto:sage [2008/04/18(金) 07:27:29 ID:twxhbmPg] いや、「glibcのせい」と言ってはマズイじゃろ。「Cのせい」だよな。 つーか、この内容ならロックを取らずにアトミックに書き出せばええやん。
751 名前:748 mailto:sage [2008/04/18(金) 13:21:14 ID:3NdGmVsA] fflushとはすっかり忘れていました。 ついでにお聞きしますが、ログ追記の定石というのはあるのでしょうか? ・ロックは不要か ・1行書くたびにfflushではパフォーマンスが気にならないか ・クラッシュしたときのためatexitでfcloseするべきか とりあえずlog4cではflushもロックもしていないようでしたが。
752 名前:login:Penguin mailto:sage [2008/04/18(金) 17:28:29 ID:PjXu6NLk] 要件による。
753 名前:login:Penguin mailto:sage [2008/04/18(金) 20:38:56 ID:5dGB6yjX] 複数のプロセスからひとつのファイルに書き込むなら、 open(2)にO_APPENDをつけてファイルを開いておき、 write(2)で書き込むのが常道だろう。 ディスク表面への同期を行うべきか否かについては ケースバイケースだな。
754 名前:login:Penguin [2008/04/18(金) 21:48:41 ID:BhtI3++S] こなあああああああああああああああああああああああああああ
755 名前:login:Penguin mailto:sage [2008/04/18(金) 22:22:47 ID:gtZqIZ8N] / | / ̄/__ / ̄ ̄/ __ / / /_ 〃 / | /_/ _/ _/ /_/ / /\___/ヽ (.`ヽ(`> 、 /'''''' ''''''::::::\ `'<`ゝr'フ\ + |(●), 、(●)、.:| + ⊂コ二Lフ^´ ノ, /⌒) | ,,,ノ(、_, )ヽ、,, .::::| ⊂l二L7_ / -ゝ-')´ + | `-=ニ=- ' .:::::::| + \_ 、__,.イ\ + \ `ニニ´ .:::/ + (T__ノ Tヽ , -r'⌒! ̄ `":::7ヽ.`- 、 ./| ヽ¬. / ノ`ー-、ヘ<ー1´| ヽ | :::::::::::::ト、 \ ( ./ヽ \l__,./ i l.ヽ! | .| ::::::::::::::l ヽ `7ー.、‐'´ |\-、 int main() { char* str="Hello World\n"; printf("Hello World\n"); return 0; }
756 名前:login:Penguin mailto:sage [2008/04/18(金) 22:48:41 ID:twxhbmPg] >>755 www.gnu.org/software/hello/hello.html
757 名前:login:Penguin mailto:sage [2008/04/19(土) 00:19:45 ID:764YM5Ap] >>756 apt-get install hello
758 名前:login:Penguin mailto:sage [2008/04/19(土) 01:01:26 ID:FPfrqFBy] 用意したデータをそのままIPのペイロードとして(IPのヘッダだけをつけて)送り出したいのですが、 具体的な方法を教えていただけないでしょうか。 できるだけ自分でプログラムを書かず、 既存のものを利用して実現したいと思っています。
759 名前:login:Penguin mailto:sage [2008/04/19(土) 01:52:35 ID:764YM5Ap] >>758 libnet
760 名前:login:Penguin [2008/04/19(土) 02:08:23 ID:+tIgJ88f] >>755 elisp で書いてみて
761 名前:login:Penguin mailto:sage [2008/04/19(土) 09:33:24 ID:FPfrqFBy] >>759 ありがとうございます。 これから調べてみます。
762 名前:login:Penguin [2008/04/24(木) 13:01:17 ID:Eon8tTkZ] libcのprintfってスレッドセーフなん? 出力が混じるくらいは目をつぶるとして
763 名前:login:Penguin [2008/04/24(木) 13:17:50 ID:8jColJMw] これもしかして俺が作ったスレ? 違ったっけ?
764 名前:login:Penguin [2008/04/24(木) 14:41:36 ID:8jColJMw] なぁおまえら。 char* ch; というような宣言があったとして、chはcharポインタ型と言って しまっていいんかな?
765 名前:login:Penguin mailto:sage [2008/04/24(木) 14:44:23 ID:j6EvvzSE] キャラクター型ポインタ、略して きゃらぽ
766 名前:login:Penguin [2008/04/24(木) 14:52:04 ID:8jColJMw] >>765 だよなぁ。 ttp://slashdot.jp/developers/comments.pl?sid=395832&cid=1323420 ここら辺見ててちょっと疑問に思ったんだ。 きゃらぽか。 使わせてもらうぜ。
767 名前:login:Penguin mailto:sage [2008/04/24(木) 14:58:21 ID:uGjCjb2u] Cの宣言の解釈順に読むとchはpointer to char chはcharへのポインター
768 名前:login:Penguin mailto:sage [2008/04/24(木) 23:11:14 ID:Py8lS3wT] >>762 ちゃんと見てないが考慮はしてるようだ@2.7 書く所で排他制御してりゃ混ざらんとは思うが。
769 名前:login:Penguin mailto:sage [2008/04/25(金) 12:46:43 ID:ZR+Ag5j0] 何かのポインタ本読んだときに ポインタは英語で読めってのは結構良かった 以来、>>767 と同様、一度英語にしてから読んでいる
770 名前:login:Penguin mailto:sage [2008/04/26(土) 18:14:13 ID:VSA6Tw/p] 俺は複雑な宣言だと、英語の訳し方があやしいから cdeclコマンドを使って確認かな。 cdecl> explain char *(*(*hoge[10])())() declare hoge as array 10 of pointer to function returning pointer to function returning pointer to char
771 名前:login:Penguin mailto:sage [2008/04/26(土) 18:43:45 ID:SnvFIl5v] right to leftの原則で自力で嫁
772 名前:login:Penguin mailto:sage [2008/05/01(木) 00:31:02 ID:scTgaskf] msgctlに必要な権限ってrootだけなんでしょうか?
773 名前:login:Penguin mailto:sage [2008/05/07(水) 19:15:08 ID:a19YHgic] >764へ おまえ 読み方は、さておき 一般的に char* ch; ってコードがあったら何を連想する?
774 名前:login:Penguin mailto:sage [2008/05/07(水) 23:32:30 ID:cSvceTAy] スレッドの生成(pthread_create)を実施する関数のテストをしています。 スレッド生成が失敗した場合のケースをテストしたいんですが、意図的に pthread_createを失敗させる方法が分かりません。 PTHREAD_THREADS_MAX をいじっても当然無意味(そもそも、コメントアウトされている)で、 /proc/sys/kernel/threads_max はマシン全体にわたるパラメータなので、 他の使用者(共通端末上で開発しています)に迷惑がかかってしまいます。 プロセス毎の生成可能スレッド数を動的にいじることができれば理想です。 どなたか、妙案をご存知の方いませんでしょうか?
775 名前:login:Penguin mailto:sage [2008/05/07(水) 23:58:46 ID:pHDw0dkU] >>774 ulimitコマンドとかどうよ
776 名前:login:Penguin mailto:sage [2008/05/08(木) 00:54:12 ID:Zr8j43HW] $ ulimit -u 32752 $ ulimit -u 3 3 $ ls bash: fork: Resource temporarily unavailable $ ulimit -u 32752 bash: ulimit: max user processes: cannot modify limit: Operation not permitted ひエエエええええええええ
777 名前:login:Penguin mailto:sage [2008/05/08(木) 01:03:51 ID:y2WVcfdv] >>776 おいおいw
778 名前:login:Penguin mailto:sage [2008/05/08(木) 04:42:09 ID:jTb0scH/] これってどう直すんだw execで置換もforkが前段に入るから無理?
779 名前:login:Penguin mailto:sage [2008/05/08(木) 07:40:35 ID:67SUhF1P] あきらめてログアウトすれ。 ちゃんとman page読んでから試せよ…
780 名前:login:Penguin mailto:sage [2008/05/09(金) 17:52:15 ID:NYmc9yfk] マソパゲ
781 名前:login:Penguin mailto:sage [2008/05/10(土) 14:29:04 ID:QmEn1LiA] dlopenや共有ライブラリのプロファイル情報を 取りたいのですがどうすればいいの? 普通に-pgでコンパイルしても gmon.outにmain1個だけしか出てこないw
782 名前:login:Penguin mailto:sage [2008/05/10(土) 19:29:59 ID:s9qAIz4p] 実験でゲームサーバーを構築したいのですが クライアント側からのキー入力をTCP/IPプロトコルで、サーバーに送信する技術ってやっぱり socketを用いるのが吉?
783 名前:login:Penguin mailto:sage [2008/05/10(土) 19:38:32 ID:iYMWpnHw] ソケット以外の何でTCP/IPするというのだろうか・・・
784 名前:login:Penguin mailto:sage [2008/05/10(土) 19:44:22 ID:s9qAIz4p] >>783 linuxや通信関係の実装は、一回もやったことが無いので、確認させてもらいマスタ 元々C++使いなので、Cはわかるのですが、linuxのプログラミングに関して Cの情報は多いけど、C++の情報が少ないのが残念デツ 車輪の再発明はしたく無いので、C++のsocketのライブラリィーとか知っていたら教えてもらえマツカ オナガイシマスエロイヒト
785 名前:login:Penguin mailto:sage [2008/05/10(土) 20:34:18 ID:/xnxdJoy] >>782 クライアント側が BSD socket インタフェース持ってるんだったらそれが吉 もっと便利なライブラリがあるんだったらそれを使う方が、おそらく、もっと吉 そうでなければ使ってる OS の流儀に従うしかねぇんじゃねぇの?
786 名前:782 mailto:sage [2008/05/10(土) 20:52:57 ID:s9qAIz4p] >>785 thx 何となくですが、輪郭が見えてきました WindowsのクライアントはMFCの中に多分berkley socket関連のライブラリがあると思うので それを使います、問題はlinuxでの実装になります、いろんなシステムコールが準備されているみたいですが 早速つまづいています(^^; dstSocket = accept(srcSocket, (struct sockaddr *) &dstAddr, &dstAddrSize); accept()システムコールでこんなエラーが出ます error: invalid conversion from \342\200\230int*\342\200\231 to \342\200\231 socklen_t\342\200\231 型変換が違うとコンパイラは言ってると思うのですが、引数の型は accept(int,(struct sockaddr *) arg1, arg2); なので正しいと思うのですが・・・・・?
787 名前:login:Penguin mailto:sage [2008/05/10(土) 21:06:13 ID:i6s1t4ei] >>786 こっちの方がいいと思うよ ネットワークプログラミング相談室 Port21 pc11.2ch.net/test/read.cgi/tech/1204287577/
788 名前:login:Penguin mailto:sage [2008/05/10(土) 21:09:29 ID:fPB8nF+C] 型がおかしいって言われてるのにどの型を使ってるか書かないのは釣りなのか?
789 名前:782 mailto:sage [2008/05/10(土) 21:15:38 ID:s9qAIz4p] >>787 >>788 thx ネットワークプログラミング相談室 Port21 pc11.2ch.net/test/read.cgi/tech/1204287577/ へ移動します
790 名前:login:Penguin [2008/05/22(木) 14:41:47 ID:NBp9AMHO] すみませぬ。 規則性を持って空のファイルを作る場合にCPUやメモリに負荷を あまり掛けないで作る方法ありますか? gccと標準的なシステムコールでお願いします。 open文で作ってますが、ファイルI/Oは、結構な仕事 なので、少しでも軽くしたいです。 規則はN文字のaaa(N=3)というファイルを作成 aab aac aad aba zaa .. zzz のように作ります。 規則性は、あまり関係ないですけど。 結構な大量ファイルを作成する必要があります。
791 名前:login:Penguin [2008/05/22(木) 14:50:27 ID:WyDCfVht] すみませぬ。 LUNAXにプログラムにおいて 20という数字をターミナルに入力したら、 それを読み取り、30という数字を表示する プログラムの作り方がわからない為、教えて頂けませんか??
792 名前:login:Penguin mailto:sage [2008/05/22(木) 14:51:55 ID:It4hntbe] 日本語でおk
793 名前:login:Penguin mailto:sage [2008/05/22(木) 15:02:39 ID:K3H4Ah9R] read; echo 30
794 名前:login:Penguin mailto:sage [2008/05/22(木) 15:05:22 ID:K3H4Ah9R] >>791 マルチか。 pc11.2ch.net/test/read.cgi/linux/1195282255/435
795 名前:login:Penguin mailto:sage [2008/05/22(木) 15:34:55 ID:gmG2tmnb] >>790 open/creat呼び出しはどうにもならんだろう。 FS側でジャーナリング止めるとか…
796 名前:login:Penguin mailto:sage [2008/05/22(木) 16:09:36 ID:cM6TBq1G] >>791 突っ込み所満載だから誰も突っ込んでないけど、LUNAXって何だよ・・・
797 名前:login:Penguin mailto:sage [2008/05/22(木) 22:32:21 ID:azKjZoxE] >>795 この場合、ext3のジャーナリングがオーバーヘッドとして比重が相当に 大きくなってそうですな。
798 名前:login:Penguin mailto:sage [2008/05/23(金) 00:22:04 ID:xL+nAK0I] メモリ上にあるデータのmd5sumを取得(計算)したいんですが、 GNU coreutilsのmd5sum.cから貰ってくる以外に簡単な方法は 無いでしょうか。
799 名前:login:Penguin mailto:sage [2008/05/23(金) 00:45:45 ID:nmi3RI3q] >>798 RFC1321のAppendixを丸写しする
800 名前:login:Penguin [2008/05/24(土) 01:18:02 ID:QlwIdcZn] カーネルが持ってるのをどうにか持ってくる。
801 名前:login:Penguin mailto:sage [2008/05/24(土) 01:27:20 ID:QlwIdcZn] Cryptographic APIってユーザーランドから使う方法ないんだっけ?
802 名前:login:Penguin mailto:sage [2008/05/24(土) 13:30:43 ID:jv/eFsuY] パイプでmd5sumに流し込めば?
803 名前:login:Penguin mailto:sage [2008/05/24(土) 14:15:42 ID:AYrBRDvb] 正直、LinuxよりLunaxの方がかっこいいと思った
804 名前:login:Penguin mailto:sage [2008/05/24(土) 17:32:54 ID:8/0PspEJ] >>798 やったことねーけど、そういうライブラリがあるんじゃね?
805 名前:login:Penguin mailto:sage [2008/05/26(月) 15:21:05 ID:fXE9sIkN] opensslが入ってるなら、EVP_md5
806 名前:790 [2008/05/28(水) 14:15:25 ID:7atgnQdI] すみません。 open以外に空ファイルを作る、CPUやメモリに負荷を掛けない 方法ありますか?
807 名前:あいちゃん mailto:sage [2008/05/28(水) 14:44:30 ID:u23B6L4S] どうにかしてプラッタに刻む
808 名前:login:Penguin [2008/05/28(水) 21:51:43 ID:hyFpgWYw] ドライブに負荷を掛けにくい方法ならある cpuとメモリの負荷を減らしDMA転送も出来る。 が、負荷を かけない ってのは無理
809 名前:login:Penguin [2008/05/28(水) 22:21:06 ID:6Rl9Qb5b] >>806 システムコールを使いたくないなら、次のようにするしかないんじゃないかな? 1. ext3ドライバのソースを読んで空ファイルの作り方を調べる。 2. 直接HDDを操作して空ファイルを大量発生させるプログラムを作る
810 名前:login:Penguin mailto:sage [2008/05/28(水) 22:37:58 ID:tp55Dea8] あらかじめファイルが格納された状態のファイルシステムのイメージを用意して、 raw I/Oなりddなりでビットマップやinode領域等を書き込めば軽いだろ。 ファイルシステムを破壊するけどなw
811 名前:login:Penguin [2008/05/28(水) 23:36:20 ID:7atgnQdI] >>809 システムコールがだめってわけじゃないけど touchやcpのソース(coreutil)とか調べて負荷が低いのを探してた。 ext3のソースは未だ調べてない。調べて見る。 >>808 はい、より負荷を掛けない方法を模索してます。 >>810 考えてたけど、排他がマンドクセーと思ったので、未だやってないっす
812 名前:798 mailto:sage [2008/05/29(木) 02:30:49 ID:rITSsBYp] >>799-805 皆さんありがとうございます。 返事が遅れたことをお詫びします。 >>805 さんのレスを見て、opensslを調べたところ www.openssl.org/docs/crypto/md5.html ここにMD5()という「まさに」な関数があって、 無事動きました。 色々知恵を絞っていただき、本当にありがとうございました。
813 名前:login:Penguin mailto:sage [2008/06/03(火) 14:19:26 ID:KXye7tRy] >>811 superblockいじっちゃいなよ。
814 名前:login:Penguin mailto:sage [2008/06/16(月) 22:07:27 ID:hghHQ/gK] write()でファイルに書き込んだあと close()しても、すぐにはディスクには同期されていなくて、 タイムラグがあるそうなのですが、 close()した直後に別のプログラムから同じファイルを open()してread()しようとしたら、どうなるのでしょうか? その前にwriteした内容はちゃんと読み込まれるのでしょうか?
815 名前:login:Penguin mailto:sage [2008/06/16(月) 22:47:57 ID:B5/Uz4Q9] >>814 ちゃんと読み込まれる。バッファ統合されているから。 バッファ統合前の、昔のUnixではその点の保証がなかったが、 いまどきのUnix系OSはみんな統合されている。
816 名前:login:Penguin mailto:sage [2008/06/19(木) 00:29:34 ID:DwSvGKMg] ダーティーなデータの読み取りって昔は出来なかったの?
817 名前:login:Penguin mailto:sage [2008/06/19(木) 08:16:32 ID:B2b558bH] 読み込みに使うキャッシュと書き込みで使うバッファとが別々だったから ダーティ・ページもクリーン・ページもない。
818 名前:login:Penguin mailto:sage [2008/06/19(木) 14:22:38 ID:qCoUXFkj] おお。なるほど。知らなかった。 ページキャッシュとバッファキャッシュの統合とか言う前の段階か。
819 名前:login:Penguin mailto:sage [2008/06/30(月) 22:13:50 ID:j7UJtdfw] 今日ソフトバンクから出た デバドラの本最強すぎます バイブルの域に入ります
820 名前:login:Penguin mailto:sage [2008/06/30(月) 22:18:50 ID:haG/mU8k] 本の題名を詳しく
821 名前:login:Penguin mailto:sage [2008/06/30(月) 22:34:08 ID:j7UJtdfw] Linux デバイスドライバプログラミング
822 名前:login:Penguin mailto:sage [2008/07/01(火) 00:18:07 ID:jjjb16mB] >>821 目次見る限り、買う価値はありそうな気がするね。 までも、オライリーのドライバ本読んだら、カーネル解説書読んで とっととソース読めって気もするが。
823 名前:login:Penguin mailto:sage [2008/07/01(火) 00:19:23 ID:jjjb16mB] といいつつ、Amazonで1click購入してしまた
824 名前:login:Penguin mailto:sage [2008/07/01(火) 00:22:32 ID:u/xfrfGj] >>822 でもソース読んでも どうしても解らないことがる mmapでユーザに領域明け渡してpollで データ通知するのはいいんだけど ユーザが書いてきたデータをkernelに通知 させるのがよく解らん 馬にはそんなこと1行も記述されていないし
825 名前:login:Penguin mailto:sage [2008/07/01(火) 00:33:15 ID:jjjb16mB] >>824 >ユーザが書いてきたデータをkernelに通知 >させるのがよく解らん なんでもioctlしてしまえばOK
826 名前:login:Penguin mailto:sage [2008/07/01(火) 00:41:24 ID:u/xfrfGj] >>825 それ昔海外のBBSいったら ふるぼっこにされたんだけど?
827 名前:login:Penguin mailto:sage [2008/07/01(火) 00:45:03 ID:jjjb16mB] >>826 ちらねっっっっっw
828 名前:login:Penguin mailto:sage [2008/07/01(火) 00:51:09 ID:jjjb16mB] もうさ、read, writeなくしちまって、open, close, ioctlだけでいい気がするのだけど どうなんだろう。read, write, SIGIOとか、柔軟性ないし。最低、引数付きシグナル は必要。
829 名前:login:Penguin mailto:sage [2008/07/01(火) 13:53:54 ID:JO6lQKf2] >>828 「ケンシロウ、ioctlはいいぞ」 という声が聞こえてきました。 read,writeは シェルからでも使えるようにするための種もみです。
830 名前:login:Penguin mailto:sage [2008/07/05(土) 11:02:49 ID:ouwQp4GB] スレッドチューニング用のプロファイラってありませんかね?
831 名前:login:Penguin mailto:sage [2008/07/05(土) 12:39:14 ID:GSKLgaHv] ありません
832 名前:login:Penguin mailto:sage [2008/07/05(土) 13:05:00 ID:ouwQp4GB] ズコー
833 名前:login:Penguin mailto:sage [2008/07/12(土) 13:14:06 ID:j34+JRvX] ubuntu 8.04-64bitで bfd_minisymbol_to_symbol使うと問答無用で segるんだけど何が原因なんすかね?
834 名前:login:Penguin mailto:sage [2008/07/16(水) 02:13:51 ID:5DOmporE] PC/AT機のI/Oポートを操作するような時に、outb_pと(普通の)outを使い分ける 条件ってどうなってるんでしょうか? 『I/O操作の遅いデバイス』と『I/O操作の早いデバイス』で使い分ければよいのでしょうか?
835 名前:login:Penguin mailto:sage [2008/07/16(水) 08:46:59 ID:IjcD5fhK] >>834 まあそんな感じでよろしいのではないかと。 コマンド書いてから動き始める間で時間かかりますなんてのは、 outb_pでつつくのがよいです。
836 名前:login:Penguin [2008/08/15(金) 23:35:52 ID:Dq4dt+Vm] 質問させてください。 デバドラからアプリケーションにイベント通知したいときって どういう風に実装するのがフツウなんでしょうか。 よろしくお願いしますm(_ _)m
837 名前:login:Penguin mailto:sage [2008/08/16(土) 08:28:54 ID:DPUB+UTd] >>836 アプリケーションがioctlを呼んで、その呼び先のデバイスドライバで イベントが無かったら寝る。デバイスドライバでなんかイベントがあったら、 寝てるやつを起こす。って実装しときゃいいんじゃない?
838 名前:login:Penguin mailto:sage [2008/08/16(土) 09:07:36 ID:Xdxhavca] それならpollの方がよいのではないかと。
839 名前:login:Penguin mailto:sage [2008/08/16(土) 13:28:44 ID:KgWh2K36] read, write, pollいらねーんじゃね。ioctlでなんでもできるし、シグナルも不要。
840 名前:login:Penguin [2008/08/17(日) 04:15:45 ID:RamYD2Yk] >>837 >>838 >>839 レスありがとうございます! システムコール内で待つのが常套手段みたいですね。 ところで、 教えていただいた情報をもとに調べていくうちに、 デバドライベントを複数同時待ちしたいという新たな欲望が生まれてしまいました。 pollを実装すれば要件をみたせるようなので、 今回はpollを使うことにします。 ありがとうございました!!
841 名前:login:Penguin mailto:sage [2008/08/22(金) 18:32:31 ID:r1fvTloB] LinuxのカーネルモジュールをC++で作りたいんだけど無理? とりあえずCで書いた本体の.oとg++で吐いた.oをリンクして、モジュールをビルドしたら.koは出来るんだけど、シンボル解決出来ずinsmodに失敗した。
842 名前:login:Penguin mailto:sage [2008/08/22(金) 20:40:29 ID:EJDA2Uuj] C++ シグネチャでググレ
843 名前:login:Penguin mailto:sage [2008/08/24(日) 07:51:45 ID:T31yXksn] Tcl/Tk 最近のものは、けっこう強力になったし、スピードも上がってるようだが、 あまり流行ってないのか? Linux, FreeBSD, MacOS X, Windowsと、殆んど同じコードが使えて便利なようなのだが…
844 名前:login:Penguin [2008/08/24(日) 13:24:24 ID:WgO6gp39] >>843 gtk+やwxWidgetsと比較してどうなの? 興味がわいたのでTkだけ使ってみたいのだけど おすすめ解説ページとかあったら教えてください。 特に画面遷移とかC/C++との連携方法とか・・・
845 名前:login:Penguin mailto:sage [2008/08/24(日) 13:36:45 ID:s1lwltE0] tkはともかく、tclを使ってる所なんてここ何年も見たこともない
846 名前:login:Penguin mailto:sage [2008/08/24(日) 15:41:43 ID:IEvm07Rz] EDA関係ではまだ多いんじゃないの?
847 名前:login:Penguin mailto:sage [2008/08/24(日) 18:03:42 ID:n5RJcPI7] 淘汰されたのに昔に戻してくれるなよ
848 名前:login:Penguin mailto:sage [2008/08/25(月) 08:28:43 ID:LUi0Re9e] 日経からムック『すばりわかる!Tcl/Tk』出ないかなあ。 『ゼロから学ぶgtk+』でもいい。
849 名前:login:Penguin mailto:sage [2008/08/25(月) 23:41:00 ID:/KPpX7xT] >>845 ネットワーク業界ではテストツールを書くのにがんがん使われている。
850 名前:login:Penguin mailto:sage [2008/08/26(火) 01:48:59 ID:QgHqFXA9] Tcl/Tkの日本語情報があまりにも少なすぎる。
851 名前:login:Penguin mailto:sage [2008/08/26(火) 07:48:19 ID:B+1DI1fl] >>850 確かに、Tcl/Tkの情報が少ないよね、そこそこ使われてるような気がするんだけど。 >>844 さんが言ってる c/c++ /Tk の情報は、殆んど皆無だもんね。 最近、山森さんがチョッピリ書いてるのはあるけども… ttp://journal.mycom.co.jp/column/helloworld/013/index.html
852 名前:login:Penguin mailto:sage [2008/09/03(水) 13:10:00 ID:nxPN9M20] gtkmm使ってこんなの作ってみました www.vector.co.jp/soft/winnt/game/se461309.html これからQt4・gtkmmのどちらを使っていくか迷ってるんですが QTはGUIからネットワーク・サウンドなど様々な分野に対応したライブラリ gtkmmはGUIのみのライブラリだがウィジェットの生成・消去の処理はこちらのほうが早い 処理時間は優先させたいがいろんな機能が統合されている魅力も捨てがたい... どちらを使うべきでしょうか
853 名前:login:Penguin mailto:sage [2008/09/04(木) 02:03:16 ID:yL02FzIi] 両方
854 名前:login:Penguin mailto:sage [2008/09/04(木) 19:25:48 ID:kxSlZy+f] Qt4を少しだけ触ってみたんですがgtkmmにくらべ,ウィジェットの生成・消去にかかる処理時間が2〜3倍 さらに2D描画の処理時間が1.5〜2倍くらいかかりました. これって仕様?
855 名前:login:Penguin mailto:sage [2008/09/04(木) 21:34:53 ID:5liswdaD] gtkmmはCだろうけど、QtはC++だからしょうがないんじゃね。 GUIみたいなやつだと
856 名前:login:Penguin mailto:sage [2008/09/04(木) 22:58:04 ID:kxSlZy+f] gtkmmはGTK+のC++バインディングですよ それにC++とC言語でも処理時間はさしてかわらないはず Debian使ってGNOMEデスクトップでQT4インストールしてやってるんですが 同じ言語で処理速度に2〜3倍の差が出るとかありえるんでしょうか
857 名前:login:Penguin mailto:sage [2008/09/04(木) 23:35:03 ID:5liswdaD] 速度差が気になるなら、プロファイル取って原因調べるなり なんなりする。調査結果貼り付けたら、喜ぶ人もいる。 俺は、めんどいから調べないがw
858 名前:login:Penguin mailto:sage [2008/09/04(木) 23:55:48 ID:kxSlZy+f] とりあえず処理速度gtkmm>Qt4と結論づけて Qt5出るまでgtkmm使うことにします GTK枯れてるのであまり使う気は引けるのですが... 本屋なんかでQt4の本とかはよく見かけるのに GTKの本なんかは絶版しててAmazonで全国5冊とかそんなのばかり...
859 名前:login:Penguin mailto:sage [2008/09/05(金) 00:20:36 ID:yJYLbrdu] gnome上でQTは時間かかるでしょ、逆も真なり。
860 名前:login:Penguin mailto:sage [2008/09/05(金) 00:24:58 ID:uvh8bhuM] Qtは時間かかんないよ。 KDEアプリはDCOPサーバ立ち上げるのに時間かかるけど。 GTKもKDE上で特に時間がかかるような事はない。
861 名前:login:Penguin mailto:sage [2008/09/05(金) 02:26:52 ID:B9KHGXh3] ここは一つGASで…
862 名前:login:Penguin mailto:sage [2008/09/05(金) 02:52:39 ID:vjYSyV9j] 軽くてシンプルなツールキットを自分で作っちゃえば?
863 名前:login:Penguin [2008/09/09(火) 23:40:53 ID:YosnVhH1] Xtで十分
864 名前:login:Penguin mailto:sage [2008/09/10(水) 19:47:10 ID:8bQJIIgG] GAMBASってやっぱ人気ねーのな。
865 名前:login:Penguin [2008/09/24(水) 15:06:15 ID:OEqJ5D76] wxWidgets、機能面は申し分ないけど 小さいアプリでもなんかもっさりするな。
866 名前:login:Penguin mailto:sage [2008/09/26(金) 20:03:57 ID:w561g39v] selectでファイルを監視していて、selectが帰る度に前回からの経過時間を取得したい ntpdが動いていてる環境なんですけど、10ms精度で取得する方法はありませんか?
867 名前:login:Penguin mailto:sage [2008/09/26(金) 20:23:15 ID:QxRUqolh] >>866 clock_gettime(3) でいいんじゃね?
868 名前:login:Penguin mailto:sage [2008/09/26(金) 21:20:06 ID:w561g39v] >>867 ありがとうございます。
869 名前:login:Penguin mailto:sage [2008/09/28(日) 11:24:17 ID:p6UHPaTd] GTKのプログラミングの本ってどれおぬぬめデスか_?
870 名前:login:Penguin mailto:sage [2008/09/28(日) 15:20:53 ID:xpXgBPBo] いくつもないんだし 全部読め
871 名前:login:Penguin mailto:sage [2008/09/28(日) 15:44:21 ID:p6UHPaTd] どれあるんすか?
872 名前:login:Penguin mailto:sage [2008/09/28(日) 15:57:29 ID:CeAQTKB8] >>871 ttp://www.gtk.org/documentation.html#Books
873 名前:login:Penguin mailto:sage [2008/09/28(日) 16:02:40 ID:p6UHPaTd] やっぱり勉強やめた 英語無理
874 名前:login:Penguin mailto:sage [2008/09/28(日) 16:05:02 ID:IgG6wSSR] www.iim.ics.tut.ac.jp/~sugaya/wiki/wiki/
875 名前:login:Penguin mailto:sage [2008/10/15(水) 14:17:07 ID:eYzFomnv] ttp://www.gnome.gr.jp/docs/gtk+-1.2.x-refs/gtk/index.html ttp://www.gnome.gr.jp/docs/gtk+-2.0.x-tut/gtk-tut.html ttp://www.gnome.gr.jp/docs/gtk+-1.2.x-refs/gdk/index.html 日本語のGTKマニュアルだとこれくらい ぐぐればほかにもあるかもしれんけど 市販の本もあるらしいが入手はほぼ不可 学びやすさではQtか... ただモジュールが膨大なせいか GTKより仕様が複雑
876 名前:login:Penguin mailto:sage [2008/10/16(木) 11:54:52 ID:0uol2Q5Z] >>873 1年前は俺もそう思ってたよ。 ところが仕事でやるようになって、 解らなくても必死に調べてたらそのうち解るようになってきた。 結論としては解らなくても続けていればなんとかなる。 ただ一人じゃつらいから仲間は必要だな。 Qtなら多少説明できるが、GTK+は未経験。 でもQtはWindowsと考え方はたいして変わらなかった。 やりたい人がいるんなら、プログラミングサークルwでもつくる?
877 名前:login:Penguin mailto:sage [2008/10/18(土) 12:10:00 ID:KYR9fNBQ] >>876 とりあえず、飽きるのに耐えつつ 昨日届いたFoundations of GTK+ Development を読んでいる。
878 名前:login:Penguin mailto:sage [2008/10/20(月) 03:11:00 ID:kADyao8b] >>877 乙
879 名前:login:Penguin mailto:sage [2008/10/25(土) 02:32:58 ID:qRPC/mBT] 結局wine入れてWin32API使うのが楽 すなわちWindows使うのが一番楽
880 名前:login:Penguin mailto:sage [2008/10/25(土) 06:24:50 ID:wJ7HZZJn] 素のWin32APIは… VCLがお手軽で良かったのう。
881 名前:login:Penguin mailto:sage [2008/10/25(土) 19:40:27 ID:IwBjdQTZ] つまりLinuxデスクトップがWineで構成されているディストリビューションがリリースされればいいのか...
882 名前:login:Penguin mailto:sage [2008/10/28(火) 00:43:16 ID:AhwFq0EP] Lindows再び みたいなのがそのうち出るんだろうね。 Mono2.0では.NETアプリケーションの45%は修正なしでいくらしい。
883 名前:login:Penguin mailto:sage [2008/10/28(火) 00:48:56 ID:r3ekrN11] VBやDelphiみたいなのが出ればWindowsのサンデープログラマーが移行しやすいと思うね。 あとは開発ドキュメントの日本語化。
884 名前:login:Penguin mailto:sage [2008/10/28(火) 08:01:42 ID:DXJuo0mx] もう過去に失敗してるけどね まあ何度でもトライすればいいとは思うが
885 名前:login:Penguin mailto:sage [2008/10/28(火) 21:59:26 ID:Vec0SHgw] perl python rubyあたりのスクリプト言語と適当なGUIライブラリで 十分だろ。趣味なら。
886 名前:login:Penguin mailto:sage [2008/10/28(火) 22:24:22 ID:Z2Jy68nM] なんでGTKでのGUI開発って 宗教的儀式作法としか考えられんほど糞なコーディング強いるの?
887 名前:login:Penguin mailto:sage [2008/10/28(火) 22:33:00 ID:HPnu13IO] 例えば?
888 名前:login:Penguin mailto:sage [2008/10/28(火) 22:47:25 ID:Z2Jy68nM] イベントとかもう嫌だ .NETみたいに書きたい
889 名前:login:Penguin mailto:sage [2008/10/28(火) 23:55:06 ID:YSiYH+k9] 慣れの問題 どのGUIにも特有の決まりごとはあるもの やってることはそれほどかわらない
890 名前:login:Penguin mailto:sage [2008/10/29(水) 00:35:27 ID:opRkkW0G] あのなあ、そりゃGTKしかないなら慣れるしかないだろうけど、 実際には「学ばない」という選択肢があるから慣れようがないんだよ。 他とやってることがそれほど変わらないのなら、 簡単で合理的な「他」を選ぶだろうがバカめ。
891 名前:login:Penguin mailto:sage [2008/10/29(水) 00:58:37 ID:G+yEkmy9] というかGTKはOSXかWindowsどっちかと 機能と仕様統一すべきだろ GTKって生産性低いんだよ
892 名前:login:Penguin mailto:sage [2008/10/29(水) 00:59:10 ID:x4cHnl0M] 馬鹿宣言乙
893 名前:login:Penguin mailto:sage [2008/10/29(水) 01:01:25 ID:G+yEkmy9] そもそも.NETやCocoaだと5分で作れるようなことが まずソースコード読もうとかアホな次元から始まる GTKは本当にありえない
894 名前:login:Penguin mailto:sage [2008/10/29(水) 03:13:54 ID:9ojY5vRp] >>893 それは言える
895 名前:login:Penguin mailto:sage [2008/10/29(水) 03:19:59 ID:F4yRCIO7] 実例をあげろ
896 名前:login:Penguin mailto:sage [2008/10/29(水) 03:20:53 ID:XWWc8vU1] ラーメンタイマーはもういいからw
897 名前:login:Penguin mailto:sage [2008/10/29(水) 03:28:18 ID:CAHVmB1i] ワロタ
898 名前:login:Penguin mailto:sage [2008/10/29(水) 08:02:53 ID:KASNM7qI] まあ.NETやCocoaは実質有料だからなあ。
899 名前:login:Penguin mailto:sage [2008/10/29(水) 11:53:31 ID:aVUXk04O] GTKやってる奴って趣味で(好きで)やってんだろうからどうでもいいが 俺専用なら、俺はまずGUIなんて作らんし大抵はスクリプトで終了だよ ゲームならどのみちGTKとか使わんだろ >>898 一般人はWindowsがプレインストールされているPCを買うし NETフレームワークもVisual Studio 2008EEもタダで手に入って ポトペタRADが利用できるわけで
900 名前:login:Penguin mailto:sage [2008/10/29(水) 12:44:13 ID:wwkxgPCl] 主流のXPには.NET入ってねぇだろ。 あれはWindowsUpdateのカスタムで「除外」するのが 企業なんかじゃあたりまえだぞ。 セキュリティ部門が運用で面倒くさくなるかならな。 VSが失速しタダみたいになったのは.NETになって 非.NETアプリの需要がまだあるのに非.NETアプリを 簡単に作るのが面倒になったらからだと思う。 .NETアプリっーつのは、ユーザーに別個に.NETのインストールを 指示する必要があるから面倒なんだよ。 (ATIのビデオドライバなんかがそうなっているね) 一般企業的価値感では.NETを利用するなら 旧開発環境で非.NETにするか、どうしてもフレームワークを使うなら javaにいくと思う。 周辺機器なんかの付属ソフトなんかもたいがいそうだよね。
901 名前:login:Penguin mailto:sage [2008/10/29(水) 12:50:14 ID:aVUXk04O] >>900 > 主流のXPには.NET入ってねぇだろ。 > あれはWindowsUpdateのカスタムで「除外」するのが > 企業なんかじゃあたりまえだぞ。 > セキュリティ部門が運用で面倒くさくなるかならな。 デフォで入ってなくともタダで入れられるし。 Linuxデスクトップなんて趣味丸出しの世界と 業務で使ってて好きに弄れない端末(非開発機)を同列に論じてるのも意味不明だな。
902 名前:login:Penguin mailto:sage [2008/10/29(水) 12:53:13 ID:aVUXk04O] 一応確認するが、 まさか.NETランタイムも入れられない環境に LinuxやWin用GTKランタイムは入れられるとか寝言言ってんじゃねえよな?w 知らんようだから教えてやるが、 .NETは思いっきり仕事でも使われてるよ
903 名前:login:Penguin mailto:sage [2008/10/29(水) 13:02:27 ID:wwkxgPCl] なんでそんなに必死なの? ひょっとして仕事で.NET関係の開発してる? そりゃ大変だよね〜、VISTAがもっと流行ればいいね〜 (ちょっと無理っぽいが、計算狂ったんだろうなぁとは思う)
904 名前:login:Penguin mailto:sage [2008/10/29(水) 13:28:52 ID:aVUXk04O] >>903 お前さんが知ってる「世間」が狭すぎる上に主張が意味不明だから 突っ込んだだけだが 「Javaならいい」ってのも意味不明だしな JREはノーカウントかw
905 名前:login:Penguin mailto:sage [2008/10/29(水) 17:27:23 ID:ULIKBty7] >>904 必死さはよく伝わったよ。一応903とは違う者なので
906 名前:login:Penguin mailto:sage [2008/10/29(水) 21:51:45 ID:lCe1Ktii] こういう場合、何一つ具体的な反論をしていないほうが分が悪い どちらだかは言うまでもないな?
907 名前:login:Penguin mailto:sage [2008/10/29(水) 22:36:46 ID:G+yEkmy9] GTK用のRADツールでまともなもん 無いの?なんで作らないの? リーナス馬鹿だから? 犯罪者排出したから?
908 名前:login:Penguin mailto:sage [2008/10/29(水) 23:40:02 ID:QzNzlvxl] リーナス関係ないじゃん。 と釣られてみる。
909 名前:login:Penguin mailto:sage [2008/10/30(木) 02:01:37 ID:4ykSSJQZ] あんなお絵かきツールいらんw どんなGUIにもたいていついてるけどw できるソース最悪だしまともなもの作れるとは到底思えない 特にあの子供のお絵かき的な操作はやっててむなしくなってくるw 間に合わせではなくいいものを作りたいなら 普通にコーディングしたほうがいい
910 名前:login:Penguin mailto:sage [2008/10/31(金) 00:04:39 ID:rGwLY2DF] RADは簡単なGUIをすばやく、簡単に作るもので 時間がないのでGUIを手早く・・・ GUIはあまり重要でないので適当に・・・ という場合に(仕方なく)使用するツール にも関わらずこれら以外の場合で喜々として使用したいような方は RPGツ○ールえっくすぴーでもいじってた方が効率的 なにも理解してないゆとりの時代の子供が 無理にプログラマーの真似事をする必要はありません
911 名前:login:Penguin mailto:sage [2008/10/31(金) 12:21:08 ID:JojG8LTd] >>910 > なにも理解してないゆとりの時代の子供が > 無理にプログラマーの真似事をする必要はありません 吹いたw VBにしろAccessにしろ.NETにしろDelphiにしろNetBeansにしろ 思いっきり業務で使われている/いたわけだが…… パッケージソフトにしろ、ダイアログを作成するのにリソースエディタの一つも 使わないというのはあり得ない
912 名前:login:Penguin mailto:sage [2008/10/31(金) 13:27:24 ID:zn3zHzQB] GTKはかなり昔に少しやっただけなので黙っていたのだが、 gladeとRuby/GTKあたりでやるのが楽だと思うよ。
913 名前:login:Penguin mailto:sage [2008/10/31(金) 16:31:34 ID:NTOX3eWD] ちなみに grade usamimi.info/~linux/d/up/up0282.png gradeでgtkmmとか面倒ならrubyとかpythonてのが成道な気がしないでもない。 どうしてもVBだろう、どうしてもVBっぽいのじゃなきゃダメって厨な君にはこんなのもある。 FPC+Lazarus usamimi.info/~linux/d/up/up0283.png Delphiクローンだな。(pascal) 残念ながらVBはない。当然だが。 素直におとなしくeclipse+javaでもやってて欲しい。
914 名前:login:Penguin mailto:sage [2008/10/31(金) 19:48:07 ID:BAdSZswW] つーかLinuxのGUIはWindowsかOSX遵守しろよ 違法コピーOSのくせに
915 名前:login:Penguin mailto:sage [2008/10/31(金) 20:23:23 ID:BAGbDsrX] イミフ
916 名前:login:Penguin mailto:sage [2008/10/31(金) 21:04:14 ID:SNC34/H2] アプリケーション間でショートカットキーくらいは統一してほしいところ あとウィンドウマネージャはクリップボードの機能をもっと強化すべき WindowsやMacOSはそういうところが尋常じゃなくしっかりしてる
917 名前:login:Penguin mailto:sage [2008/10/31(金) 21:52:10 ID:NTOX3eWD] すでに文句言うために文句言ってるというw
918 名前:login:Penguin mailto:sage [2008/10/31(金) 22:33:57 ID:rGwLY2DF] >>911 パッケージで堂々とRADとはサスガですね?
919 名前:login:Penguin mailto:sage [2008/11/01(土) 00:07:00 ID:7aGvguWk] >>918 Windows自身VC++で作られてるわけだが
920 名前:login:Penguin mailto:sage [2008/11/01(土) 01:48:23 ID:DmScaBwx] それがなにか? OS自身をRADで作るとでも? 私にはあなたがソリューション系の仕事を転々としてきた派遣の人に見えます 知ったかぶりは後々弱目になるので気をつけたほうがいいですよ?
921 名前:login:Penguin mailto:sage [2008/11/01(土) 02:05:41 ID:jzmmikh+] >>920 弱いものいじめはやめろ!
922 名前:login:Penguin mailto:sage [2008/11/01(土) 02:34:34 ID:7aGvguWk] 話が変な具合にねじれてるな VC++をRADと定義するかどうかのズレか? 普通はVC++をRADとは言わんと思うが 知っての通りVC++にはリソースエディタがついており、 コードの自動生成やクラスライブラリとの連携機能があり、 VC++は事実上Windowsの標準開発環境として広く利用されているわけだが パッケージならむしろVC++を用いていないもののほうが稀だろ 無論kernelコードなら「リソースエディタ」なんぞは関係ない話だが 「Windows」というOSに関しては、GUIデスクトップ環境まで含まれるからな
923 名前:login:Penguin mailto:sage [2008/11/01(土) 05:55:37 ID:dSD0sBZG] 知らないものは当然のように馬鹿にする無教養な人間ってだけだろ。 カーネルとシェルとemacsとgdbだけで生きてる人間にGUIなんぞわからんよ。 デスクトップだけで生きてる人間がttyをわからんのと同じでね。
924 名前:login:Penguin mailto:sage [2008/11/01(土) 09:54:59 ID:DePXsKwk] すまんがここはプログラミングスレ。コードで語ってくれ。 グチやウンチク語りたいなら他所いってくれ。
925 名前:login:Penguin mailto:sage [2008/11/01(土) 10:16:34 ID:iBkJuz12] つまりLinuxではGUIプログラミングは無理なので やめた方がいいということです
926 名前:login:Penguin mailto:sage [2008/11/01(土) 11:39:50 ID:DePXsKwk] そうそう君には無理だ、諦めてね。
927 名前:login:Penguin mailto:sage [2008/11/01(土) 12:53:44 ID:iBkJuz12] Linuxのプログラミングって宗教だよね 草加みたいできもい
928 名前:login:Penguin mailto:sage [2008/11/01(土) 14:25:18 ID:xlEaV2TM] 草加草加
929 名前:login:Penguin mailto:sage [2008/11/02(日) 12:58:36 ID:5tkGURGg] 結局wine入れてWin32API使うのが楽 すなわちWindows使うのが一番楽
930 名前:login:Penguin [2008/11/02(日) 13:46:53 ID:P/zWxESO] やっぱり GUIエディタが弱いのと、 ライブラリごとにドキュメントが分散してることが linuxプログラミングの2大障害かなあ。 その点、.NETとかだと 普段linuxやってて知識0でもさくさくコーディングできる。 自分と逆の立場の人は大変だろうな。
931 名前:login:Penguin mailto:sage [2008/11/02(日) 13:53:32 ID:dpUTivXt] ドキュメント整備だけはマイクロソフトえらいと思うわ。
932 名前:login:Penguin mailto:sage [2008/11/02(日) 15:16:18 ID:OBdbkshV] やはりいいものはいいと認めるべきだな ドキュメント整備からはじめよう
933 名前:login:Penguin [2008/11/02(日) 15:21:46 ID:J1BSkb6i] real programmerにドキュメントは必要ない。 ドキュメントが必要なプログラマはプログラマでは無い。 従って、M$プラットフォームを利用するプログラマはプログラマとは言えない。 Linuxプログラマこそが真のプログラマであり、唯一のプログラマである。
934 名前:login:Penguin mailto:sage [2008/11/02(日) 15:30:37 ID:tR7tCxCk] かんじーざいぼーさー かんじーざいぼーさー かんじーざいぼーさー
935 名前:login:Penguin mailto:sage [2008/11/02(日) 16:45:59 ID:X530WAxg] real programmerにドキュメントは必要ない。 ドキュメントが必要なプログラマはプログラマでは無い。 従って、M$プラットフォームを利用するプログラマはプログラマとは言えない。 Linuxプログラマこそが真のプログラマであり、唯一のプログラマである。 こういうアホがいるのはLinuxだけなんだよなぁ
936 名前:login:Penguin mailto:sage [2008/11/02(日) 17:18:20 ID:8LwLmm0R] まだまだ、趣味でのんびり付き合える人向けだよね、Linuxは。
937 名前:login:Penguin mailto:sage [2008/11/02(日) 19:36:54 ID:Je+DXZ+s] >>935 この手の話題は、犬糞が出来る前から海胆糞業界では、 「ソース読め」で終了してたわけだが…
938 名前:login:Penguin mailto:sage [2008/11/02(日) 21:34:26 ID:OBdbkshV] >>937 今はそんなアホなこと言う人もだいぶ減ったよね だいたいソースコードは成果物であって仕様では無いんだが そこんとこわかって無い人多すぎ
939 名前:login:Penguin mailto:sage [2008/11/02(日) 23:52:34 ID:Brx7IrCw] ソースがドキュメントってのはハッカーの自虐ジョークなんだが 真に受ける馬鹿な素人が多すぎるんだよな Unixはベル研の昔からman整備してるしGNUもinfoがある 難を言えば、分かってる人間にしか読みこなせないあたりかね MSも事情はかわらんが、オンラインの検索能力がゴミなのと、 日本誤訳が問題を更に悪化させてるのがな・・ないよりマシだが
940 名前:login:Penguin mailto:sage [2008/11/03(月) 15:33:01 ID:Bwqrem+6] >>939 ここ数年のMSのドキュメントへの力の入れようはパネェよマジで。 「○○の翻訳おかしいぞ直せゴルァ」とメールすると翌週には直ってる。
941 名前:login:Penguin mailto:sage [2008/11/03(月) 20:26:32 ID:nh8VBUM4] >>938 仕様を仕様として確定するまではソースコードが正義だよ IETFあたりでは、いまだに………
942 名前:login:Penguin mailto:sage [2008/11/06(木) 01:14:42 ID:k9eRLDW1] >>941 IETFは「動かない仕様なんて意味が無い」と現実の動作を重んじてるだけで、 ただの一言も「ソースが仕様です。ソース嫁」なんてレベル低いことは言ってない。
943 名前:login:Penguin mailto:sage [2008/11/07(金) 07:26:54 ID:tYBykSxo] 仕様は先に決めるものだからなぁ。 ソースが仕様通りになっていないとバグになるわけなんだが、 ソースが仕様書だというと、おかしなことになる。
944 名前:login:Penguin mailto:sage [2008/11/07(金) 08:03:44 ID:StSVOsMY] 出来ちゃったバイナリが仕様書はよくあること
945 名前:login:Penguin mailto:sage [2008/11/07(金) 09:24:45 ID:vBU34iHj] オープンソースの醍醐味
946 名前:login:Penguin mailto:sage [2008/11/12(水) 01:14:39 ID:DnV7yufO] ptyにつながってるstdinて書き込んでも怒られんのですね。 しばらく悩んだ。
947 名前:login:Penguin [2008/11/15(土) 16:35:52 ID:FFNCNb8R] >>934 なんじゃそりゃ?
948 名前:login:Penguin [2008/11/15(土) 16:59:06 ID:szPmAnhd] 他にも「…従ってGDIプリンタは真のプリンタとは呼べず、PSプリンターのみが 唯一のプリンターである」とか「…従ってWinモデムは真のモデムとは呼べず…」 とか色んなバージョンがあったよね。 もちろんジョークじゃなくて本気なんだよw
949 名前:login:Penguin mailto:sage [2008/11/15(土) 21:45:43 ID:2pWVzft0] 次は、「ソフトウェア無線」は真の無線デバイスとは呼べず・・・か? 行き着くところはFPGAは真のチップとは呼べず、だな。
950 名前:login:Penguin [2008/11/16(日) 06:07:00 ID:m6bvpmnq] >>949 Linuxで動かない者の代表格といえば、最近では動画関連かね。 LDPの文書で真の動画とかあったっけ?
951 名前:login:Penguin mailto:sage [2008/11/22(土) 02:02:03 ID:L+j6rchq] LinuxでVRAM直書きってできますでしょうか?
952 名前:login:Penguin mailto:sage [2008/11/22(土) 02:16:52 ID:Dm8VSHjY] できる
953 名前:login:Penguin mailto:sage [2008/11/22(土) 18:46:07 ID:5NRRI6OS] Xwindowで特定のアプリケーションだけキーリピートOFFにできますか?
954 名前:login:Penguin [2008/11/25(火) 00:51:06 ID:pyfm2t6k] わざわざLinuxのプログラミングスレまできて 布教活動を行うWindows信者たちをみたとき
955 名前:login:Penguin mailto:sage [2008/11/25(火) 02:08:39 ID:z6DtBm5L] Windows信者はわざわざ布教する必要ないだろ。 あれだけ広まってるのだから。
956 名前:login:Penguin [2008/11/25(火) 03:41:10 ID:pyfm2t6k] それでもどこでもWindows賛美したがるのが Windows信者の習性らしい Linux板まできてなにやってんだか
957 名前:login:Penguin mailto:sage [2008/11/25(火) 13:24:22 ID:rXHSEQCo] きっとM$ピラミッドのいちばん最下層で飯を食いつないでいる人でしょう。 彼らは必死なのです。分かって大目に見て上げましょう。
958 名前:login:Penguin mailto:sage [2008/11/25(火) 19:10:39 ID:J51efRsC] スレ違い
959 名前:login:Penguin mailto:sage [2008/11/27(木) 14:02:47 ID:0oeBKDV7] 史的唯物論によれば、歴史的事実からして、ルンペンプロレタリアートは反革命的利害の持ち主だったらしいです。 なぜなら彼らはブルジョアジーの利益のおこぼれにあずかって生き延びてきた社会階層であったからだそうです。
960 名前:login:Penguin mailto:sage [2008/11/27(木) 14:04:31 ID:0oeBKDV7] ごめん。ブルジョアジーではなくその時代の支配階層(その当時は貴族階層?)の間違いでした。
961 名前:login:Penguin mailto:sage [2008/12/02(火) 00:37:26 ID:aevZSzey] ラージページってどうやってとればいいのですか? Kernel2.6.22ぐらいなら対応してそうだと思うのですが うーん
962 名前:login:Penguin mailto:sage [2008/12/02(火) 18:40:37 ID:/6v5cHNF] >>961 ラージページってヒュージページのことなのか? そうなら、Documentation/vm/hugetlbpage.txt に設定からサンプルコードまで載ってるけど。
963 名前:login:Penguin mailto:sage [2008/12/09(火) 05:10:44 ID:7UYxA9g8] >>930 Eclipseはけっこういいよ。
964 名前:login:Penguin mailto:sage [2008/12/09(火) 07:02:20 ID:oUX7FPuZ] Eclipse非常に良いんだが環境によっては重くて・・・ 誰かC++かなんかで書き直してくれないかな。。
965 名前:login:Penguin mailto:sage [2008/12/09(火) 13:33:26 ID:zBRlTPr4] Objective-Cで
966 名前:login:Penguin mailto:age [2008/12/22(月) 00:10:53 ID:e1d/p3MW] unix domain socketで接続している相手のプロセスIDって取得できますか?
967 名前:login:Penguin mailto:sage [2008/12/25(木) 10:49:51 ID:tWCimKvF] >>966 回りくどいことすれば取得できる
968 名前:login:Penguin mailto:sage [2008/12/25(木) 11:37:27 ID:JoYrC3EW] ルートキット一発!
969 名前:966 mailto:sage [2008/12/25(木) 16:50:01 ID:YLVoSR1u] >>967 lsofみたいに/proc見るとか? 便利な関数はないと考えてよいでしょうか。
970 名前:login:Penguin mailto:sage [2008/12/26(金) 01:21:46 ID:J6rqLCsP] >>969 はい
971 名前:login:Penguin [2009/01/04(日) 15:13:41 ID:+pbzPaSy] デバッガのようなものを作っています。 ブレークポイントでブレークしたときに、デバッギプロセスのバックトレースを 取りたいのですが、これはどうやったら実現できるのでしょうか? 同一プロセスならば、glibのbacktrace関数で取得できることは分かっているのですが、 他プロセスに対応させる方法がわかりません。
972 名前:login:Penguin mailto:sage [2009/01/04(日) 15:40:40 ID:kuD2oS5t] >>971 GETREGSでspもらってきて、頑張ってそこからたぐる。
973 名前:login:Penguin mailto:sage [2009/01/04(日) 16:05:25 ID:+pbzPaSy] >>972 マジすか。フレームポインターの有無などを考えると、 逆汗が必須になるような気がするのですが、そういうものなのですか。
974 名前:login:Penguin mailto:sage [2009/01/04(日) 17:38:36 ID:XjZJ56+3] >>973 フレームポインタ云々より、逆汗無しのデバッガって…
975 名前:login:Penguin mailto:sage [2009/01/05(月) 02:47:28 ID:6ZtmY4qM] >>973 そういうのです。 デバッグ情報が使えればそこにスタックフレームの使われ方が書いてあるけど、 ダメなら力業で解析するしかない。 gdbにもそういうコードが入ってる。
976 名前:login:Penguin mailto:sage [2009/01/10(土) 09:29:17 ID:8wtLHioo] ユーザ空間で使えるspinlockって無いですか?
977 名前:login:Penguin mailto:sage [2009/01/13(火) 13:31:25 ID:UMzYTyeo] 自分でCAS(x86ならcmpxchg等)で実装する
978 名前:login:Penguin mailto:sage [2009/01/15(木) 00:43:11 ID:DlEX9Fn8] >>977 自由に使えるデータ構造もないし 全部自分で実装かぁ
979 名前:login:Penguin mailto:sage [2009/01/15(木) 11:32:08 ID:/IjFWv27] 単純なspinlockだけならint値と操作関数だけでよくね? まあpthread_spin_lock使えば?
980 名前:login:Penguin mailto:sage [2009/01/16(金) 02:11:25 ID:ePdupyOX] そういえばpthread_rwlockってmutexより良い感じ?