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


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

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



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

過去スレ(プログラム技術板)
Part6 pc8.2ch.net/test/read.cgi/tech/1116908090/
Part5 pc8.2ch.net/test/read.cgi/tech/1105723117/
Part4 pc5.2ch.net/test/read.cgi/tech/1095843584/
Part3 pc5.2ch.net/test/read.cgi/tech/1085930894/
Part2 pc5.2ch.net/test/read.cgi/tech/1055110889/
Part1 pc2.2ch.net/tech/kako/992/992057422.html

Part3ミラー makimo.to/2ch/pc5_tech/1085/1085930894.html
Part2ミラー makimo.to/2ch/pc5_tech/1055/1055110889.html

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

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

457 名前:名無しさん@お腹いっぱい。 [2009/03/26(木) 19:54:47 ]
>>456 少なくともFreeBSDでftsもftwもchdirのオプションをつけようがつけまいが起動時のディレクトリーがカレントだった。
つまり子ディレクトリーの階層に移っていても「getenv("PWD")」の返り値は
スタートの場所
コールバック書くときにchdirされていると思って組むとはまる。
素直にpathなりを使う。
詳細システムコールの実装はともかくファイルリストの取得も含めて
ファイルサイズとか必要なんだったらftwかftsを使えばかなり楽なわけで
組みもしないで妄言はいていないでとりあえず組んで自分なりのベストをみっければいいんじゃないかと思う。
ftwはソートされないので一様に処理する場合以外は使えないかなと思ったけれど
コード量がとにかく少ない


458 名前:名無しさん@お腹いっぱい。 [2009/03/26(木) 19:56:43 ]
とにかくディレクトリー内のリストが欲しいならばftwでコールバックで配列に書き込む方法
ツリー取得したいならばftsが良い。
ftwの後腐れのなさは結構魅力
別の選択肢としてpopenでls -lRの返り値もらうという手もある。
perlなら「``」の返り値もらうだけだな。パースは適当にやってくれ

459 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/27(金) 09:41:21 ]
>>455
そのソースを読めばopendir/readdirしていることが分かると思うが?
軽く検索しただけでいい加減なことを言わない方がいい。
NFSで動かないfts(3)を実装するわけがない。


460 名前:名無しさん@お腹いっぱい。 [2009/03/28(土) 16:53:22 ]
>>459は「実際に組んでいない」んだから机上の空論はほどほどにね、

>>455のは客観的なソース評価であるし間違ってはいないし
掲示板でいい加減な事をいっても何の問題もない

NFSなんて使わないでしらないけれどtelldir,seekdirすら動かないんだから
ftsがNFSで動かないくらい全然あってもおかしくない

461 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/28(土) 18:09:18 ]
>>460
> >>455のは客観的なソース評価であるし間違ってはいないし
> 掲示板でいい加減な事をいっても何の問題もない

( ゚д゚)ポカーン


462 名前:455 mailto:sage [2009/03/28(土) 22:14:14 ]
ちゃうやろと思ったのは telldir/seekdir に関してだよ。
452 が opendir/readdir/closedir にしか言及してないってことに
気付いて無かった俺がアホなだけ。

463 名前: ◆RubyFahc/I mailto:sage [2009/03/31(火) 15:55:27 ]
rubyおたく向けのトリップ創りました。

RubyFahc/I : #NcM--Cセ{
Ruby.qKt3Q : #%C/Y:gmk
Ruby3r65m. : #h6d|TbE」
RubyWViHDk : #:jV|^?N~
Rubyi8CaTg : #jDt1G4`:
RubymzWnxQ : #!N{o6VヲJ
Rubyfo02Gg : #ヲYJ)ffn$
Rubyu9svnE : #+T-GT.Ti
RubyypieqU : #+,K:ヲ%v[
RubyIoAFuU : #?)V0M]c`
RubyNL3l2E : #C^?}8sヲq
RubyredCpo : #JU@UkdMy
Rubybk3Pyo : #hU@fQm,_
RubyYQ3Jtk : #m\4A?2'e
Rubyvjyg76 : #XIQ{N$J3
RubyS4Qmog : #/aKG.b\*
RubyPiJzfc : #_jq@zdZh
Ruby24.u4U : #l[Lz\Y)h
RubyVtS0bk : #pD'y$Zi\
Ruby4dt6ro : #「{Nv@f(0
RubymGCEfc : #9NXi[v|)
RubylUmOgY : #+(dK「@X{
RubypDsPgo : #HfLO0Nr8
RubyRlH2oc : #/2)k|Gpu
RubyYbNPnc : #シzU2.ヲ.L
RubyyRsYeU : #/Spddm+A
RubydSrMqw : #mx+9{[)c
RubyiMB9bQ : #KMlaIaOr
RubyOerZfE : #11J\EXK8

464 名前: ◆Ruby.c34.Q mailto:sage [2009/03/31(火) 15:57:16 ]
Rubyl/JuN. : #{^3l?jM@
RubyMyu4iA : #g{@Sセ,'5
RubysBAU/s : #slubZ7サd
RubyeT6Qio : #,)gAzFEX
RubyDyS/e. : #サAbV1lG/
RubyRfMLNM : #Wシ」w[8}h
Rubytc3JHQ : #Z=o\ib[サ
Ruby1lE7L6 : #h1シ{A-kj
RubyuUag0Y : #gヲ8!@W$n
RubyG6B8e6 : #0+7サ=5VH
RubyGguz1Q : #-g5i9\K8
RubyqzNGOo : #~t(mCuXQ
RubycQw0oM : #]%}-N(Me
RubynWWUBo : #PrU?「シJJ
Ruby.c34.Q : #IS+zヲABセ
RubyDdsChM : #qVKZI+{=
RubyBu2YeQ : #B@[.Q-o2
RubyoIbx4o : #ヲ2:qwsJD
RubyaL3Nm. : #k\uS\tFe
RubyRGJW9Y : #9)`H%Pc+
RubyKHrqAU : #zrB_X@tC
RubydeGFDA : #6「31rNEI

465 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/03(金) 03:46:26 ]
UNIXとC++どっちがいいでしょうか?



466 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/03(金) 04:00:32 ]
MACがいいと思います

467 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/03(金) 05:00:56 ]
マクドってゆえや

468 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/03(金) 18:34:28 ]
取り敢えず今「ディレクトリ取得」スレ的な流れだと思うんだけど
NFSってみえないといけないの?あとサン婆
httpかftpとローカルデバイスだけあればいいという考えではだめ?


469 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/03(金) 18:39:46 ]
今時ディレクトリをread(2)出来るアホなUFS on UNIXは、
BSDくらいだと思うが、他にもあればリスト化希望。

470 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/03(金) 20:57:02 ]
プログラマーになりたい・・

作曲家になりたい・・・

フラッシュ職人になりたい・・

絵師になりたい・・



俺にできるだろうか?

471 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/03(金) 21:05:01 ]
なるだけならすぐなれる

472 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/03(金) 21:14:23 ]
「プログラムを組む」のと「プログラマーになる」のは違う

「適当な曲を作曲する」のと「作曲家になる」のは違う

(以下同)

よって、「なるだけ」でもすぐにはなれない

473 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/03(金) 21:27:55 ]
そうか・・

やはり必要なのはCですよね

474 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/03(金) 21:29:10 ]
プログラマになりたくてなるんじゃないなってしまう者がプログラマ
貧弱一般人がプログラマになろうとしてもここはUNIX界なので人工的に淘汰されるのが目に見えている

475 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/03(金) 21:37:57 ]
なってしまう・・とはどういうことかもう少し詳しく聞かしてほしい



476 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/03(金) 21:41:10 ]
ようするに、才能じゃね?

477 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/03(金) 21:47:36 ]
このプログラム腐ってやがる→仕方が無い、自分で直すか…
このプログラム良いんだけど、ちょっと機能が足りないな→仕方が無い、自分で直すか…
このプログラム良いな、どうやって実装してるんだろう→ソース読むか…
新人プログラマは頑張ってるんだけど、仕事ができねえ→仕方が無い、俺が実装するか…
どうも業務の効率が悪いな→一丁、便利スクリプト作ってやるか…

俺は↑こんな感じでプログラムを書く様になったけど、
>>474が言ってるのはまた別の事かな。

478 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/03(金) 21:59:08 ]
>>474
の言葉のせいで無理なような気がしてきた(´・ω・)

479 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/03(金) 22:33:27 ]
つまり、それほど、重く受け止めてしまうほどの意味深い言葉に聞こえたのです

480 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/04(土) 10:45:18 ]
>>474はブロントさんだろう。一級プログラマとして
一般人から見ると憧れの的

481 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/04(土) 11:11:11 ]
>>480
ブロントさん==一級プログラマ
????

482 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/04(土) 11:14:06 ]
>>477
お前、素質あるな。

483 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/04(土) 12:31:19 ]
>>477
ハッカー気質をお持ちだね。良いことだ。

484 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/05(日) 21:54:37 ]
初歩的な質問ですが、


みなさん童貞ですか?

485 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/05(日) 22:20:56 ]
いいえ、妖精です。




486 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/05(日) 22:49:29 ]
君もウィザードだろ?

487 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/05(日) 23:06:39 ]
Perlのモジュール WWW::Mixi でのログインを http ではなく https にして
安全にパスワードを送信するように改造するには何を使えばいいのでしょうか?
この辺をこういじってみたら?など詳しい方アドバイスを頂ければ幸いです。


488 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/05(日) 23:28:16 ]
いいえ、ワイザードです

489 名前:名無しさん@お腹いっぱい。 [2009/04/06(月) 12:47:12 ]
41で童貞です

490 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/06(月) 17:06:36 ]
>>487 WWW::MixiはしらないけれどNet::SSLeayかCrypt::SSLeayが入っていれば
lwpでhttpsが使えるはずだから
今httpsが使えないとしたらどちらか入れて同じコードで試してみたら?

491 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/06(月) 17:19:05 ]
とりあえずFlashがやりたいならば
java +flex4 SDK
wine+Flashの適当なバージョン
flasm swfmillそしてエディターとxtermがあればかなりのことができる。
mtascだってつかえる。

CでcairoとSDLとffmpegを駆使すればFlash 用の絵描きツールも作れるよ

まぁとりあえずhtmlでアドベンチャー見たいなものを作る程度の技能がないとだめだね、
絵はローグとかつくーるじゃないけれどとりあえず借り物でもいいんじゃないの

492 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/09(木) 01:40:40 ]
プログラミングからは少し外れますが・・・

HogeHugaはキャメルケースって言いますが、hoge_hugaは何と言うのですか?

493 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/09(木) 12:56:25 ]
>>492
パスカル

494 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/04/11(土) 16:28:13 ]
>>492
snake case

495 名前:名無しさん@お腹いっぱい。 [2009/04/24(金) 07:19:05 ]
underscore styleというのもどっかで見たような気がしなくもない



496 名前:名無しさん@お腹いっぱい。 [2009/04/25(土) 12:15:33 ]
PF_UNIX/SOCK_DGRAMにデータを送る時、FreeBSDでは
送り元が無名になってしまい、受け取った側が
返答を送り返すことができない。(PF_INETだともちろんソースポートが付くが)
だから、間に合わせのファイル名をbindしてから送信する必要あり。
あとでunlinkしないと行けないし、美しくない。
Linuxだと、PF_UNIX/SOCK_DGRAMでも、bindしなくても
勝手に名前を割り当ててくれて、不要なソケットファイルも作成されないんだが、
そういうことはできないの?

497 名前:名無しさん@お腹いっぱい。 [2009/05/02(土) 13:06:49 ]
C++のtemplateで、templateの展開先を限定することってできますか?

template <class T> void func(T arg) {
// argが HOGE型またはFOO型の場合の処理
}

template <class T> void func(T arg) {
// argが BOKE型またはHAGE型の場合の処理
}

みたいなことをやりたいのです。関数名は func()で同名にしたいのです。

たとえば、template <class T={HOGE,FOO}> みたいなことが実現できませんか?

498 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/02(土) 13:57:48 ]
>>497
template <class T> void funcHOGEFOO(T arg) {
// argが HOGE型またはFOO型の場合の処理
}

template <class T> void funcBOKEHAGE(T arg) {
// argが BOKE型またはHAGE型の場合の処理
}

void func(HOGE arg) { funcHOGEFOO(arg); }
void func(FOO arg) { funcHOGEFOO(arg); }
void func(BOKE arg) { funcBOKEHAGE(arg); }
void func(HAGE arg) { funcBOKEHAGE(arg); }

499 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/02(土) 14:01:28 ]
>>498
だから、そうは書きたくないので、
templateを使って奇麗にまとめる方法を質問してるんですが。。

他にわかる方お願いします


500 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/02(土) 14:53:03 ]
何が不満なのか言えよ。

どうしても template だけのコードにしたいんなら、 boost の enable_if に
is_same とか突っ込んで使えばいいかもしれない。

501 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/02(土) 16:53:57 ]
>>498 の方法では、func()の一方のargの型の種類が不定の時対応不能。

つまり、
片方の func() は argが HOGE型またはFOO型の場合
もう片方の func() は argが「HOGE型またはFOO型」以外の場合すべて

だったとしたらどうする?

502 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/02(土) 17:06:02 ]
>>501
template <class T> void funcHOGEFOO(T arg) {
// argが HOGE型またはFOO型の場合の処理
}

template <class T> void func(T arg) {
// argが「HOGE型またはFOO型」以外の場合すべて
}

template<> void func(HOGE arg) { funcHOGEFOO(arg); }
template<> void func(FOO arg) { funcHOGEFOO(arg); }

503 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/02(土) 17:13:52 ]
>>502
「HOGE型またはFOO型」というのが、2種類だけじゃなくて10種類くらいあったら
template本体以外に void func(HOGE arg) とかを全部列挙するのが
すごくダサイんですが。

あと、本来の関数名以外に funcHOGEFOO()という関数名をつけなければいけないのも
名前がぶつかるかも知れないし美しくない。

504 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/02(土) 17:18:14 ]
なんで人にコード書かせて後から条件増やして文句つけるの?
そういう遊びなの?
アホなの?

505 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/02(土) 17:19:35 ]
>>503
何がしたいのかわからんが、ごちゃごちゃ言わずにさっさと boost::enable_if で好きに片付けろよ。



506 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/02(土) 17:21:22 ]
アホなんだろ。

507 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/03(日) 00:15:37 ]
どうしてこんなことに

508 名前:名無しさん@お腹いっぱい。 [2009/05/03(日) 10:24:12 ]
同じコードが、Cだとコンパイルできるけど、
C++だとエラーになる。

struct A { int i, j; };

void hoge()
{
struct A a = { .i = 123, .j = 456 };
}

構造体を初期化したいのだが、メンバーの順序を気にしなくていいように
メンバー名指定で初期化したい。

A a = {123, 456};
にすればC++でもOKになるけど、これだとメンバーの順序が変わった時困るから、
.i = や .j = の指定を入れたいのだが。

わかる方お願いします。

509 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/03(日) 12:33:58 ]
CでもC99じゃないとダメじゃないの?それ

510 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/03(日) 13:03:34 ]
C++だったら普通コンストラクタ

511 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/03(日) 13:10:29 ]
>>510
コンストラクタにしても、メンバの順序(コンストラクタの引数の順序)を考えなくて
いいように >>508 の要求を満たすことはできないのでは?

メンバの型が違えば方法はあるけど、型が同じならできないでしょ。

512 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/03(日) 13:51:41 ]
>>510
コンストラクタだと実行時に「代入」されるからプログラム的に無駄でしょ。
「代入」じゃなくて、静的データで初期化したい。
あるいはテーブルのようなconstデータを持ちたい場合、
コンストラクタじゃなくて「初期化宣言」したい。

513 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/03(日) 14:37:22 ]
>>512がオート変数の初期化を、「代入」以外の方法(静的データ?)で行う、
画期的に効率的な方法を開発したようです。

514 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/03(日) 14:54:15 ]
>>513
>>508 では確かに auto変数だが、
関数外に const static で持ちたい場合もあるしね。

そういう場合、struct member指定で順不同で初期化するのはどうするのかね?

やっぱ C++じゃ無理なのかい?

515 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/03(日) 16:14:47 ]
なんかさー、そこまでこだわるなら
struct A a;
a.i = 123;
a.j = 456;
でいいじゃんって感じ。
元々auto構造体変数のメンバ初期化自体邪道だったんだし。



516 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/03(日) 16:23:57 ]
>>515
すでに指摘されてるように、それだと「代入」。
質問は「初期化」の方法。

auto変数じゃなくて、staticの時、どうするよ?

517 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/03(日) 16:30:14 ]
C++の規格上出来ないんだから、どうしてもやりたいならC99で記述してリンクすればいい。

518 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/03(日) 16:34:57 ]
なんだ、できないのか。しょぼいな。

519 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/03(日) 17:59:22 ]
コンストラクタ的にしとかないとメンバ変数増えたときに困りそうだけど。

520 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/03(日) 23:59:36 ]
>>519
まあこんなしょうもないところにこだわる人にそんなことが理解できるはずもなく。

521 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/05(火) 10:21:50 ]
そういうエディタ内でのお遊びはム板でやればよろし。
>>517 >>520 で正解でてるからいうこた特に無いけれど
それ以前に
基本は「ある仕様を覚えろ」じゃないかと思う。
「書き方」にこだわりがあるなら
そのコーディングを無難にコンパイルできるマクロツール作ればいいまでのこと
テキストレベルの問題だ。

522 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/05(火) 14:51:47 ]
おいおい、途中から話の噛み合っていないバカ共が増えてるけど

元々の質問は、
「メンバの順序を気にしなくて良いように、メンバ名指定で初期化したい」
   例:struct A a = { .i = 123, .j = 456 };
なんだろ?
で、傲慢にも「同じコードをC++でも通るようにしたい」と…

はっきり言えば>>509>>517が全てで、この書き方だとC99でしか通らず
そのままではC++0x準拠のC++コンパイラですら通らないわけだが
何を勘違いしたのか、初期化と代入の区別もついていないバカ共とか
Designed Initializersの話してるのに、エディタ内でのお遊びとか言ってるバカが話をややこしくしてる
本当バカって救いようないな、分からないなら黙っていれば良いのに…

似たような疑問をもっていて、たまたまこのスレを訪れた人は、>>509>>517以外の
>>508からここまでのレスは、全くのゴミレスなので読み飛ばしてほしい

523 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/06(水) 13:33:15 ]
X Window Systemのプログラミングの参考になる書籍
で現在も通用するものってどんな者が有りますか?
具体的にはC言語からXlibなどをつかってツールキットを使わずに
プログラムを作成する方法を解説した書籍があればお教えください。
tclやgtkやqtの経験は有るのですが、ちょっとしたプログラムを
作るのにあまり重たくしたくないのでC言語で直接利用したく思います。

524 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/07(木) 10:40:39 ]
>>523 書籍はしらないけれど
ttp://xjman.dsl.gr.jp/X11R6/X11/
ttp://www-yano.is.tokushima-u.ac.jp/~mituhara/software_e/
あとりを参考にしてみては?あとめぼしいportsのソースが参考になる。
ただxlibとSDLと使用メモリとか大してかわらんよ。
描画面も考えると
xlib→cairo→pango
ないしは
SDL→cairo→pango
とやっていくと軽くて学習効率が高く見栄えのする結果が得られると思う。
それと「コマンドとして呼び出して結果をもらう」とか
「perlやshを呼び出す」事も選択肢に入れるとコードと使用リソースが小さくできる。

525 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/07(木) 10:46:27 ]
>>524でcairoを出しているのはxlibだときれいなテキストが書きにくいので
freetypeを叩くより楽だからの意味合いが強い。



526 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/05/07(木) 17:08:06 ]
>>524-525
ありがとう御座います。
がんばります。SDLはいろんなOSで使えるようですね。
いろいろ勉強してみようと思います。


527 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/17(水) 09:35:24 ]
>>523
亀レスだがそういう解説書なら
Xアプリケーション・プログラミング1 Xlib編

しかし書籍の方が現在では流通していないかも。
どこかの図書館にはあるだろうからその場合は最寄りの図書館で取り寄せてもらって。

528 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/19(金) 17:16:58 ]
下図のように自己交差しているリージョンを、
┏━┓
┃  ┃
┗━╋━┓
   ┃  ┃
   ┗━┛
交点で個別のリージョンに分けたいんですけど、
┏━┓
┃  ┃
┗━┛┏━┓
     ┃  ┃
     ┗━┛
簡便な方法ってないものでしょうか。よろしくお願いします。

529 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/06/19(金) 17:23:20 ]
すみません、スレ違だったようです。取り下げます。

530 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/13(月) 15:10:34 ]
# ping -c 1 -t 10 www.yahoo.co.jp
って実行すれば以下のような結果が表示されると思うのだが

PING www.yahoo.co.jp (124.83.139.192) 56(84) bytes of data.
64 bytes from f1.top.vip.ogk.yahoo.co.jp (124.83.139.192): icmp_seq=1 ttl=57 time=9.06 ms

--- www.yahoo.co.jp ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 9.068/9.068/9.068/0.000 ms

平均値だけを出力させることってできますか?
#ping -c 1 -t 10 www.yahoo.co.jp
9.068

って感じにです。

531 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/13(月) 15:11:25 ]
すみません、スレ違だったようです。取り下げます。

532 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/13(月) 15:13:06 ]
>>531
勝手に取り下げないで下さい

533 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/13(月) 17:19:19 ]
>>530
えっと、そういう機能を持った pingコマンドの別種を自分でプログラムしたい、
って質問だよな?
pingのようにICMPを送受信するには、
SOCK_RAWを使ったソケットプログラムが必要だが、
その辺は理解してるのか?

534 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/13(月) 17:26:55 ]
単にパイプで適当なワンライナーにつなげば済む程度の話じゃね?

535 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/13(月) 17:32:39 ]
>>534
それだとプログラミングじゃないからやっぱりスレ違い。取り下げなければならない。



536 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/13(月) 17:58:32 ]
>>533
muninで出力結果をグラフにしたいだけです

537 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/13(月) 18:01:43 ]
>>536
じゃあ、Xのプログラムも必要だな。
ツールキットは何を使う予定?

538 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/13(月) 18:37:33 ]
>>537
必要ねぇだろ?嘘教えるなよww

539 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/13(月) 18:40:19 ]
ここはプログラミング質問すれだよ。
muninの出力みたいな表示を行なうプログラムを自作したいんだろ?
pingのソースを参考にソケットプログラムとXのプログラムが必要だな。

540 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/16(木) 13:14:14 ]
グラフィックスにXのプログラムはいらないな。
グラフというのが「画像」であるならばcairoを使うのが定番
cairoで作ったコンテキストはファイルとして保存できる他
GDK,xlibのpixbuf、SDLみたいなメモリコンテキストから簡単に扱える。
ImageMagickもいいんだけれどcairoのが良いと思うね、

コマンドプロンプトのコントロールもpipe使ったりsytem使ったりで使うのは有りだから
無理に実装せずpopenとかで呼ぶのも有りだし
perlやpythonでの実装という選択肢もある。

で>530 の場合は無理にICMPの使い方をマスターしないで
perlの「``」かCのpopenでpingを使ってデータを取って
ソートなり平均値を出すという部分をまず作ることが大事なんじゃないかな。

ping部分を作りたかったら別で作ればいいさ。

541 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/16(木) 13:34:45 ]
>>540
perlを使うと「スクリプティング」
(シェルスクリプトも同様)

ここは「プログラミング」
よって、スレ違い。

542 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/16(木) 19:03:06 ]
>>541
スレ違いじゃないと思うけど。
別に何使ったっていいじゃん、こだわること無い。

543 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/17(金) 02:10:39 ]
アクションゲームプログラミングって本を参考に
プログラミングしようと思ってるんですけど
ひとつ疑問が、
Directx SDKのバージョンが違うんですけど
最新版でも問題はありませんか?

544 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/17(金) 08:13:33 ]
この板では回答は得られません

545 名前:名無しさん@お腹いっぱい。 [2009/07/18(土) 14:10:53 ]
まぁそう言わずに

>>543
君には無理



546 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/19(日) 21:14:09 ]
>>541 プログラムの意味分かってないね、


547 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/19(日) 21:16:18 ]
>>543 ここはUNIX板、最小公倍数はwine使用時のdirectXかSDL+OpenGL

アクションゲームは素直にFlashで作った方がいいんじゃない。
アスキーアートでも写真でもいいから
とりあえずキャラ画像そろえるのが先決

548 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/19(日) 21:17:58 ]
>>541 cairoもImageMagickもperlバインディングもあるけれど
Cでの実装は常識の範疇だよ。ちなみに、

549 名前:名無しさん@お腹いっぱい。 [2009/07/21(火) 20:21:55 ]
すいませんちょっと質問させてください。
いま、データのインポートをする簡単なプログラムをCで書いているところなのですが、原因のよくわからないエラーが出てしまっています。

このあとfloat型ポインタのpにデータをいれていきたいのですが、何故かfloat *pのコメントアウトを外すと、
unnkoを二回出力したあとセグメンテーションエラーになるのです。コンパイルは通ります。
float *pを米アウトした状態だと普通に動きます。
float型以外の型の変数やポインタを用意しても同じようなエラーがでていまい、これ以上変数を増やせないんです。

開いてるファイルは8kぐらいの大きさだし、変数の数も多いわけではないのでスタックを食いつぶしてるようにも思えません。
誰か間違いに心あたりありませんか?

ちなみにosはScientificLinux5.3でコンパイラはGNUの4.1です
↓ソースコードはこちら

550 名前:名無しさん@お腹いっぱい。 [2009/07/21(火) 20:24:24 ]
#include <stdio.h>
#include <stdlib.h>
int main(int argc,char *argv[])
{
char *inbuf;
int i,j;
char c;
FILE *fp;
//float *p;
printf("unnko\n");
if((fp = fopen(argv[1], "r")) == NULL ) {
printf("ファイルオープンエラー\n");
exit(EXIT_FAILURE);
}
printf("unnko\n");

for(i=0;i<126;i++){
if( fgets(inbuf,128,fp)==NULL){
printf("%s Can't read\n",argv[1]);
}
printf("%s",inbuf);
}
fclose(fp);
printf("\n");
return 0;
}


551 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/21(火) 20:30:54 ]
>>550
char *inbufがタダのポインタのままで、メモリ確保してないのが原因。
//float *p; のコメントとかコメントアウトについては、
たまたまそれでメモリ配置が変わってたまたま動いたり動かなかったりしてただけ。

正しくは char inbuf[128]; でちゃんとメモリ確保しろ。

552 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/21(火) 20:36:01 ]
>>551
早いレスありがとう
メモリ確保は既にやった気がするけど夢だったかもしらん。ちょっとやってみる

553 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/21(火) 20:43:13 ]
>>551
キターーーーーーーーーー
ちゃんと動きました。ほんとありがとう

554 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/21(火) 20:45:10 ]
とりえあえず
char *inbuf = malloc(128);
…fgets(inbuf,128,fp)…

char inbuf[128];
…fgets(inbuf,128,&fp[0])あるいはfgets(inbuf,128,fp)…
の違いが分かるようになるくらいは勉強しなよ。

555 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/21(火) 20:51:54 ]
>>554
解決した後に蛇足なこと書くなよ。>>551 の回答者とは別人の人よ。

> …fgets(inbuf,128,&fp[0])あるいはfgets(inbuf,128,fp)…

おいおい、FILE *fp; に対して &fp[0] って意味ないだろ。
(コンパイルすれば単に fp と同じになるにしても)

書きたかったのは &inbuf[0] じゃないのか?



556 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/07/23(木) 00:37:06 ]
>>530
スレちレス

$ ping -c 1 -t 10 host | tail -1 |awk -F/ '{print $5}'

557 名前:名無しさん@お腹いっぱい。 [2009/09/04(金) 00:52:32 ]
Linux の RAW ソケットで送信パケットをキャプチャし
ないのってどうすんだっけ? どっかのサイトで見たんだ
けどキーワードが悪いのか見つからない…。






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

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

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