Linuxプログラミングat LINUX
Linuxプログラミング - 暇つぶし2ch472:login:Penguin
08/01/08 00:51:11 g3yhOYjE
>>470
縁起悪いの知ってて使う人いるんだw
Jail好きなのね

473:login:Penguin
08/01/08 01:05:49 2ujb3qeo
>>472
あんなことになったのは残念だけど、Hansはファイルシステム設計という
領域に留まらない天才の一人だったと思う。

でも天才であっても他はやっぱり人間だった。判決はまだ出てないけど、
背景を聞くにつれて、あれだけの能力があっても人生の幸せを掴むのは
また別の話なんだなと無常を感じたよ。

474:login:Penguin
08/01/08 01:33:05 XSbSibRZ
まぁ悪魔の犯罪者だからなぁ



475:login:Penguin
08/01/08 01:39:59 41aIleea
確定なの? 遺体は出たの?

476:login:Penguin
08/01/11 16:12:28 f8prPTXJ
LINUX勉強中の身なのですが・・・どなたか教えて下さい。
Windowsでは、GetPrivateProfileStringでiniファイルの読み込みをしていたのですが、
LINUXで使えなくて困っています。>146~に同様の質問があったのですが、理解できませんでした。
write処理も無いのですよね?
関数が存在しないということは、LINUXではiniファイルという概念が無いという事でしょうか?
普段皆さんは、どのようにしているのですか?
環境はKNOPPIXです。






477:login:Penguin
08/01/11 16:15:55 JN9du13d
普通は環境変数から読んでくるんじゃない

478:476
08/01/11 16:38:30 f8prPTXJ
レスありがとうございます。
でも組込用LINUXで、自分自身で設定出来ない場合はどうするのでしょうか?
SDやUSBはあるので、アプリ実行時に、外部媒体へbatファイルを読みに行く
処理を追加し、環境変数を変更するのは低レベルでしょうか?


479:login:Penguin
08/01/11 16:43:43 wrx0pdGh
組み込み業界ってこんなやつばっかなん?

480:login:Penguin
08/01/11 16:46:44 HOV5kV5N
yaccとlex使って構文解析部分から作ってみるのもunix流の練習になるんじゃね?

481:login:Penguin
08/01/11 16:48:17 f8prPTXJ
組込もLINUXも初なので勘弁して下さい。


482:login:Penguin
08/01/11 16:51:25 /lhYIwjn
>>481
それ以前の問題じゃないの?

483:login:Penguin
08/01/11 16:54:52 f8prPTXJ
かなしす

484:login:Penguin
08/01/11 16:59:49 /lhYIwjn
できる人に教えてもらえば?

485:login:Penguin
08/01/11 17:01:30 f8prPTXJ
できるひと・・・いない

486:login:Penguin
08/01/11 17:06:04 /lhYIwjn
かわいそう...

487:login:Penguin
08/01/11 17:37:55 JN9du13d
perlを使って初期化ファイルから環境変数を作成する処理をラップすれば?
実行プログラム本体にはそれを読ませてやれば楽だろ

488:login:Penguin
08/01/11 17:38:55 qBjbfrrT
Linuxは初めてだって言ってるんだから、職種は関係ないだろ。
言語とか開発環境とか具体的に書いてもらわないとわからないけど、
GetPrivateProfileString()って言ったらWindowsのAPIだけど、プログラム中からコールするのかな?
Cの関数でいえばsetenv()、getenv()があるよね。
バッチレベルでいいならexportで登録しておくとか。

489:login:Penguin
08/01/11 17:42:30 JN9du13d
誰も職場内で方針示してやれないような仕事取ってくるなよなぁ~w
痴呆が上だからIT業界は7Kだって言われる

490:login:Penguin
08/01/11 18:15:42 HOV5kV5N
組み込みlinuxでファイルI/Oを使って初期設定を読込み?
設定はヘッダーに入れてしまってハードコーディングじゃだめなのか?
初期設定を読ませるためだけに小さいとは言え余分なライブラリを使える
メモリと処理能力の余裕がある?

linux以前の問題な気がするなぁ、、、


491:login:Penguin
08/01/11 18:52:28 /lhYIwjn
書き込み fprintf
読み込み scanf
でやればいいんじゃないの?

492:login:Penguin
08/01/11 20:02:51 /lhYIwjn
scanf->fscanf

493:login:Penguin
08/01/11 23:11:20 MrZRBUAk
>>478
Linuxではそういう処理は起動スクリプトで行われる。 /etc/init.dの
中の他のアプリのスクリプトを参考に。

494:login:Penguin
08/01/12 02:32:22 FBfOnT6z
cmakeでwindowsとの互換をあくまで維持したい俺

495:478
08/01/12 08:28:35 DOVfiP6Z
昨日はショボンでしたが、
みなさんありがとうございました。
意見を参考に試してみます。
私含め、上司がレベル低いのは入社当初から知ってます。


496:login:Penguin
08/01/12 09:34:51 xcB/bLmK
>>495
Linux歴が浅いのでLinuxの作法を知らないのは当然だとして
それ以外の基礎知識や能力や言葉の使い方や文章の書き方は俺の数段上を行ってるなぁ
まぁ一緒にされたら迷惑だろうけど……。
最近稀に見る好印象な方だなぁと思った。


497:login:Penguin
08/01/12 10:36:04 QnvfkAhH
inotifyを
reiserfsで使ってみた。

間違ってイベントが無限に飛んでくる
バグとかあってプロセス10万
発生させてしまってマシン群止まっちまったw

reiserfs禁止にしたほうがいいぜ

498:login:Penguin
08/01/12 13:06:44 ZIVLcoIL
間違ったのがお前じゃないことを証明出来たら考える

499:login:Penguin
08/01/12 14:07:31 FBfOnT6z
>>495
pointed hair bossで検索するとちょっと幸せになれるかも

500:login:Penguin
08/01/12 14:17:16 QnvfkAhH
>>499
上司使えない云々より

pointed-haired bossをそんな風に書く奴が
このスレにいる方が恥ずかしい。もう来るなよw

501:login:Penguin
08/01/12 14:51:08 FBfOnT6z
>>472
siduxのインストール解説してるホームページでreiserfsを入れてたから
そのまま,まねして入れてしまった。

502:login:Penguin
08/01/12 20:37:07 6ANyg4lC
起動時の画面にペンギンは出てくるのに、起動メッセージが表示されないのはなぜ?
シリアルコンソールには起動メッセージが流れてるのに..
カーネルパラメータかデバイスファイルの設定が必要ですか?


503:login:Penguin
08/01/12 22:52:36 k/UIIV/1
>>502
どのメッセージのことか分からんが、
ディストリによってはそういうもんだろ

504:login:Penguin
08/01/13 03:13:19 0vRtfE6z
ちょっと質問を。「組み込みLinuxができる」って言える基準って何か皆さんありますか?

とあるデバイスにLinuxを載せてその上でアプリを走らせるという事をやったのですが、
結局はLinuxの一般的な機能(標準関数やらioctlやらopen("dev/xxx")やら)
を使ってアプリを作ったという具合で、どうも誰でもできるような表層的な事をやったような印象です。
これを組み込みLinuxと言うのは間違っている気がするのですが、

みなさんにとっては何をもって組み込みLinuxでしょう?


505:login:Penguin
08/01/13 03:20:31 YLI1I0ry
>>504
新しい CPU で gcc すら動かないプラットフォームなら gcc を移植する.
bootprom がなければ自前で移植/製作する.
いざとなったら仮想記憶とも戦う.
足りないドライバは自前で作る.
ユーザーランドは必要最低限な物だけ拾ってきて自分で構築する.

あたりかな.


506:login:Penguin
08/01/13 07:01:23 OSM5etr9
下ふたつはいいにしても、
 >gcc を移植する
これはないだろうさすがに。

507:login:Penguin
08/01/13 07:09:47 Hm7xBcnO
最近だとCellか

508:login:Penguin
08/01/13 08:19:09 YLI1I0ry
>>505
あるよ. mips core に特殊な co-processor つけた奴とか,
特殊用途に特化した processor 用のやつとか, 今まで 3回
移植した.


509:login:Penguin
08/01/13 08:26:40 YLI1I0ry
アンカー間違えた >>506
もっとも, 専用組み込みOS用で Linux 用じゃなかったけどな...
開発は全部クロスプラットフォーム.


510:login:Penguin
08/01/13 10:53:17 ujlOgFWo
>>508
そこまでやれなくても組み込みLinuxできると言っていいだろ

511:login:Penguin
08/01/13 11:06:22 2uIpuPRh
そう得意になって言うことでもないな

512:login:Penguin
08/01/13 12:45:24 ZbSPxFY0
>新しい CPU で gcc すら動かないプラットフォームなら gcc を移植する.
>bootprom がなければ自前で移植/製作する.
>いざとなったら仮想記憶とも戦う.

そもそもこの3つはLinux全く関係なくないか?
組み込みであることは確かだが。

513:login:Penguin
08/01/13 13:11:47 ujlOgFWo
俺も今度Linux組み込みやろうと思うんだが、

普通のLinuxのドライバ開発 VS Linux組み込み
Linuxの組み込み VS 普通の組み込み

ってどう違うんだ?
組み込みじゃないLinuxのドライバは経験あるんだけど

514:login:Penguin
08/01/13 13:25:07 tHHnWE3z
>>505が必要だということを知ってればいいじゃないか。
あとはどうやればいいのか自分でしらべればOTJになるし。

515:login:Penguin
08/01/13 13:26:26 tHHnWE3z
すべった。OJTだ。
orz

516:login:Penguin
08/01/13 13:38:02 88CnHFva
組み込みで適当にソース拾ってきてfbconでつまずいてますorz
画面に文字を出すにはfbconを使うと見たのだが。。
アルマジロにしとけばよかったかなぁ あれならいきなり動きそうだし

517:login:Penguin
08/01/13 13:46:09 YLI1I0ry
>>512
> >いざとなったら仮想記憶とも戦う.
MMU とか TLB とか言われる部分のアーキテクチャに依存するので, Linux の
VM が target のアーキテクチャをカバーしきれていない場合必ず発生する.
つか, VM 使った OS なら何だってそう, NetBSD でも結構泣いた.


518:login:Penguin
08/01/13 14:10:42 88CnHFva
MMU辺りと戦うとなるとかなりのパッチになりそうですね
趣味人には荷が重いし、プロだと開発費が厳しそう。

519:login:Penguin
08/01/13 14:32:11 YLI1I0ry
>>518
patch の量は大したことないよ. target のアーキテクチャと
OS の VM アーキテクチャの整合をどうとるかって問題だけだから...

ただし, 双方のアーキテクチャを
***うまく噛み合わせる手法***
を考え付くまでにやたら時間がかかる.


520:login:Penguin
08/01/13 14:57:09 ujlOgFWo
その前にCPUとOSのVMを理解する時間が必要だ

521:login:Penguin
08/01/15 02:45:42 eLLje4gP
linuxでgccを使っています。
cを使ってます。

fork-execでお聞きします。
binは、何かのコマンドです。

if(fork()==0)
{
execl(bin,bin,"gg*.c",NULL);
}else
{
wait();
}
とする場合にexecでは
*がメタキャラとして認識されないようです。

メタキャラを有効にする方法ってありますか?

522:login:Penguin
08/01/15 03:25:29 JuJ/Jd3b
>>521
*の展開は/bin/shの機能だからね。execveで展開される筈もなく。
system(3)やpopen(3)を使うか、自分で*をglob(3)で展開するかしないとダメやね。

523:login:Penguin
08/01/16 01:30:06 R+P7htm7
マルチスレッドでシステムコール使うの禁止なんですよ。
スレッドセーフか、分からないよorz  (man見ました)


524:login:Penguin
08/01/16 02:24:00 84amoxWV
>>523
システムコール禁止ってfork(2)もexecl(2)もシステムコールだと思うが
スレッドがどこに出てくるのか話が見えないんだが、
スレッドの中でfork(2)しようとしてるの?
それはまずいんでない

525:523
08/01/16 04:49:53 R+P7htm7
pthread_atforkと
fork-execの間に無駄な処理しない場合は、今の所OK

526:login:Penguin
08/01/16 07:52:05 XSPkVtkD
>>525
それ嘘だろ

527:login:Penguin
08/01/16 11:41:09 D4p47idN
あってるんじゃないの。
URLリンク(d.hatena.ne.jp)

ただ、
>マルチスレッドでシステムコール使うの禁止
というのは、何かまだ条件が足りていない気がする

528:login:Penguin
08/01/16 11:50:50 vAdXY+Zc
禁止じゃないのもある

529:login:Penguin
08/01/17 00:22:17 gFqea9nd
話割って入ってすまないが

iptablesのようにパケットフィルタを
したいのですが定義されるフィルタ情報が
1万もあります。
とてもじゃないけどまともに1つずつなめている
と終わらないので何か良い方法ないでしょうか?


530:login:Penguin
08/01/17 00:26:04 FBet0L5h
1000に分けて10回処理する
禅問答みたいだけど効果は補償できる、まじお薦め

でも1万ルールも追加しなくても、おそらくネットマスクを使うなりなんなり
方法ありそうな気がします。

531:login:Penguin
08/01/17 01:04:02 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
08/01/17 02:13:06 7inzzgaQ
>>525
read(2),write(2),open(2)はマルチスレッドでも呼べると思うんだが。。。
というかシステムコール禁止したら、スレッドで何もできない。。

533:login:Penguin
08/01/17 07:02:23 IbgArDhc
何もできなくはないだろう。
「意味のあることは何もできない」というだけでw

534:login:Penguin
08/01/17 09:54:37 nrX5B3xa
man signal見た?

535:login:Penguin
08/01/17 13:45:36 zG6yMxAP
printfだって下位層でシステムコール呼ぶからな

536:login:Penguin
08/01/17 16:27:11 qlT5HX3f
弱い者たちが夕暮れ、さらに弱い者を叩くんだな。

537:login:Penguin
08/01/17 16:34:11 hGbWYs9C
その音が響き渡ればブルースは加速していくんだな。

538:login:Penguin
08/01/17 17:04:30 oO7ItHQ/
見えないGUIがほしい

539:login:Penguin
08/01/17 23:14:33 RgCsKsuT
見えないGNUを撃ちまくる

540:login:Penguin
08/01/18 05:14:41 12aBnOBC
/dev/shm/と/dev/ram0の違いがわからない

mount -t tmpfs tmpfs /mnt/ramdisk
しても/dev/shmとかは使わないんだな。

541:login:Penguin
08/01/18 22:10:28 ddex+v8t
>>540
俺も知らないが、ブロックデバイスとファイルシステムは違うんじゃない?
それとも、 shm_open(3) 読めばおわりか?

542:login:Penguin
08/01/20 09:17:18 GQI9e7dz
プログラム版の質問スレから誘導されてきました.

while ((c = fgetc(stdin)) != EOF) {
printf("[%d]: %c\n", num++, c);
}
とかやったらいつまでだってもfgetcから抜けれないのですが
stdinでEOFをキーボードから打ち込むにはどうしたらいいですか?
ちなみにLinuxのxterm上で動作させています.

543:login:Penguin
08/01/20 10:02:05 9Tl2aHlP
>>542
Ctrl+D

544:login:Penguin
08/01/20 16:58:04 QAkqHfcc
>>542
Linuxプログラミング固有の話じゃないんだが
誘導する奴はレベル低いな

545:login:Penguin
08/01/20 17:33:57 3cxUYgCe
同感

546:login:Penguin
08/01/20 19:32:41 60pqkMpi
かといってこんなのをプ板にのさばらせておくわけにもいかないからな

547:login:Penguin
08/01/20 19:43:59 m3nXxor1
プ板てw

548:login:Penguin
08/01/20 20:15:53 60pqkMpi
ムだム。間違えた。

549:login:Penguin
08/01/20 21:25:35 lhDKawjW
なんでムなん?

550:login:Penguin
08/01/20 22:03:02 O/GA+k/y
はるか昔、ムー族とマ族の争いがあって、千年続き、
それを嘆いた神がプ大陸を二つに分けたと伝えられる。

551:login:Penguin
08/01/21 01:51:38 EPN4E+gf
>>544
環境依存じゃないか?
UNIX なら stty(1) を見ろとなる。
で、プ^H^Hム板の質問スレなら Ctrl+Z or F6 な人もいるだろ。

552:login:Penguin
08/01/21 21:33:07 DS13UDOd
>>549
プログラ「マ」(について語る|がダベる)板、通称マ板と区別するため

553:login:Penguin
08/01/22 22:56:28 3SjBwwbG
pthreadtypes.hで定義されているpthread_attr_t構造体ですが、
2.6.9と2.6.18で見比べたところ全く違う内容になっています。
というかpthreadtypes.h自体に大幅な変更があったような。
いつのバージョンで変わったか分かる人いませんか?

554:login:Penguin
08/01/22 23:06:29 1aLYQ0Xu
struct sk_buffをそのままユーザ空間に
ひっぱりだしたいんだけど

どうすればいいのかなぁ

555:login:Penguin
08/01/22 23:11:26 Z7iV0h+U
>>553
ユーザアプリからは、構造体の中身を参照しちゃいかんのとちゃう?

556:553
08/01/23 00:20:47 rX2IdG6k
>>555
まじですか!?
そういうつくりになってたんすね。
pthread_attr_init()系の関数でアクセスですかね。
ありがとうございます。

557:login:Penguin
08/01/23 02:08:02 n7QxPJKv
すまんstatを使ってファイルサイズを調べたいんだけど
if (stat(FileSt, &sb) == 1)
{
 (sb.st_size>0)
 {
  ifs_flg=1;
 }
}

ファイルが存在するか?するならサイズは?みたいにしてます。
これを1行でstat(FileSt, &sb->st_size) >0
みたいに出来ませんか?


558:login:Penguin
08/01/23 02:08:50 n7QxPJKv
あ、ファイルは存在する前提です

559:login:Penguin
08/01/23 04:08:18 iwlYPuMF
statなんたらって自前の関数用意すれば

560:login:Penguin
08/01/23 11:43:41 G50LtKQp
>>557
単純にショートカットじゃダメ?
if ((stat(FileSt,&sb)==1) && (sb.st_size>0)) {
...
}

561:login:Penguin
08/01/24 01:44:45 XcZJxRmS
>>560
それやってたんですが、うまく行かない。
あ、括弧なしだったからかな?
括弧つけてみます

562:login:Penguin
08/01/24 09:06:49 +0KdBqsj
recvfromってタイムアウト設定はできないんですか?
データが届かなかったら永久に待ってそうです

UDPのプログラムで任意の時間返答が無かったら
さっさとrecvfromを抜けたいんですが...

563:login:Penguin
08/01/24 09:12:54 +a49+I+1
>>562
selectを使いたくないならSO_RCVTIMEO

564:login:Penguin
08/01/24 09:44:54 +0KdBqsj
>>663
int timeout = 5000

setsockopt(sockfd, SOL_SOCKET, SO_RCVTIMEO, (char*)&timeout, sizeof(timeout));
とやっても抜けられないです...やはりずっととまったままです


565:login:Penguin
08/01/24 09:51:20 +a49+I+1
struct timevalとintって?同じもの?だっけ?5000秒?待ったり?

566:login:Penguin
08/01/24 10:06:19 A5lAfTzI
>>565
struct timeval と int は別

567:login:Penguin
08/01/24 10:17:10 FNc6yZ5O
565 は知ってて書いているようにしか見えない。

>>564
ためしてないが、その setsockopt(2) は EINVAL になってたりしないか?

568:login:Penguin
08/01/24 10:20:13 +0KdBqsj
>>565-567
できました!

569:login:Penguin
08/01/24 10:27:34 +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
08/01/24 10:57:59 +a49+I+1
名前解決じゃね?

571:login:Penguin
08/01/24 11:16:26 +0KdBqsj
>>570
ipアドレスをinet_addr直でやってます.

572:login:Penguin
08/01/24 11:27:31 Z64zlv7x
>>571
tm.tv_usecはクリアした?


573:login:Penguin
08/01/24 11:52:54 +0KdBqsj
>>572
なんという不注意...注意散漫になってるようです.
無事指定時間でタイムアウトさせる事ができました.ありがとうございます

574:login:Penguin
08/01/28 19:51:08 oy6mNs1o
現在、2枚のNICを持つマシン上での開発でつまづいています。

それぞれのNICに同じネットワークのIPアドレスを振ります。
例:eth0:192.168.1.10 eth1:192.168.1.11

この状態で、普通にSOCK_DGRAMにてソケットを生成し、適当なIP
アドレスに対して送信します。
すると、どちらのNICから出すかはルーティングテーブルでどちらが
上に位置するかで決まってしまいます。

これをNICを指定して送信したいのですが、可能でしょうか?
RAWソケットを使えばできるのですが、仕様上の制限があって
使えません。

575:login:Penguin
08/01/29 09:35:56 Jv26bMRM
>>574
bindしてから送信 はどうだろう
やったことないけど

576:login:Penguin
08/01/29 09:52:16 BgbmjeIx
>>575
source address を指定したいわけじゃなくて、どのインタフェースから
出したいか、ということだったらそれじゃぁダメだ。

>>574 がなんでそんなことしたいか知らないけど、iptableのmangle tableで
markして、iproute2で該当するパケットだけルーティングテーブルを別けて
やるほうが自然だろう。
URLリンク(www.atmarkit.co.jp)
もしこっちが使えないならrawソケットでやるしかないよ。

577:login:Penguin
08/01/29 15:44:25 Jv26bMRM
ところで
main(){
 int a=0;
 for(;;){
  printf("%d\n",a++);
  sleep(1);
 }
}
みたいなプログラムを書いたんだけど、これを
$ ./a.out > hoge
としてもhogeに出力されない。
バッファリングされてるみたいなのでprintfの後ろに
sync()やらfsync(1)やら入れてみたけど駄目っぽい
これどうしたらいいんだっけ?

578:login:Penguin
08/01/29 16:25:19 E7XlIkuM
fflush(stdout);

579:login:Penguin
08/01/29 22:53:11 pK88c6Qm
いまどき\nでフラッシュしないstdoutがあるのか・・・

580:login:Penguin
08/01/30 02:17:24 VGRpnUoT
そりゃ・・・、端末に向いてない stdout(3) なら line buffered じゃなくても
いいんでわ。

581:574
08/02/01 11:04:33 KZ/Tojjt
レス遅れてしまいすみません。

>>575
>>576さんの言うとおりbind()をしてから送信すると、L3レベルでは大丈夫
でしたがEtherealでキャプチャするとL2レベルで、MACアドレスが同じに
なっていました。

>>576
提示してもらったWebを確認しました。現在開発しているのはなかなか
処理能力的にシビアな箇所なので、RAWソケットを使用できるように
説得してみます。

582:login:Penguin
08/02/01 19:24:02 MPKtEvB1
というか、bondingしてあとは知らん、ではなんかいかんの?

583:574
08/02/03 21:37:06 mkJ6nZ+Q
>>582

bonding、初耳だったのでぐぐってみましたが中々興味深い技術です。

ですが、仕様上送信元IPアドレス(つまり自分が持つやつ)が複数あり、かつ
対向の種類によって決まってしまっているので使えないようです。

けどこの技術に似たようなのを実装しなければならない機能ブロックも
あるのでこれはこれで提案してみようかと思います。

そういえば、RAWソケットって送信するときにPath MTU Discoveryをソケット
オプションで無効にしてもフラグメントされないなーと思ったら、man raw(7)に
バグとして挙がっているんですね…(使用OSはFedora7)
これも自分で実装しなければならないなぁ。

584:login:Penguin
08/02/03 22:24:34 +lhwKKGQ
>>574
最初から難しいこと考えないで、まず既存の機能 (>>576 の iptable + iproute2等) で
やってみて、それでパフォーマンスなどの問題がないかどうか確認して、どうしても
独自に実装しなくてはならないことを確認してから raw ソケットなり、カーネル
モジュールで何か作るなりすることを検討するほうがいいぞ。

585:login:Penguin
08/02/04 19:10:09 hfVjOmBk
自分のサブネットマスクを取得するのはどう書きますか?
IPアドレスは分かってるとして。

586:login:Penguin
08/02/04 21:29:01 nLbVhZ24
>>585
getifaddrs(3)

587:login:Penguin
08/02/04 21:35:32 G8QRQQli
>>586
IPv4でも使えんの?

588:login:Penguin
08/02/04 21:56:25 nLbVhZ24
>>587
使える。v4でしか使えないバグならglibcが2.3の頃にあったはずだが。

589:login:Penguin
08/02/05 18:12:27 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
08/02/05 18:15:04 GUozEVBV
それができたとしてうまく動くと思ってやってるの?

591:login:Penguin
08/02/05 20:56:19 SlsIEQrM
何をやるのか、メモリをどれだけ積んでるか、ということによりけりだな。
pthreadとか知らんのでclone(3)で自分でスタックを用意して一万個ほど
スレッドを生成したことはある。使い方によっては普通に動く。

592:login:Penguin
08/02/05 21:03:59 GUozEVBV
それはすごい。

593:login:Penguin
08/02/06 06:41:46 nwp5GfWb
AMD64とかIA64とかでメモリを64GBくらい積めば大丈夫じゃね?

594:login:Penguin
08/02/06 07:25:44 s++avmRm
カーネル側で使うのが各スレッド8KB。ユーザ側のスタックを4KBに抑えれば
スレッドをひとつ増やすごとに必要なのは12KB。10000個ならざっと120MB。

595:login:Penguin
08/02/07 00:54:55 GYgs3mMU
>>589

> あと、pthread_attr_setstackaddr() の第2引数(つまり、スタック開始アドレス)は
> 10000個のスレッドで同一なのでしょうか?
同一で良いはずが無いねえ。スレッド毎に確保ですよ。

スタックの先頭アドレスはページ境界にアラインさせないとsetstackaddrがEINVALで失敗する。
mallocではなくて、posix_memalignかmmapでスタック用のメモリを確保するとよい。


596:585
08/02/08 09:16:22 Tg+rPbrB
サンクス! >>586 , etc...

それググってみましたが、IPアドレスが幾つも取れるじゃないですか。
その中でIPアドレスをマッチングして、そのサブネットマスクを取るしかないんでしたっけ?

それとも、サブネットマスクって1台のマシンに複数IPアドレスがあっても共通?

597:login:Penguin
08/02/09 00:02:49 1XOuKxIO
つーか、IPアドレスに対して、サブネットが対応してるでそ。
インターフェースが2枚あったら、
eth0 : 192.168.1.5/24
eth1 : 10.23.45.67/16
とかさ。

598:login:Penguin
08/02/09 01:25:11 eMQaM6TS
man引けば分かるはずなんだが、今の場合はそれ以前の問題のような。
プログラミングより、くだ質が妥当なような。

599:login:Penguin
08/02/09 01:57:14 pxZu1S51
>>598
manを引いても基本原則知らなきゃわかんないだろうな
こういうのを一番簡単に身につけるには
教科書的なものを頭ッから丸暗記するのが手っ取り早い

600:login:Penguin
08/02/10 17:43:00 AB987pUW
mallocをすると、値が帰ってくる前にsegmentation faultするんだけど・・・
これはライブラリの領域をどこかで破壊しているということでよろしいのでしょうか

601:login:Penguin
08/02/10 18:47:08 rgXsI3qI
gdbで引っ掛けてどこで死ぬかを見極めるべし
まあメモリ破壊の類だとは思うが

602:login:Penguin
08/02/10 20:52:25 +TLKCHqg
>>600
メモリ破壊だったら、Electric Fenceが便利かもね。

603:login:Penguin
08/02/10 20:55:13 qj0nK6Tb
valgrindのほうが。

604:login:Penguin
08/02/10 23:03:17 W61q/SHI
自分に強壮剤がいいよ

605:login:Penguin
08/02/11 12:45:49 0peP2Ab+
>>601-603
ありがとう
ドリンク飲んでがんばります

606:login:Penguin
08/02/11 20:57:09 JHZIo94H
>>600
エラー処理をしているのかと子一時間

NULLが帰ってきたら、どうしてるの?

607:login:Penguin
08/02/11 20:59:54 NXuZoz9l
実際mallocでNULL返ってくるの? CoWなのに。

608:login:Penguin
08/02/11 21:58:06 g58d+k53
>>607
CoWは関係ないような。

というのはともかく、極端に大きなmallocならNULLが戻るよ。
搭載メモリ量とか、32bit/64bitにもよるかもしれないけど、malloc(1*1024*1024*1024)とか。

609:login:Penguin
08/02/11 22:59:43 v7vkIa+N
>>607
物理ページ自体は必要ないが、メモリ空間が足りなくなる可能性はある
x86 (32bit) だと、ユーザ空間が3GB・カーネル空間が1GBで分けられてたはずだから、
多分2.5GB確保は成功して、3GB確保は失敗すると思う

610:login:Penguin
08/02/11 23:27:43 g58d+k53
>>609
適当なプロセスをcat /proc/pid/mapsしてみればわかるけど、.soやらなにやらが3GBのそこかしこにmapされてしまっているから、
2.5GB連続で仮想メモリ確保ってのは難しいと思うよ。

例えばfirefoxあたりだと色々mmapされすぎていて全く無理ですね。

611:login:Penguin
08/02/11 23:49:20 H5r6W4j2
>>606
>>600は「値が帰ってくる前に」と言ってるんだから、NULLが帰ってくるも
ヘッタクレもないと思うんだが。
当然、返り値をチェックしようとしているけど、帰ってくる前にSIGSEGVなんだろ。

612:login:Penguin
08/02/12 21:41:58 i/htmIMa
ファイルAとBが同一パーティション上にあるかどうかLinux的にはどうやって判断すればいいんでしょうか

613:login:Penguin
08/02/12 23:16:42 6Xg+LWoP
パーティションよりファイルシステムの場所を調べる方が汎用性があって
尚且つ簡単そうで良さげ。スクリプトでやっつけるならdfにパスを食わせて
出たファイルシステムを比較すれば一丁上がり、、、かなぁ。

どうしてもパーティション、という場合は知らん。

614:login:Penguin
08/02/12 23:25:33 vZRSZKGy
今Linuxが手元にないんだけど、レギュラーファイルに対してstat(2)すると
struct stat::st_devってどうなるんだっけ?

615:login:Penguin
08/02/12 23:36:11 i/htmIMa
>>613
ありがとうございます。mtab読みに行くことにしました。

616:login:Penguin
08/02/12 23:48:38 943cnSqV
>>614
vmware+Linux入れなよ

617:login:Penguin
08/02/13 00:42:27 XbwK8Zpg
>>614
普通はそれだと思う

618:614
08/02/13 01:03:45 eUvEe13x
>>617
汲み取ってくれて、ありがとう。

619:login:Penguin
08/02/13 07:33:31 pBknmnOU
結局、パーティションまでは分からんということだな。

620:login:Penguin
08/02/13 07:47:41 hT3T8ff2
>>619
>>614にあるのじゃどうしてだめなの?


621:login:Penguin
08/02/13 11:59:04 G1ltJVUD
HTTPクライアントを作ろうと思いますが、
自分の空きポートはどうやったら取得できますか?

622:login:Penguin
08/02/13 12:14:39 5QyCkyQ9
>>621
HTTPクライアントならサーバの80につなげば
いいだけじゃない?空きポートを知る必要が
わからん。(connect()で80につなげばいいだけ。)
クライアントの使用するポートはプロトコルスタックが
空いているポートを適当に割り振ってくれる。

623:621
08/02/13 12:23:24 G1ltJVUD
>>622
あっ、そーですか。有難う。

httpで相手のポート80に接続して、writeするだけですね。
(tcpと大して変わらないのかって、tcpで接続するプログラム書いたことないけど)






関係ないけど、それらがC/C++のクラスライブラリになってたりしませんよね?

624:login:Penguin
08/02/13 12:25:48 YOhJXxZI
>>623
curl
と言いたいけど、お前にはsystem("wget URLリンク(wwwwwwwww)");で充分だ。

625:login:Penguin
08/02/13 13:21:11 hYkhPPAJ
>>623
TCP 以外の何でアクセスするつもりなんだ?

626:login:Penguin
08/02/13 18:02:37 G1ltJVUD
>>625
HTTP


ところで、HTTPエンコードする標準メソッドなんてありますか?

627:login:Penguin
08/02/13 18:20:50 G1ltJVUD
知りたいのは、HTTP エンコードじゃなくて、URL エンコードでしたorz

628:login:Penguin
08/02/13 19:29:27 Mx9E0jHA
>>626
HTTPってTCPじゃね?

629:login:Penguin
08/02/13 19:59:54 JBOJRmRv
>>626を見ると、>>624は正しかったんだな、と思った。

630:login:Penguin
08/02/13 20:54:09 eUvEe13x
>>628
あらゆる意味で違うと、いちおう突っ込んでおけばいいかな?

631:login:Penguin
08/02/13 21:03:49 N8sc8JVE
>>628
TCPってIPじゃね?
以降物理層まで続く↓

632:正義の味方
08/02/13 23:20:51 5UuGIiF+
地球を救う正義の味方、今こそ参上!!
URLリンク(seiginomikata.xxxxxxxx.jp)

633:login:Penguin
08/02/14 01:22:24 AMxoEq8N
>>624 そんなあなたに URLリンク(www.blue.sky.or.jp)


634:login:Penguin
08/02/14 05:16:55 vPDIK5xn
HTTP on TCP on IP on Ethernet

635:login:Penguin
08/02/14 10:46:16 yt/o7Lpq
UDPはTCPじゃないおねw

636:login:Penguin
08/02/22 11:00:23 G/AgynaC
自分が開いているファイルポインタを監視して,
ほかのプロセスから見られているかどうかをチェックする方法ってありますかね?

637:login:Penguin
08/02/23 18:26:40 fMtbJMPF
inotify...でできたようなできなかったような。

638:login:Penguin
08/02/24 23:17:29 BrtZUi2N
URLリンク(streaming.linux-magazin.de)
cmakeについてのリアルタイム講演が聞けるそうな

639:login:Penguin
08/02/25 17:29:44 gh7YVSGk
gdbってスレッドの中まで追跡してくれないよね?
今開発しているプログラムが生成したスレッドの中で何かおかしなことを
やってるみたいなのだが再現性が100%にならず困っている.
gdbでlistとかやっても表示されるのはスレッドを生成してる
関数のところが表示される.
せめてどこで落ちてるのか分かればいいんだが...

640:login:Penguin
08/02/25 17:56:48 cSNR/6sC
マルチコア環境上で、指定したスレッドを実行しているCPU番号を取得する
方法はないでしょうか?

ちょうど、RTLinuxでいうrtl_getcpuid()のようなものを探しています。

# sched_setaffinity() を利用したCPU括り付けでのマルチスレッドの動作確認を
 しようと思っています。

641:login:Penguin
08/02/25 18:39:00 /pUYRVYK
info threads
thread thread_no

642:login:Penguin
08/02/26 22:09:55 Gzm7dZQg
>>640
CPU番号を取得するのがカーネル空間なのかユーザ空間なのかで違う。
カーネル空間ならthread_infoのcpuを読めばいい。
ユーザ空間ならthread_infoのcpuを読むようなカーネルモジュールを作って
システムコールで呼ぶしかない。ただ、システムコールのためにカーネル空間に入って
戻ってきたときには別のCPUに切り替えられているかもしれないので使い物にならない。



643:login:Penguin
08/02/26 22:12:32 Gzm7dZQg
>>636
fuserでも呼べば?

644:login:Penguin
08/02/27 01:24:58 YHDpNSRs
>>639
スレッドの本を読んで勉強するほうが早い

645:login:Penguin
08/02/27 02:36:14 s4UfhcJi
>>639
>>641のコマンドをgdbで実行すれば追跡できるけど?
gdbはVer.5辺りからスレッドに対応してるよ。

646:login:Penguin
08/03/04 05:37:01 hH79PlpS
Linuxではディレクトリをopenしてファイルディスクリプタを
得ることはできないのでしょうか?

647:login:Penguin
08/03/04 06:57:58 YiS1gKTk
>>646
opendir?


648:login:Penguin
08/03/04 11:16:05 c6KWa7j/
ファイルディスクリプタが欲しいんですよ。
ディレクトリのディスクリプタに対してlockfしたらどうなるか試したかったもので。

649:login:Penguin
08/03/04 11:18:58 f138xmmP
man open
O_DIRECTORY

650:login:Penguin
08/03/05 21:11:41 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
08/03/06 20:49:10 xYqhiEhk
>>650
仕様かどうかは知らんが、free(str)の前にsystem("ls");といれて、
straceつきで実行してみればARG_MAXがどこに効いているかわかるんじゃね?

652:login:Penguin
08/03/07 02:06:25 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
08/03/07 08:22:54 UMdAZxi/
Linuxでどうやってるのか知らないけど、古典的なUnixだとputenvしたときには
書く場所がなければmallocして場所を作るしなあ

654:650
08/03/07 18:57:12 WLDLR5XW
ありがとうございます。
そういえば FreeBSD の putenv も malloc していたような記憶があります。

655:login:Penguin
08/03/09 22:25:35 OicC4WBL
kernel 2.6.22でnetdevice.hのnet_deviceに
なぜstruct net_device *next消えてるの?

linux-sourceにはあるが
linux-headerには無い

なぜ?

656:login:Penguin
08/03/09 23:46:44 8q2J0afq
>>655
linux-(source|header)にある/ないは知らんが、struct net_device::next
が消えた理由は以下らしいよ。
URLリンク(git.kernel.org)

657:login:Penguin
08/03/11 01:36:58 Rs8OmFO7
>>655
なるほど解ったどもね

今snullベースで
仮想Ethernetデバイスを作ってるんだけど

たとえばeth0がすでに登録されてて
eth0のパケットをsnull0で送受信したい場合って

initの中で
dev_get_by_name("eth0);
でeth0のnet_devicはとって来れるけどこいつを
どうやって料理すればいいんだ?

なーんにも思いつかないw


658:login:Penguin
08/03/15 18:03:02 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
08/03/15 20:05:58 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
08/03/15 20:50:51 NRAbwdcX
>>659
やっぱそうするしかないよねー。
前者の方法でやってみるー。ありー。

661:login:Penguin
08/03/15 21:36:12 O4AlaY1A
②③が特に詳しく日本外務省について暴露しています

福田が尖閣諸島を中国に売り渡そうとしている!

外務省と福田政権が日本を中国に売り渡す・・・
青山繁晴氏が実際に見てきた日本の癌

① URLリンク(www.youtube.com)
② URLリンク(www.youtube.com)
③ URLリンク(www.youtube.com)


662:login:Penguin
08/03/15 22:23:04 iDC6xMbb
kernel空間でキューを作ってmmapで参照させたいんだけど
余計な処理が込み入ってないサンプルってありますか?

ドライバの形式はなんでもかまいません。


663:login:Penguin
08/03/17 00:43:36 nawcmHh0
>>662
お前K社か?

664:login:Penguin
08/03/17 12:33:53 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:伊藤
08/03/17 15:29:49 CWhG8eFa
>>664
エスパーのオレが回答する。

パスが通っていない。
init.dの下にある他のファイルを参考にパスを通しなさい
/bin,/sbin/usr/bin/usr/sbin くらいは通さないと駄目かと。


>>666
お前アホだろw

666:664
08/03/17 15:49:11 nScJcaBW
??
 パスですか? 他のファイルをみてますが、、今ひとつ??

667:login:Penguin
08/03/17 17:01:34 oHIFzbD+
uClinuxでpthreadって使えるでしょうか
全く調べてないですけど

668:login:Penguin
08/03/17 21:40:09 hxyCMaK/
>>664
直接ln -sなんてやってるのもまずいし、そもそもディストロが何か書いていない
時点で、rc.d以下がどういう挙動をするのかということがRHELやらSLESやら
ディストロによって違うということが分かってないだろ。

669:login:Penguin
08/03/17 21:49:58 hxyCMaK/
つーか、どういう動作を期待していたのか、何を試してどうなったのかも分からんが、
スクリプトの書き方からして根本的に駄目だ。
他のスクリプトをひとつでも見れば、どうしようもなく間違ってることくらい
すぐに気づくはずなんだが。

670:login:Penguin
08/03/17 22:06:58 e/wCVwfQ
>>669
じゃあ手本見せてやれよ
分からない分からないばかり言ってないでさ

671:login:Penguin
08/03/17 22:21:17 YyeBPwCr
手本は多数インストールされてるだろが。それを見れ。

672:login:Penguin
08/03/17 22:41:19 6m6H6SB/
>>663
Kってどこだぉ?

673:login:Penguin
08/03/17 23:18:23 EaiHugoC
>>672
Kentucky Fried Chicken に決まってるじゃないの

674:login:Penguin
08/03/17 23:20:52 +R0hndtT
>>664
runlevel 3は再起動じゃなかったりするわけだが。
/etc/inittabに説明が書いてないか?

ついでにK99じゃ遅すぎて、呼ばれる前にkill -TERMくらうと思うわけで。

>>667
使えるはず。
kernelじゃなくてuClibc側が対応してなかったりする可能性もあるが。


675:login:Penguin
08/03/17 23:46:58 s0icvwwX
>>673
カーネルサンダースかw

676:login:Penguin
08/03/17 23:58:03 Rzp2mBZf
>>674
667ですが使えました。
あろがとうございました。

677:login:Penguin
08/03/17 23:58:28 Rzp2mBZf
ありがとうございました!

678:login:Penguin
08/03/18 00:45:47 pdz2c3Ck
KFCか

679:login:Penguin
08/03/18 23:52:30 pdz2c3Ck
24時間で誤差1ミリsec以内に
時間を調節したいんだけど
NTPだけじゃどうにもならん

こうゆうときどうするの?

680:login:Penguin
08/03/18 23:55:57 owXiyD5i
>>679
KFCか、あきらめるんじゃないか?

681:login:Penguin
08/03/19 00:00:57 mZKM+MPD
GPSから受信するのがいいんじゃないか?

682:login:Penguin
08/03/19 00:34:49 jmy0fpSq
受信機からシリアルで送ってもらうと、1msくらい余裕でぶれそうな
気がするでよ。
システムクロックをTCXOで作ればどうにかなりますかねえ。

そもそも何でそこまでの精度が必要なのか気になりますな。


683:login:Penguin
08/03/19 01:52:51 Dy7hJrHZ
>>679
さすがに1日1秒もずれねーよなー

っていう前提の下に、1分に1回時刻合わせする

684:login:Penguin
08/03/19 01:59:47 hI6xFIVz
で、肝心のNTPサーバが他人様の物で、毎分の御アクセス
ありがとうございます。というメールとともにアク禁にされると。

685:login:Penguin
08/03/21 10:51:26 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
08/03/21 23:04:14 08/5PZeA
IMEの入力モードを変換するAPIってあるんでしょうか?

687:login:Penguin
08/03/26 01:52:22 cX9Hm6ZW
Linuxで各スレッドが何回Mutexかけて
失敗したとか統計情報ってどこにあるの?


688:login:Penguin
08/03/26 21:37:02 3c6tutxx
>>687
はっはっは
無いよ

689:login:Penguin
08/03/27 02:27:08 PiHD4Bq/
ねーのか
腐ってるんだな本当に
windowsがやっぱ最強だな

690:login:Penguin
08/03/27 23:02:19 vcJKwHhP
WindowsはMutexかけ損なった統計があるのか
スゴイな。どうやったら取れるんだい?

691:login:Penguin
08/03/28 11:01:02 HvPMQUTZ
イベントログじゃね?




ところで、質問です。
iconvの使い方、サンプルコードがあれば、教えてください。

やりたいことは
>SJIS 文字列と UTF8 文字列を相互に変換する
ことです


692:login:Penguin
08/03/28 13:32:01 i9tqqt3j
iconv -f SJIS -t UTF-8
iconv -t SJIS -f UTF-8

693:login:Penguin
08/03/28 15:51:47 HvPMQUTZ
ありがとうございます。
プログラムから使う場合も教えてくださいorz

694:login:Penguin
08/03/28 15:56:36 s6QtoqP9
system()

695:login:Penguin
08/03/28 17:40:02 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
08/03/28 18:06:35 HvPMQUTZ
詳説サンクス>>695

ところで、現在の文字コードはどうやってとりますか?
環境変数のLANGですか?


URLリンク(q.hatena.ne.jp)

697:login:Penguin
08/03/28 18:11:06 s6QtoqP9
スレリンク(unix板:202-205番)n
の人?

698:login:Penguin
08/03/28 18:12:36 HvPMQUTZ
当たり!

これが解決すれば、もう無問題なんですが。

699:login:Penguin
08/03/28 18:13:37 5TgcLqfx
スレリンク(tech板:26番) は?

700:login:Penguin
08/03/28 18:14:29 s6QtoqP9
>>698
なら板違い。

701:login:Penguin
08/03/28 21:23:25 s9WZiFsz
環境変数は
・プロセス毎に持つものである。
・どの環境変数をどう使うかは各プロセスに自由に任されている。OSは関知しない。
以上を踏まえて自分の目的が達成出来るか否か検討するよろし。

702:login:Penguin
08/03/31 13:16:40 psA1qVjr
黒タイツの暗黒シュシュトリアン

703:login:Penguin
08/04/07 09:04:17 tYWKZpa/
C/C++でHDDの使用量を取得したいのですがどのようにすればよいのでしょうか?

704:login:Penguin
08/04/07 10:52:59 YCXHql+C
dfのソースでも読んでみれば

705:login:Penguin
08/04/07 10:54:35 eTKSmIvZ
・kernel様にお伺いする。
・アプリからI/Oポートを直接操作する。
かな。

706:login:Penguin
08/04/07 13:33:34 HanpYLz1
>>703
statfsを呼べばおk
続きはmanで

707:login:Penguin
08/04/07 16:33:38 K3aneVtn
次期C++ではinline fortranが可能に!
スレリンク(tech板)

仕様肥大化しすぎ

708:login:Penguin
08/04/07 18:02:15 voVdLXCc
C++好きだけどいい加減自重してほしいとは思うな

709:login:Penguin
08/04/07 20:42:31 ky4RCRjO
正直ワロタ。もはやネタの域にきとるな。次はinline C#とかw

710:login:Penguin
08/04/08 14:18:36 xYr9GeEI
スレッド間の排他について質問です。

現在、共有資源の内容を変更(新規追加・内容変更・削除)を行うスレッドが1つと
共有資源の参照のみを行うスレッドがN(N>=2)の構成のアプリケーションを開発
しています。

今まで、どちらのスレッドもアクセスするには同じMutexによる排他を行っていた
のですが、どうにもスループットが出ないので、参照のみを行うスレッド間を並列に
動かせるようにするための方法を探していたところ、読み書きロック(正式には
何と呼ぶのでしょうか?)を発見しました。そこで、

変更するスレッド:変更前後で pthread_rwlock_wrlock() / pthread_rwlock_unlock()
参照するスレッド:参照前後で pthread_rwlock_rdlock() / pthread_rwlock_unlock()

というようにして試験したところ、劇的にスループットが向上しました。

これはこれで良かったんですが、となるとMutexの存在意義について疑問が出てきました。
今後、あらゆるMutexを使用している場面で、読み書きロックを使用し、Mutexの出番は
ない!と断言してしまって良いのでしょうか?


711:login:Penguin
08/04/08 21:42:30 VGg353lI
常識的に考えれば、この世にロックの手法がいくつもあるからには、
それぞれ向き不向きがあるのではないかと思うだろ。

常識で分からなければソースコード読んでみれ。pthread_rwlock_rdlock()で
やっている処理があらゆる場面で常に必要なのかどうか。

712:login:Penguin
08/04/08 23:57:33 weWUMveG
なんで参照でロックすんの?

713:login:Penguin
08/04/09 00:19:39 72MInrbZ
アトミック書き込み関数とかがPOSIXにはないから、かなー。
あとは、アレ、読み取り一貫性?そういうのを確保しないと、
これからはCPUコア数の増えていくからネ

714:login:Penguin
08/04/09 01:48:54 MHOGD1vi
つーと、具体的には変更スレッドと(参照スレッド)の同時発行時に参照スレッド側が遅延した場合とか考えてるのかな?
だとすると、Mutexを利用して変更スレッド側の優先度をごにょごにょしたりするつーことなの?

715:login:Penguin
08/04/09 12:36:11 oZETFFXK
カーネル2.4の環境で、共有メモリを使用したプロセス間通信を行っているのですが、
プロセスが停止(終了ではなく一時停止)します。
 ・AとBの2プロセスが動作しています。
 ・AはBへメールを送信(msgsnd)します。
 ・Bはメールを受信するとTCP/IP接続されたサーバに情報を送信し、
  送信したことをAプロセスへメールで通知します。
 
これを繰り返していると、たまにBプロセスの関数途中でAプロセス側へCPUが
スイッチされそのままBプロセスへ制御が戻らなくなります。
(システムコール等でブロッキングされているわけではありません)

※メール送信時の共有メモリは、メール送信毎に作成し、受信側で破棄する作りです。
※今のところTCP/IP通信を行わないと発生しません。(ドライバは標準の物)
※一時停止したプロセスはコンソールへの入力等(H/W割り込み?)を行うと再開します。

このような現象にあった方はいないでしょうか?(長々とすみません)

716:login:Penguin
08/04/09 12:56:09 KQOYg6Em
送信側にディレイを入れてみるとか?

717:715
08/04/09 15:05:40 7C+zl+CD
すみません、情報が漏れていました。

AプロセスはBプロセスのTCP送信が終わるまで、次のメールは送信しません。
その為メールボックス一杯や、メモリ枯渇も無いはずです。

718:login:Penguin
08/04/09 15:07:43 KQOYg6Em
straceで調べてみるとか?

719:login:Penguin
08/04/09 21:33:10 miANdZt+
pthread_rwlock_wrlock()とか
遅いし使う価値ないじゃん
全部pthread_mutexの方が安全だし

720:login:Penguin
08/04/10 17:20:05 hC2NJA9B
時間について教えて頂けないでしょうか?

1) 時間の取得(文字でなくて数値)
2) 時間のローカルタイム化
3) 夏時間の演算(tm_isdstの使い方が答?)

を順番に行うコードもしくは関数を教えて頂けないでしょうか?

721:720
08/04/10 17:30:23 hC2NJA9B
>1) 時間の取得(文字でなくて数値)

については、gettimeofdayがあるみたいですね。
その後がよくわからなくてorz

722:login:Penguin
08/04/10 17:33:38 f9Jb/+FW
? URLリンク(www.linux.or.jp)

723:720
08/04/10 18:06:20 hC2NJA9B
>>722
有難う。
1のgettimeofdayについては、分りましたが。。。

724:login:Penguin
08/04/10 18:09:09 f9Jb/+FW
>>723
そのページしか観賞しないの?

725:login:Penguin
08/04/10 18:23:14 hC2NJA9B
分らないから聞いてるんですけど。

正直言って、 >>722 のリンクは書き込む前に読んでます。

726:login:Penguin
08/04/10 18:24:02 f9Jb/+FW
>>725
学生くん?

727:login:Penguin
08/04/10 18:25:22 hC2NJA9B
>>726

おまい、ウザさ極限。
消えてお願い。

728:login:Penguin
08/04/10 18:26:26 kK61Qe8m
>>725
URLリンク(www.google.com)

729:login:Penguin
08/04/10 18:26:36 xKGUAbUV
時間と時刻の使いわけ
ものをたずねるときの態度

終わってるな

730:login:Penguin
08/04/10 18:53:32 hC2NJA9B
おまいら、クズだな。

こういう回答を待ってたんだよ : URLリンク(www.ne.jp)

731:login:Penguin
08/04/10 18:56:49 f9Jb/+FW
LINUXの固有の質問じゃないのに、聞く場所間違ってる。
だだのCの標準関数の使い方だろ?

732:login:Penguin
08/04/10 19:31:12 hC2NJA9B
>>731
おまいはクズなだけじゃなく、チ●カス野郎だな。

おまいの出したPOSIXのヘルプ読んでみろよ。
今は使うべきでないものから、BSD拡張まで書いてあるからwww

733:login:Penguin
08/04/10 19:32:46 f9Jb/+FW
職業プログラマ?

734:login:Penguin
08/04/10 19:56:43 kK61Qe8m
中学生か高校生でしょ。関わらない方がいいよ。

735:login:Penguin
08/04/10 20:33:34 qQFVgABP
>>720
time_t t=time();
puts(ctime(&t);
で出来るよ。夏時間は廃止されました。
URLリンク(www.linux.or.jp)

736:login:Penguin
08/04/10 21:28:17 1AAfwdH6
低スキル職業プログラマでしょ。
で、誰かに知恵をつけてもらって必死でやり返そうとしてるんだろ。

737:login:Penguin
08/04/10 23:15:29 JcKcidtB
これは酷いわ

738:login:Penguin
08/04/11 10:13:35 Dl1bvkA3
>>735
>夏時間は廃止されました。

本当ですか???
本当ならどれだけうれしいか。



ところで、>>720 の演算を順番に行うコードも知りたいです。

739:login:Penguin
08/04/11 11:48:41 sYNmn6Lb
>>738
>>735がそのコードです。

740:login:Penguin
08/04/11 12:29:22 Dl1bvkA3
なるほどサンクス。

time(); ・・・UTC(もしくはGMT)
ctime()・・・ローカルタイム化+文字列化

ですか。

741:login:Penguin
08/04/12 01:40:35 aMk0av0+
ていうか、「ありがとう」は?

742:login:Penguin
08/04/12 08:56:08 GsTcWvnq
サンクスって書いてあるじゃん

743:login:Penguin
08/04/12 09:17:33 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
08/04/12 13:41:44 2bOSym+8
iconvは危険だから使ってはいけない

745:login:Penguin
08/04/12 13:45:36 yzi8k0zU
時代は酢昆布

746:login:Penguin
08/04/12 15:09:02 H1hJd2mx
>>744
アプリを書き換えることにしました。ありがとうございます。

>>745
そうだったんですか?初めて知りました。もっと勉強します。

747:login:Penguin
08/04/12 17:16:01 zeB3ARgq
そのドル記号は何だw

748:login:Penguin
08/04/18 04:34:40 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
08/04/18 06:27:36 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
08/04/18 07:27:29 twxhbmPg
いや、「glibcのせい」と言ってはマズイじゃろ。「Cのせい」だよな。

つーか、この内容ならロックを取らずにアトミックに書き出せばええやん。

751:748
08/04/18 13:21:14 3NdGmVsA
fflushとはすっかり忘れていました。
ついでにお聞きしますが、ログ追記の定石というのはあるのでしょうか?
・ロックは不要か
・1行書くたびにfflushではパフォーマンスが気にならないか
・クラッシュしたときのためatexitでfcloseするべきか
とりあえずlog4cではflushもロックもしていないようでしたが。

752:login:Penguin
08/04/18 17:28:29 PjXu6NLk
要件による。

753:login:Penguin
08/04/18 20:38:56 5dGB6yjX
複数のプロセスからひとつのファイルに書き込むなら、
open(2)にO_APPENDをつけてファイルを開いておき、
write(2)で書き込むのが常道だろう。

ディスク表面への同期を行うべきか否かについては
ケースバイケースだな。

754:login:Penguin
08/04/18 21:48:41 BhtI3++S
こなあああああああああああああああああああああああああああ

755:login:Penguin
08/04/18 22:22:47 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
08/04/18 22:48:41 twxhbmPg
>>755
URLリンク(www.gnu.org)

757:login:Penguin
08/04/19 00:19:45 764YM5Ap
>>756
apt-get install hello

758:login:Penguin
08/04/19 01:01:26 FPfrqFBy
用意したデータをそのままIPのペイロードとして(IPのヘッダだけをつけて)送り出したいのですが、
具体的な方法を教えていただけないでしょうか。

できるだけ自分でプログラムを書かず、
既存のものを利用して実現したいと思っています。

759:login:Penguin
08/04/19 01:52:35 764YM5Ap
>>758
libnet

760:login:Penguin
08/04/19 02:08:23 +tIgJ88f
>>755 elisp で書いてみて


761:login:Penguin
08/04/19 09:33:24 FPfrqFBy
>>759
ありがとうございます。
これから調べてみます。

762:login:Penguin
08/04/24 13:01:17 Eon8tTkZ
libcのprintfってスレッドセーフなん?
出力が混じるくらいは目をつぶるとして

763:login:Penguin
08/04/24 13:17:50 8jColJMw
これもしかして俺が作ったスレ?
違ったっけ?

764:login:Penguin
08/04/24 14:41:36 8jColJMw
なぁおまえら。
char* ch;
というような宣言があったとして、chはcharポインタ型と言って
しまっていいんかな?


765:login:Penguin
08/04/24 14:44:23 j6EvvzSE
キャラクター型ポインタ、略して きゃらぽ

766:login:Penguin
08/04/24 14:52:04 8jColJMw
>>765
だよなぁ。
URLリンク(slashdot.jp)
ここら辺見ててちょっと疑問に思ったんだ。
きゃらぽか。
使わせてもらうぜ。

767:login:Penguin
08/04/24 14:58:21 uGjCjb2u
Cの宣言の解釈順に読むとchはpointer to char
chはcharへのポインター

768:login:Penguin
08/04/24 23:11:14 Py8lS3wT
>>762
ちゃんと見てないが考慮はしてるようだ@2.7
書く所で排他制御してりゃ混ざらんとは思うが。


769:login:Penguin
08/04/25 12:46:43 ZR+Ag5j0
何かのポインタ本読んだときに
ポインタは英語で読めってのは結構良かった
以来、>>767と同様、一度英語にしてから読んでいる

770:login:Penguin
08/04/26 18:14:13 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
08/04/26 18:43:45 SnvFIl5v
right to leftの原則で自力で嫁

772:login:Penguin
08/05/01 00:31:02 scTgaskf
msgctlに必要な権限ってrootだけなんでしょうか?

773:login:Penguin
08/05/07 19:15:08 a19YHgic
>764へ
おまえ
読み方は、さておき
一般的に
char* ch;
ってコードがあったら何を連想する?

774:login:Penguin
08/05/07 23:32:30 cSvceTAy
スレッドの生成(pthread_create)を実施する関数のテストをしています。

スレッド生成が失敗した場合のケースをテストしたいんですが、意図的に
pthread_createを失敗させる方法が分かりません。

PTHREAD_THREADS_MAX をいじっても当然無意味(そもそも、コメントアウトされている)で、
/proc/sys/kernel/threads_max はマシン全体にわたるパラメータなので、
他の使用者(共通端末上で開発しています)に迷惑がかかってしまいます。

プロセス毎の生成可能スレッド数を動的にいじることができれば理想です。

どなたか、妙案をご存知の方いませんでしょうか?

775:login:Penguin
08/05/07 23:58:46 pHDw0dkU
>>774
ulimitコマンドとかどうよ

776:login:Penguin
08/05/08 00:54:12 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
08/05/08 01:03:51 y2WVcfdv
>>776
おいおいw

778:login:Penguin
08/05/08 04:42:09 jTb0scH/
これってどう直すんだw
execで置換もforkが前段に入るから無理?

779:login:Penguin
08/05/08 07:40:35 67SUhF1P
あきらめてログアウトすれ。

ちゃんとman page読んでから試せよ…


780:login:Penguin
08/05/09 17:52:15 NYmc9yfk
マソパゲ

781:login:Penguin
08/05/10 14:29:04 QmEn1LiA
dlopenや共有ライブラリのプロファイル情報を
取りたいのですがどうすればいいの?
普通に-pgでコンパイルしても

gmon.outにmain1個だけしか出てこないw


782:login:Penguin
08/05/10 19:29:59 s9qAIz4p
実験でゲームサーバーを構築したいのですが
クライアント側からのキー入力をTCP/IPプロトコルで、サーバーに送信する技術ってやっぱり
socketを用いるのが吉?

783:login:Penguin
08/05/10 19:38:32 iYMWpnHw
ソケット以外の何でTCP/IPするというのだろうか・・・

784:login:Penguin
08/05/10 19:44:22 s9qAIz4p
>>783
linuxや通信関係の実装は、一回もやったことが無いので、確認させてもらいマスタ
元々C++使いなので、Cはわかるのですが、linuxのプログラミングに関して
Cの情報は多いけど、C++の情報が少ないのが残念デツ
車輪の再発明はしたく無いので、C++のsocketのライブラリィーとか知っていたら教えてもらえマツカ
オナガイシマスエロイヒト


785:login:Penguin
08/05/10 20:34:18 /xnxdJoy
>>782
クライアント側が BSD socket インタフェース持ってるんだったらそれが吉
もっと便利なライブラリがあるんだったらそれを使う方が、おそらく、もっと吉
そうでなければ使ってる OS の流儀に従うしかねぇんじゃねぇの?


786:782
08/05/10 20:52:57 s9qAIz4p
>>785thx
何となくですが、輪郭が見えてきました
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
08/05/10 21:06:13 i6s1t4ei
>>786
こっちの方がいいと思うよ

ネットワークプログラミング相談室 Port21
スレリンク(tech板)


788:login:Penguin
08/05/10 21:09:29 fPB8nF+C
型がおかしいって言われてるのにどの型を使ってるか書かないのは釣りなのか?

789:782
08/05/10 21:15:38 s9qAIz4p
>>787
>>788
thx
ネットワークプログラミング相談室 Port21
スレリンク(tech板)
へ移動します


790:login:Penguin
08/05/22 14:41:47 NBp9AMHO
すみませぬ。

規則性を持って空のファイルを作る場合にCPUやメモリに負荷を
あまり掛けないで作る方法ありますか?

gccと標準的なシステムコールでお願いします。

open文で作ってますが、ファイルI/Oは、結構な仕事
なので、少しでも軽くしたいです。

規則はN文字のaaa(N=3)というファイルを作成
aab aac aad
aba 

zaa        ..  zzz
のように作ります。
規則性は、あまり関係ないですけど。
結構な大量ファイルを作成する必要があります。

791:login:Penguin
08/05/22 14:50:27 WyDCfVht
すみませぬ。

LUNAXにプログラムにおいて
20という数字をターミナルに入力したら、
それを読み取り、30という数字を表示する
プログラムの作り方がわからない為、教えて頂けませんか??


792:login:Penguin
08/05/22 14:51:55 It4hntbe
日本語でおk

793:login:Penguin
08/05/22 15:02:39 K3H4Ah9R
read; echo 30

794:login:Penguin
08/05/22 15:05:22 K3H4Ah9R
>>791
マルチか。
スレリンク(linux板:435番)

795:login:Penguin
08/05/22 15:34:55 gmG2tmnb
>>790
open/creat呼び出しはどうにもならんだろう。
FS側でジャーナリング止めるとか…

796:login:Penguin
08/05/22 16:09:36 cM6TBq1G
>>791
突っ込み所満載だから誰も突っ込んでないけど、LUNAXって何だよ・・・

797:login:Penguin
08/05/22 22:32:21 azKjZoxE
>>795
この場合、ext3のジャーナリングがオーバーヘッドとして比重が相当に
大きくなってそうですな。

798:login:Penguin
08/05/23 00:22:04 xL+nAK0I
メモリ上にあるデータのmd5sumを取得(計算)したいんですが、
GNU coreutilsのmd5sum.cから貰ってくる以外に簡単な方法は
無いでしょうか。

799:login:Penguin
08/05/23 00:45:45 nmi3RI3q
>>798
RFC1321のAppendixを丸写しする

800:login:Penguin
08/05/24 01:18:02 QlwIdcZn
カーネルが持ってるのをどうにか持ってくる。

801:login:Penguin
08/05/24 01:27:20 QlwIdcZn
Cryptographic APIってユーザーランドから使う方法ないんだっけ?

802:login:Penguin
08/05/24 13:30:43 jv/eFsuY
パイプでmd5sumに流し込めば?

803:login:Penguin
08/05/24 14:15:42 AYrBRDvb
正直、LinuxよりLunaxの方がかっこいいと思った

804:login:Penguin
08/05/24 17:32:54 8/0PspEJ
>>798
やったことねーけど、そういうライブラリがあるんじゃね?

805:login:Penguin
08/05/26 15:21:05 fXE9sIkN
opensslが入ってるなら、EVP_md5

806:790
08/05/28 14:15:25 7atgnQdI
すみません。

open以外に空ファイルを作る、CPUやメモリに負荷を掛けない
方法ありますか?

807:あいちゃん
08/05/28 14:44:30 u23B6L4S
どうにかしてプラッタに刻む

808:login:Penguin
08/05/28 21:51:43 hyFpgWYw
ドライブに負荷を掛けにくい方法ならある
cpuとメモリの負荷を減らしDMA転送も出来る。
が、負荷を かけない ってのは無理

809:login:Penguin
08/05/28 22:21:06 6Rl9Qb5b
>>806
システムコールを使いたくないなら、次のようにするしかないんじゃないかな?
1. ext3ドライバのソースを読んで空ファイルの作り方を調べる。
2. 直接HDDを操作して空ファイルを大量発生させるプログラムを作る

810:login:Penguin
08/05/28 22:37:58 tp55Dea8
あらかじめファイルが格納された状態のファイルシステムのイメージを用意して、
raw I/Oなりddなりでビットマップやinode領域等を書き込めば軽いだろ。

ファイルシステムを破壊するけどなw

811:login:Penguin
08/05/28 23:36:20 7atgnQdI
>>809
システムコールがだめってわけじゃないけど
touchやcpのソース(coreutil)とか調べて負荷が低いのを探してた。
ext3のソースは未だ調べてない。調べて見る。

>>808
はい、より負荷を掛けない方法を模索してます。

>>810
考えてたけど、排他がマンドクセーと思ったので、未だやってないっす

812:798
08/05/29 02:30:49 rITSsBYp
>>799-805
皆さんありがとうございます。
返事が遅れたことをお詫びします。

>>805さんのレスを見て、opensslを調べたところ
URLリンク(www.openssl.org)
ここにMD5()という「まさに」な関数があって、
無事動きました。

色々知恵を絞っていただき、本当にありがとうございました。

813:login:Penguin
08/06/03 14:19:26 KXye7tRy
>>811
superblockいじっちゃいなよ。

814:login:Penguin
08/06/16 22:07:27 hghHQ/gK
write()でファイルに書き込んだあと
close()しても、すぐにはディスクには同期されていなくて、
タイムラグがあるそうなのですが、

close()した直後に別のプログラムから同じファイルを
open()してread()しようとしたら、どうなるのでしょうか?
その前にwriteした内容はちゃんと読み込まれるのでしょうか?

815:login:Penguin
08/06/16 22:47:57 B5/Uz4Q9
>>814
ちゃんと読み込まれる。バッファ統合されているから。

バッファ統合前の、昔のUnixではその点の保証がなかったが、
いまどきのUnix系OSはみんな統合されている。

816:login:Penguin
08/06/19 00:29:34 DwSvGKMg
ダーティーなデータの読み取りって昔は出来なかったの?

817:login:Penguin
08/06/19 08:16:32 B2b558bH
読み込みに使うキャッシュと書き込みで使うバッファとが別々だったから
ダーティ・ページもクリーン・ページもない。

818:login:Penguin
08/06/19 14:22:38 qCoUXFkj
おお。なるほど。知らなかった。
ページキャッシュとバッファキャッシュの統合とか言う前の段階か。

819:login:Penguin
08/06/30 22:13:50 j7UJtdfw
今日ソフトバンクから出た
デバドラの本最強すぎます
バイブルの域に入ります

820:login:Penguin
08/06/30 22:18:50 haG/mU8k
本の題名を詳しく

821:login:Penguin
08/06/30 22:34:08 j7UJtdfw
Linux デバイスドライバプログラミング

822:login:Penguin
08/07/01 00:18:07 jjjb16mB
>>821
目次見る限り、買う価値はありそうな気がするね。

までも、オライリーのドライバ本読んだら、カーネル解説書読んで
とっととソース読めって気もするが。

823:login:Penguin
08/07/01 00:19:23 jjjb16mB
といいつつ、Amazonで1click購入してしまた

824:login:Penguin
08/07/01 00:22:32 u/xfrfGj
>>822
でもソース読んでも
どうしても解らないことがる

mmapでユーザに領域明け渡してpollで
データ通知するのはいいんだけど
ユーザが書いてきたデータをkernelに通知
させるのがよく解らん

馬にはそんなこと1行も記述されていないし

825:login:Penguin
08/07/01 00:33:15 jjjb16mB
>>824
>ユーザが書いてきたデータをkernelに通知
>させるのがよく解らん

なんでもioctlしてしまえばOK

826:login:Penguin
08/07/01 00:41:24 u/xfrfGj
>>825
それ昔海外のBBSいったら
ふるぼっこにされたんだけど?

827:login:Penguin
08/07/01 00:45:03 jjjb16mB
>>826
ちらねっっっっっw

828:login:Penguin
08/07/01 00:51:09 jjjb16mB
もうさ、read, writeなくしちまって、open, close, ioctlだけでいい気がするのだけど
どうなんだろう。read, write, SIGIOとか、柔軟性ないし。最低、引数付きシグナル
は必要。

829:login:Penguin
08/07/01 13:53:54 JO6lQKf2
>>828
「ケンシロウ、ioctlはいいぞ」 という声が聞こえてきました。

read,writeは シェルからでも使えるようにするための種もみです。

830:login:Penguin
08/07/05 11:02:49 ouwQp4GB
スレッドチューニング用のプロファイラってありませんかね?

831:login:Penguin
08/07/05 12:39:14 GSKLgaHv
ありません

832:login:Penguin
08/07/05 13:05:00 ouwQp4GB
ズコー

833:login:Penguin
08/07/12 13:14:06 j34+JRvX
ubuntu 8.04-64bitで
bfd_minisymbol_to_symbol使うと問答無用で
segるんだけど何が原因なんすかね?

834:login:Penguin
08/07/16 02:13:51 5DOmporE
PC/AT機のI/Oポートを操作するような時に、outb_pと(普通の)outを使い分ける
条件ってどうなってるんでしょうか?
『I/O操作の遅いデバイス』と『I/O操作の早いデバイス』で使い分ければよいのでしょうか?


835:login:Penguin
08/07/16 08:46:59 IjcD5fhK
>>834
まあそんな感じでよろしいのではないかと。

コマンド書いてから動き始める間で時間かかりますなんてのは、
outb_pでつつくのがよいです。


836:login:Penguin
08/08/15 23:35:52 Dq4dt+Vm
質問させてください。

デバドラからアプリケーションにイベント通知したいときって
どういう風に実装するのがフツウなんでしょうか。

よろしくお願いしますm(_ _)m

837:login:Penguin
08/08/16 08:28:54 DPUB+UTd
>>836
アプリケーションがioctlを呼んで、その呼び先のデバイスドライバで
イベントが無かったら寝る。デバイスドライバでなんかイベントがあったら、
寝てるやつを起こす。って実装しときゃいいんじゃない?

838:login:Penguin
08/08/16 09:07:36 Xdxhavca
それならpollの方がよいのではないかと。



839:login:Penguin
08/08/16 13:28:44 KgWh2K36
read, write, pollいらねーんじゃね。ioctlでなんでもできるし、シグナルも不要。

840:login:Penguin
08/08/17 04:15:45 RamYD2Yk
>>837>>838>>839
レスありがとうございます!
システムコール内で待つのが常套手段みたいですね。

ところで、
教えていただいた情報をもとに調べていくうちに、
デバドライベントを複数同時待ちしたいという新たな欲望が生まれてしまいました。

pollを実装すれば要件をみたせるようなので、
今回はpollを使うことにします。

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


841:login:Penguin
08/08/22 18:32:31 r1fvTloB
LinuxのカーネルモジュールをC++で作りたいんだけど無理?
とりあえずCで書いた本体の.oとg++で吐いた.oをリンクして、モジュールをビルドしたら.koは出来るんだけど、シンボル解決出来ずinsmodに失敗した。

842:login:Penguin
08/08/22 20:40:29 EJDA2Uuj
C++ シグネチャでググレ

843:login:Penguin
08/08/24 07:51:45 T31yXksn
Tcl/Tk
最近のものは、けっこう強力になったし、スピードも上がってるようだが、
あまり流行ってないのか?
Linux, FreeBSD, MacOS X, Windowsと、殆んど同じコードが使えて便利なようなのだが…

844:login:Penguin
08/08/24 13:24:24 WgO6gp39
>>843
gtk+やwxWidgetsと比較してどうなの?

興味がわいたのでTkだけ使ってみたいのだけど
おすすめ解説ページとかあったら教えてください。

特に画面遷移とかC/C++との連携方法とか・・・


845:login:Penguin
08/08/24 13:36:45 s1lwltE0
tkはともかく、tclを使ってる所なんてここ何年も見たこともない

846:login:Penguin
08/08/24 15:41:43 IEvm07Rz
EDA関係ではまだ多いんじゃないの?

847:login:Penguin
08/08/24 18:03:42 n5RJcPI7
淘汰されたのに昔に戻してくれるなよ

848:login:Penguin
08/08/25 08:28:43 LUi0Re9e
日経からムック『すばりわかる!Tcl/Tk』出ないかなあ。
『ゼロから学ぶgtk+』でもいい。

849:login:Penguin
08/08/25 23:41:00 /KPpX7xT
>>845
ネットワーク業界ではテストツールを書くのにがんがん使われている。

850:login:Penguin
08/08/26 01:48:59 QgHqFXA9
Tcl/Tkの日本語情報があまりにも少なすぎる。

851:login:Penguin
08/08/26 07:48:19 B+1DI1fl
>>850
確かに、Tcl/Tkの情報が少ないよね、そこそこ使われてるような気がするんだけど。
>>844 さんが言ってる c/c++ /Tk の情報は、殆んど皆無だもんね。
最近、山森さんがチョッピリ書いてるのはあるけども…
URLリンク(journal.mycom.co.jp)

852:login:Penguin
08/09/03 13:10:00 nxPN9M20
gtkmm使ってこんなの作ってみました

URLリンク(www.vector.co.jp)

これからQt4・gtkmmのどちらを使っていくか迷ってるんですが

QTはGUIからネットワーク・サウンドなど様々な分野に対応したライブラリ
gtkmmはGUIのみのライブラリだがウィジェットの生成・消去の処理はこちらのほうが早い

処理時間は優先させたいがいろんな機能が統合されている魅力も捨てがたい...
どちらを使うべきでしょうか

853:login:Penguin
08/09/04 02:03:16 yL02FzIi
両方

854:login:Penguin
08/09/04 19:25:48 kxSlZy+f
Qt4を少しだけ触ってみたんですがgtkmmにくらべ,ウィジェットの生成・消去にかかる処理時間が2~3倍
さらに2D描画の処理時間が1.5~2倍くらいかかりました.
これって仕様?

855:login:Penguin
08/09/04 21:34:53 5liswdaD
gtkmmはCだろうけど、QtはC++だからしょうがないんじゃね。
GUIみたいなやつだと

856:login:Penguin
08/09/04 22:58:04 kxSlZy+f
gtkmmはGTK+のC++バインディングですよ
それにC++とC言語でも処理時間はさしてかわらないはず
Debian使ってGNOMEデスクトップでQT4インストールしてやってるんですが
同じ言語で処理速度に2~3倍の差が出るとかありえるんでしょうか

857:login:Penguin
08/09/04 23:35:03 5liswdaD
速度差が気になるなら、プロファイル取って原因調べるなり
なんなりする。調査結果貼り付けたら、喜ぶ人もいる。


俺は、めんどいから調べないがw

858:login:Penguin
08/09/04 23:55:48 kxSlZy+f
とりあえず処理速度gtkmm>Qt4と結論づけて
Qt5出るまでgtkmm使うことにします
GTK枯れてるのであまり使う気は引けるのですが...

本屋なんかでQt4の本とかはよく見かけるのに
GTKの本なんかは絶版しててAmazonで全国5冊とかそんなのばかり...

859:login:Penguin
08/09/05 00:20:36 yJYLbrdu
gnome上でQTは時間かかるでしょ、逆も真なり。

860:login:Penguin
08/09/05 00:24:58 uvh8bhuM
Qtは時間かかんないよ。
KDEアプリはDCOPサーバ立ち上げるのに時間かかるけど。
GTKもKDE上で特に時間がかかるような事はない。

861:login:Penguin
08/09/05 02:26:52 B9KHGXh3
ここは一つGASで…

862:login:Penguin
08/09/05 02:52:39 vjYSyV9j
軽くてシンプルなツールキットを自分で作っちゃえば?

863:login:Penguin
08/09/09 23:40:53 YosnVhH1
Xtで十分

864:login:Penguin
08/09/10 19:47:10 8bQJIIgG
GAMBASってやっぱ人気ねーのな。

865:login:Penguin
08/09/24 15:06:15 OEqJ5D76
wxWidgets、機能面は申し分ないけど
小さいアプリでもなんかもっさりするな。

866:login:Penguin
08/09/26 20:03:57 w561g39v
selectでファイルを監視していて、selectが帰る度に前回からの経過時間を取得したい
ntpdが動いていてる環境なんですけど、10ms精度で取得する方法はありませんか?

867:login:Penguin
08/09/26 20:23:15 QxRUqolh
>>866
clock_gettime(3) でいいんじゃね?

868:login:Penguin
08/09/26 21:20:06 w561g39v
>>867
ありがとうございます。

869:login:Penguin
08/09/28 11:24:17 p6UHPaTd
GTKのプログラミングの本ってどれおぬぬめデスか_?

870:login:Penguin
08/09/28 15:20:53 xpXgBPBo
いくつもないんだし
全部読め

871:login:Penguin
08/09/28 15:44:21 p6UHPaTd
どれあるんすか?

872:login:Penguin
08/09/28 15:57:29 CeAQTKB8
>>871
URLリンク(www.gtk.org)

873:login:Penguin
08/09/28 16:02:40 p6UHPaTd
やっぱり勉強やめた
英語無理

874:login:Penguin
08/09/28 16:05:02 IgG6wSSR
URLリンク(www.iim.ics.tut.ac.jp)

875:login:Penguin
08/10/15 14:17:07 eYzFomnv
URLリンク(www.gnome.gr.jp)
URLリンク(www.gnome.gr.jp)
URLリンク(www.gnome.gr.jp)

日本語のGTKマニュアルだとこれくらい
ぐぐればほかにもあるかもしれんけど

市販の本もあるらしいが入手はほぼ不可

学びやすさではQtか...
ただモジュールが膨大なせいか
GTKより仕様が複雑

876:login:Penguin
08/10/16 11:54:52 0uol2Q5Z
>>873
1年前は俺もそう思ってたよ。
ところが仕事でやるようになって、
解らなくても必死に調べてたらそのうち解るようになってきた。
結論としては解らなくても続けていればなんとかなる。
ただ一人じゃつらいから仲間は必要だな。
Qtなら多少説明できるが、GTK+は未経験。
でもQtはWindowsと考え方はたいして変わらなかった。
やりたい人がいるんなら、プログラミングサークルwでもつくる?

877:login:Penguin
08/10/18 12:10:00 KYR9fNBQ
>>876
とりあえず、飽きるのに耐えつつ
昨日届いたFoundations of GTK+ Development
を読んでいる。



878:login:Penguin
08/10/20 03:11:00 kADyao8b
>>877


879:login:Penguin
08/10/25 02:32:58 qRPC/mBT
結局wine入れてWin32API使うのが楽
すなわちWindows使うのが一番楽

880:login:Penguin
08/10/25 06:24:50 wJ7HZZJn
素のWin32APIは…

VCLがお手軽で良かったのう。

881:login:Penguin
08/10/25 19:40:27 IwBjdQTZ
つまりLinuxデスクトップがWineで構成されているディストリビューションがリリースされればいいのか...

882:login:Penguin
08/10/28 00:43:16 AhwFq0EP
Lindows再び みたいなのがそのうち出るんだろうね。
Mono2.0では.NETアプリケーションの45%は修正なしでいくらしい。

883:login:Penguin
08/10/28 00:48:56 r3ekrN11
VBやDelphiみたいなのが出ればWindowsのサンデープログラマーが移行しやすいと思うね。
あとは開発ドキュメントの日本語化。

884:login:Penguin
08/10/28 08:01:42 DXJuo0mx
もう過去に失敗してるけどね
まあ何度でもトライすればいいとは思うが

885:login:Penguin
08/10/28 21:59:26 Vec0SHgw
perl python rubyあたりのスクリプト言語と適当なGUIライブラリで
十分だろ。趣味なら。

886:login:Penguin
08/10/28 22:24:22 Z2Jy68nM
なんでGTKでのGUI開発って
宗教的儀式作法としか考えられんほど糞なコーディング強いるの?

887:login:Penguin
08/10/28 22:33:00 HPnu13IO
例えば?

888:login:Penguin
08/10/28 22:47:25 Z2Jy68nM
イベントとかもう嫌だ
.NETみたいに書きたい

889:login:Penguin
08/10/28 23:55:06 YSiYH+k9
慣れの問題
どのGUIにも特有の決まりごとはあるもの
やってることはそれほどかわらない

890:login:Penguin
08/10/29 00:35:27 opRkkW0G
あのなあ、そりゃGTKしかないなら慣れるしかないだろうけど、
実際には「学ばない」という選択肢があるから慣れようがないんだよ。
他とやってることがそれほど変わらないのなら、
簡単で合理的な「他」を選ぶだろうがバカめ。

891:login:Penguin
08/10/29 00:58:37 G+yEkmy9
というかGTKはOSXかWindowsどっちかと
機能と仕様統一すべきだろ

GTKって生産性低いんだよ

892:login:Penguin
08/10/29 00:59:10 x4cHnl0M
馬鹿宣言乙

893:login:Penguin
08/10/29 01:01:25 G+yEkmy9
そもそも.NETやCocoaだと5分で作れるようなことが
まずソースコード読もうとかアホな次元から始まる
GTKは本当にありえない

894:login:Penguin
08/10/29 03:13:54 9ojY5vRp
>>893
それは言える

895:login:Penguin
08/10/29 03:19:59 F4yRCIO7
実例をあげろ

896:login:Penguin
08/10/29 03:20:53 XWWc8vU1
ラーメンタイマーはもういいからw

897:login:Penguin
08/10/29 03:28:18 CAHVmB1i
ワロタ

898:login:Penguin
08/10/29 08:02:53 KASNM7qI
まあ.NETやCocoaは実質有料だからなあ。

899:login:Penguin
08/10/29 11:53:31 aVUXk04O
GTKやってる奴って趣味で(好きで)やってんだろうからどうでもいいが
俺専用なら、俺はまずGUIなんて作らんし大抵はスクリプトで終了だよ
ゲームならどのみちGTKとか使わんだろ

>>898
一般人はWindowsがプレインストールされているPCを買うし
NETフレームワークもVisual Studio 2008EEもタダで手に入って
ポトペタRADが利用できるわけで

900:login:Penguin
08/10/29 12:44:13 wwkxgPCl
主流のXPには.NET入ってねぇだろ。
あれはWindowsUpdateのカスタムで「除外」するのが
企業なんかじゃあたりまえだぞ。
セキュリティ部門が運用で面倒くさくなるかならな。

VSが失速しタダみたいになったのは.NETになって
非.NETアプリの需要がまだあるのに非.NETアプリを
簡単に作るのが面倒になったらからだと思う。
.NETアプリっーつのは、ユーザーに別個に.NETのインストールを
指示する必要があるから面倒なんだよ。
(ATIのビデオドライバなんかがそうなっているね)

一般企業的価値感では.NETを利用するなら
旧開発環境で非.NETにするか、どうしてもフレームワークを使うなら
javaにいくと思う。

周辺機器なんかの付属ソフトなんかもたいがいそうだよね。


901:login:Penguin
08/10/29 12:50:14 aVUXk04O
>>900
> 主流のXPには.NET入ってねぇだろ。
> あれはWindowsUpdateのカスタムで「除外」するのが
> 企業なんかじゃあたりまえだぞ。
> セキュリティ部門が運用で面倒くさくなるかならな。

デフォで入ってなくともタダで入れられるし。
Linuxデスクトップなんて趣味丸出しの世界と
業務で使ってて好きに弄れない端末(非開発機)を同列に論じてるのも意味不明だな。

902:login:Penguin
08/10/29 12:53:13 aVUXk04O
一応確認するが、
まさか.NETランタイムも入れられない環境に
LinuxやWin用GTKランタイムは入れられるとか寝言言ってんじゃねえよな?w

知らんようだから教えてやるが、
.NETは思いっきり仕事でも使われてるよ

903:login:Penguin
08/10/29 13:02:27 wwkxgPCl
なんでそんなに必死なの?
ひょっとして仕事で.NET関係の開発してる?
そりゃ大変だよね~、VISTAがもっと流行ればいいね~
(ちょっと無理っぽいが、計算狂ったんだろうなぁとは思う)

904:login:Penguin
08/10/29 13:28:52 aVUXk04O
>>903
お前さんが知ってる「世間」が狭すぎる上に主張が意味不明だから
突っ込んだだけだが

「Javaならいい」ってのも意味不明だしな
JREはノーカウントかw

905:login:Penguin
08/10/29 17:27:23 ULIKBty7
>>904
必死さはよく伝わったよ。一応903とは違う者なので

906:login:Penguin
08/10/29 21:51:45 lCe1Ktii
こういう場合、何一つ具体的な反論をしていないほうが分が悪い
どちらだかは言うまでもないな?

907:login:Penguin
08/10/29 22:36:46 G+yEkmy9
GTK用のRADツールでまともなもん
無いの?なんで作らないの?
リーナス馬鹿だから?
犯罪者排出したから?

908:login:Penguin
08/10/29 23:40:02 QzNzlvxl
リーナス関係ないじゃん。
と釣られてみる。

909:login:Penguin
08/10/30 02:01:37 4ykSSJQZ
あんなお絵かきツールいらんw

どんなGUIにもたいていついてるけどw
できるソース最悪だしまともなもの作れるとは到底思えない

特にあの子供のお絵かき的な操作はやっててむなしくなってくるw

間に合わせではなくいいものを作りたいなら
普通にコーディングしたほうがいい

910:login:Penguin
08/10/31 00:04:39 rGwLY2DF
RADは簡単なGUIをすばやく、簡単に作るもので

時間がないのでGUIを手早く・・・
GUIはあまり重要でないので適当に・・・

という場合に(仕方なく)使用するツール

にも関わらずこれら以外の場合で喜々として使用したいような方は
RPGツ○ールえっくすぴーでもいじってた方が効率的

なにも理解してないゆとりの時代の子供が
無理にプログラマーの真似事をする必要はありません

911:login:Penguin
08/10/31 12:21:08 JojG8LTd
>>910
> なにも理解してないゆとりの時代の子供が
> 無理にプログラマーの真似事をする必要はありません

吹いたw
VBにしろAccessにしろ.NETにしろDelphiにしろNetBeansにしろ
思いっきり業務で使われている/いたわけだが……
パッケージソフトにしろ、ダイアログを作成するのにリソースエディタの一つも
使わないというのはあり得ない

912:login:Penguin
08/10/31 13:27:24 zn3zHzQB
GTKはかなり昔に少しやっただけなので黙っていたのだが、
gladeとRuby/GTKあたりでやるのが楽だと思うよ。

913:login:Penguin
08/10/31 16:31:34 NTOX3eWD
ちなみに

grade
URLリンク(usamimi.info)

gradeでgtkmmとか面倒ならrubyとかpythonてのが成道な気がしないでもない。


どうしてもVBだろう、どうしてもVBっぽいのじゃなきゃダメって厨な君にはこんなのもある。
FPC+Lazarus
URLリンク(usamimi.info)
Delphiクローンだな。(pascal)

残念ながらVBはない。当然だが。
素直におとなしくeclipse+javaでもやってて欲しい。



914:login:Penguin
08/10/31 19:48:07 BAdSZswW
つーかLinuxのGUIはWindowsかOSX遵守しろよ
違法コピーOSのくせに

915:login:Penguin
08/10/31 20:23:23 BAGbDsrX
イミフ

916:login:Penguin
08/10/31 21:04:14 SNC34/H2
アプリケーション間でショートカットキーくらいは統一してほしいところ
あとウィンドウマネージャはクリップボードの機能をもっと強化すべき
WindowsやMacOSはそういうところが尋常じゃなくしっかりしてる

917:login:Penguin
08/10/31 21:52:10 NTOX3eWD
すでに文句言うために文句言ってるというw


918:login:Penguin
08/10/31 22:33:57 rGwLY2DF
>>911
パッケージで堂々とRADとはサスガですね?

919:login:Penguin
08/11/01 00:07:00 7aGvguWk
>>918
Windows自身VC++で作られてるわけだが

920:login:Penguin
08/11/01 01:48:23 DmScaBwx
それがなにか?
OS自身をRADで作るとでも?
私にはあなたがソリューション系の仕事を転々としてきた派遣の人に見えます
知ったかぶりは後々弱目になるので気をつけたほうがいいですよ?

921:login:Penguin
08/11/01 02:05:41 jzmmikh+
>>920
弱いものいじめはやめろ!

922:login:Penguin
08/11/01 02:34:34 7aGvguWk
話が変な具合にねじれてるな
VC++をRADと定義するかどうかのズレか?

普通はVC++をRADとは言わんと思うが
知っての通りVC++にはリソースエディタがついており、
コードの自動生成やクラスライブラリとの連携機能があり、
VC++は事実上Windowsの標準開発環境として広く利用されているわけだが
パッケージならむしろVC++を用いていないもののほうが稀だろ

無論kernelコードなら「リソースエディタ」なんぞは関係ない話だが
「Windows」というOSに関しては、GUIデスクトップ環境まで含まれるからな


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch