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


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

C言語なら俺に聞け(入門篇) Part 55



1 名前:デフォルトの名無しさん [2009/10/29(木) 21:10:18 BE:227211146-DIA(352353)]
C言語の*入門者*向け解説スレッドです。
初心者、初級者の方は他の質問スレのほうが良いかもしれません。

教えて欲しいのではなく宿題を丸投げしたいだけなら
↓宿題スレ↓へ行ってください。
C/C++の宿題片付けます 131代目
pc12.2ch.net/test/read.cgi/tech/1255709298/

・C++言語はスレ違いです。
・分からない事をなるべく詳しく書いて下さい。
・ソースコードを晒すと答えやすくなるかもしれません。
  # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること
  # サイズが大きい場合は宿題スレのアップローダ等を利用してください
・開発環境や動作環境も晒すと答えが早いかもしれません。
・質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。

前スレ
C言語なら俺に聞け(入門篇) Part 54
pc12.2ch.net/test/read.cgi/tech/1254829314/

過去スレ
makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&andor=AND&sf=0&H=&view=table&D=tech&shw=5000

592 名前:デフォルトの名無しさん [2009/11/10(火) 10:16:53 ]
>>586
ここで出てきている配列と列挙子は、
C に特有の性質を十分に使っているし、
性能面の評価も C 流だが?

>>587
コンパイラのシンボルルックアップが
実行時のアドレス計算として持ち越されるわけだが
全レスの義務はないし個人的につまらなかったんで・・・

593 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 11:06:19 ]
>>591
消したコードを元に何を言ってるんだ?
>>592
プロセッサレベルで元コードが配列として表現
されていたのかそうでないのかを区別することが出来る
とでも思っているのか?

594 名前:デフォルトの名無しさん [2009/11/10(火) 11:14:35 ]
>>593
色々仮定をおけば区別がつかなくなる場合はありそうだが
この流れの中でそんなのに構うつもりはない

595 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 12:24:11 ]
>>592
実行時のアドレス計算は関係ないよね。
コンパイル時のシンボルルックアップ負荷の話でしょう?

596 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 12:25:39 ]
コンパイルにやたらと時間がかかった昔ならともかく、
今でもそういうことって気にすべきものなの?

597 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 12:47:29 ]
昔だって気にしないよ

598 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 13:32:59 ]
そういうことを気にすべきじゃないよ。
けれど、今でもビルドにやたら(数時間でいい?)と時間がかかる場合は少なくともC++でまれによくある
あえてこういう表現にしてみた。

599 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 13:41:48 ]
誤解があるといけないので。
シンボルルックアップのせいでやたらと時間がかかる場合があるということではないです。
もしそうなった場合にそれをコードの面で解決しようとすることはないでしょうね

600 名前:249 [2009/11/10(火) 13:43:31 ]
コードきれていました
>>249>>440>>448ですが

>>450をどこにいれればいいかわかりません…

www.dotup.org/uploda/www.dotup.org348416.txt.html
を基盤に作りたいんですが>>450はどこにいれるんですか?



601 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 14:22:07 ]
「まれによくある」って2ch語?

602 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 14:22:35 ]
消えないように貼っておいたげた
codepad.org/TuCBekq8

603 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 14:23:58 ]
>>601
2ちゃんではまれによく見るね

604 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 14:26:34 ]
>>601
ググればすぐ答えが出るようなものを、一々質問してんなよw

605 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 14:27:48 ]
まれによくある
の解釈
数的には実はよくある がそういうのは集積されており
目にすることは意外に少ない

606 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 14:34:47 ]
配列を使うことによるメリットとデメリットを列挙出来る?

607 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 14:37:55 ]
出来る

608 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 15:04:50 ]
居座ってる人が何をしたいのか分らん

609 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 15:21:29 ]
出来るがしない

610 名前:デフォルトの名無しさん [2009/11/10(火) 15:58:42 ]
>>595
だから何つっちゃうよ?
プログラム中に何万だかあるシンボルを同一空間に置けつったんだろ >>560 はよ、でそれを俺はつまんねつったわけ
つーか、#define から enum へもう流れが変わってるんだが、まだ翻訳フェーズ(4)にこだわりたがるのは何でだ?

255歩譲って、翻訳フェーズ(4)の話に戻っても、翻訳環境の負荷を軽くって定量的にどのくらいやるべきだと思っている?
それは配列が向かない用途(断言)に、理を曲げてまで配列を使わせるほどの事情たりえたことが、おまえさん自身あったのか?
そのうえでだが、それは配列の存在意義を聞かれたときの答えとして妥当だと思うか?



611 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 16:26:11 ]
オタクがきれた^^

612 名前:デフォルトの名無しさん [2009/11/10(火) 16:48:25 ]
C言語の勉強をしたいのですが、関係した資格はなんですか?
情報処理2種ですか?

613 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 16:52:27 ]
今は情報処理2種っていう資格は名前が変更になって
C言語以外もいろいろ選択できるようになってるけど
それでいいんじゃないでしょうか。

614 名前:デフォルトの名無しさん [2009/11/10(火) 16:58:30 ]
ニコニコ動画で2009年10月15日に投稿された「【プログラミング】テトリスを1時間強で作って
みた【実況解説】」という動画が人気を集めている(写真1)。公開されてから2週間ちょっとで
15万回以上も再生され,コメントも数多く寄せられている。

内容は,開発ツールのインストールからスタートしてWindows環境でC言語を使い,わずか1時間強
でテトリスを完成させるというもの。そのあざやかな手腕には,感嘆の声がコメントで寄せら
れている。プログラミングそのものがエンタテインメントになっており,1時間強見ていても全く
飽きることがない。

ニコニコ動画で「うp主」と呼ばれる動画投稿者はどんなプログラマなのだろうか?と思い,インタ
ビューを申し込んでみた。うp主の名前は,紀平拓男さん。東京・南青山で携帯電話向けのソフト
ウエア開発会社ブロードテイルを経営する若きプログラマCEO(最高経営責任者)だ。きっとプログラ
ミング初心者の参考になる話を聞けるに違いない,と期待しながらインタビューを始めたが,予想以上に
“すごい”紀平さんのプログラミング歴に圧倒される結果となった。

──1時間強でテトリスを作れるのはすごいですね。プログラミング歴を教えてください。

幼稚園のころからですね。当時,セガが「SC-3000」というパソコンを出していて,これが家にあり
ました。あるとき,親が「ベーマガDX」(注:電波新聞社が発行していたプログラミング雑誌「マイコン
BASICマガジン」の別冊。様々なパソコン用のゲーム・プログラムなどを掲載していた)を買ってきた
ので,そこに載っているプログラムを打ち込んでいました。

当時は「これを打ち込むとゲームができる」という認識しかなかったですが。SC-3000には顔のキャラ
クタがあってそれをBASICのPRINT文で表示して親に自慢げに見せていたそうです。

テトリスを1時間強で作ってみた(ニコニコ動画)
www.nicovideo.jp/watch/sm8517855

itpro.nikkeibp.co.jp/article/Interview/20091104/340019/

615 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 17:03:36 ]
ニコ厨ってだけでちょっとね

616 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 17:07:52 ]
あえてまれによくあると表現したのはTMPだとよくあるけどTMPを駆使するのはまれだから。

617 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 17:09:33 ]
>>610
おお、どうしたんだい?
そもそもの、プログラム中に何万だかあるシンボルが同一空間にないという仮定を持ち出してはならんぞ。

618 名前:デフォルトの名無しさん [2009/11/10(火) 17:29:06 ]
>>617
なんだそりゃ
どっから出てきた? 配列を使うからか?
違うね、配列を使うにしても分割のしようはあるが
おまえさん翻訳フェーズ(4)にご執心なんだっけ
#undef という手はあるが、前述のとおり俺は興味ない
面白そうな話でも出てくれば別だが今んとこ否定する

619 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 17:49:59 ]
>>618
ちがうちがう。
配列にする前の、数万だか数十万だかの変数が、同一空間にある可能性を元の話題で否定していないのよ。

620 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 17:51:27 ]
ちなみに>>599も俺で、
> 配列が向かない用途(断言)に、理を曲げてまで配列を使わせるほどの事情たりえたことが、おまえさん自身あったのか?
もちろんない。



621 名前:デフォルトの名無しさん [2009/11/10(火) 18:25:11 ]
>>619
元々が同一空間にぶちまけられた瓦礫の山でも何とかするのが俺らの仕事
そこで配列の出番かどうかが、この流れでの論点だったはずだが、違うかい?

622 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 18:27:16 ]
テトリスくらいできるよ馬鹿野郎


623 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 18:33:01 ]
1時間でコールオブデューティー4を作る…とかだったら。

624 名前:デフォルトの名無しさん [2009/11/10(火) 18:53:39 ]
むかーし、PC ショップであたかも即興でマシン語たたいて得意がってたのがいたが
何のことはない暗記してきたコードを再生していたに過ぎない(本人談

625 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 19:00:51 ]
砂漠が良いか賽のが原が良いかってことだったらどちらも
かなり困ったもの。程度問題。メリット、デメリットのバランス
で決めるべき問題だろ

626 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 19:01:29 ]
むかーし、pcショップで文字列を繰り返し表示させて画面を埋めるプログラムを書いたら、
ちょっと目をはなした隙に画面中央にその文字列を色を変えながら表示するプログラムに
書き換えられていたでござる。

627 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 19:03:02 ]
それからも書き換え合戦は行われ、生まれたのがWindowsです。
相手は嫁です。

628 名前:デフォルトの名無しさん [2009/11/10(火) 19:08:54 ]
0 new
cls

629 名前:デフォルトの名無しさん [2009/11/10(火) 19:12:31 ]
>>626
POKE 文でアトリビュート変えたんだろな

630 名前:デフォルトの名無しさん mailto:sage [2009/11/10(火) 19:40:31 ]
>>626
実は私が犯人かもしれないw
詰まらないデモが動いてたら今で言う「伝言板スクリーンセーバー」的な
プログラムを動かすくらいはよくやってたから。
それも、リストを覗かれないように一行野郎で。



631 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 01:00:13 ]
enum number{
one, two, three, four, five,
six, seven, nine, zero
};


632 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 20:12:09 ]
4の倍数のアドレスにあるintと4の倍数からずれてるアドレスにあるintって計算コストって同じ?

633 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 20:30:10 ]
>>632
アドレッシング単位のプロセッサやメモリバスとのミスマッチの
問題は本来はかなり深刻。アドレスによって処理速度がかなり
極端に変わってしまう。
ただPCに限って言えばプロセッサのキャッシュが多層化され、
アドレッシング単位の違いによる相違を吸収されてしまっている
現在あんまし寝た子を起こすような質問をしないこと

634 名前:デフォルトの名無しさん [2009/11/11(水) 21:13:55 ]
>>632
境界要求に違反するアクセスの結果を C は言語規則として定めない

635 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 21:36:29 ]
大抵はコンパイラが良い位置に配置するだろ。
char a, b, c;
int d;
とやったら c のあとに1バイトの未使用領域作ったり、
d a b c の順にするとか。


636 名前:デフォルトの名無しさん [2009/11/11(水) 21:44:53 ]
自動変数ならレジスタ割付するだろ

637 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 21:51:54 ]
ちんこ

638 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 21:52:17 ]
ほら湧いてきた

639 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 22:38:15 ]

今思うとハァ?な叱られ

「構造体は必ずビットフィールド使え! メモリは少しでも節約するのが常識だ!」

「mallocを無駄がないように確保しろ!」



640 名前:デフォルトの名無しさん [2009/11/11(水) 22:40:55 ]
unsigned int *uint;
と宣言したものを、

*(long int *)uint;
とキャストするとuintは何になるのですか。

long int **uintですか。

int int32;
(int *)int32;

とか、何になるのかよくわからないのですが。



641 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 22:50:17 ]
long int だろ。

642 名前:デフォルトの名無しさん [2009/11/11(水) 22:50:21 ]
叱っている側としては
「ビットフィールド、ビット演算とは実体が何かよく理解して使え」
「詳細に着手する前にシステム全体のキャパシティとストラテジを把握しておけ」
「malloc の計算間違いは以ての外、超最低なので絶対にやるなよ」
といっているつもりなんだが、この原発信が
昼下がりに心がすでにアフター5な「ニュータイプ」たちの脳内で
どんな減衰劣化を受けているかは、近頃なかなか驚きゃせん
だからスパイラルを何回回れるかで道はまだあったりする
甘くも苦くもね

643 名前:デフォルトの名無しさん mailto:sage [2009/11/11(水) 22:56:23 ]
そもそも言われた言葉の意味を理解していないからな

644 名前:632 mailto:sage [2009/11/11(水) 23:01:33 ]
レスd
ホンとはだめだけどPCなら気にスンナってことか


645 名前:デフォルトの名無しさん [2009/11/11(水) 23:17:45 ]
いや、恐いよ
平然とビットズレを一切何の警告もなくやってのけたり
例外をつかまえるのにシステムコールが必要だったり

646 名前:デフォルトの名無しさん [2009/11/11(水) 23:18:23 ]
ユーザモードでバッチグーだったコードが特権モードではNGだったりね

647 名前:デフォルトの名無しさん mailto:sage [2009/11/12(木) 06:25:16 ]
プログラマが完璧に制御できてると思ってるmallocは、OSがテキトーに確保してプロセスに渡してるだけ
本当にそれだけ確保したか分からないし中の挙動も分かってない
でなきゃフラグメントなんか起こり得ない

648 名前:デフォルトの名無しさん [2009/11/12(木) 07:13:04 ]
そのへんは「情報隠蔽」の理念に乗れる人と乗れない人の差だね
別に C++ でなくとも C でもやっぱり解ってなきゃいかん






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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