- 1 名前:デフォルトの名無しさん [2012/03/15(木) 13:41:40.36 ]
- C言語の入門者向け解説スレッドです。
★前スレ C言語なら俺に聞け(入門編)Part 97 toro.2ch.net/test/read.cgi/tech/1330177298/ C言語なら俺に聞け(入門編)Part 97 toro.2ch.net/test/read.cgi/tech/1329161329/ ★過去スレ 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 ★教えて欲しいのではなく宿題を丸投げしたいだけなら ↓宿題スレ↓へ行ってください。 C/C++の宿題片付けます 156代目 toro.2ch.net/test/read.cgi/tech/1328276597/ ★C++言語については避けてください。C++対応明記スレへどうぞ ★分からない事をなるべく詳しく書いて下さい。 ★ソースコードを晒すと答えやすくなるかもしれません。 # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること # サイズが大きい場合は宿題スレのアップローダ等を利用してください ★開発環境や動作環境も晒すと答えが早いかもしれません。 ★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。 長くなりそうなコードはcodepadに貼り付けてもいいでしょう codepad.org/
- 552 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 00:22:46.06 ]
- >>542
Unix系ではインストーラも兼ねたりするが、基本的には分割コンパイル支援ツール 指定されたソースのうち更新されたものだけをコンパイラに渡し、リンカを起動する それ自体はIDEとかにも自然に組み込まれてる機能だが ・エディタやコンパイラ、リンカなどから独立したツールであるため それらの組合せが変則的でも使える (但しgccなどを前提とした資料が多いので注意) ・様々なOS用のmakeが存在するため クロスプラットフォームな開発にも使われたりする ・ルールに則って指定されたコマンドを実行していくだけなので 用途は限られるものの、工夫次第でシェルスクリプトやバッチファイルの亜種として使えなくもない
- 553 名前: ◆QZaw55cn4c mailto:sage [2012/03/21(水) 00:31:59.01 ]
- makefile って手でやると案外抜けがでてしまって、なんかいつも *.h の数をかぞえてる。
警告のみの場合でもオブジェクトができないようにしたほうがいい。変なバグに悩まされたことが。 結局 make clean で一切合切作り直さないと安心できないので、まあ、どなんでしょね。 あと Windows では 「makefile」という拡張子がないファイルは関連付けができないのも少しだけだけれども、んん?とくる。
- 554 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 00:34:58.08 ]
- またコテのくせにえらい低脳だなwww
- 555 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 00:37:06.84 ]
- 依存関係をわざわざ自分で書くのはマヌケ
- 556 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 00:42:25.79 ]
- wc
- 557 名前:デフォルトの名無しさん [2012/03/21(水) 00:52:03.90 ]
- うんこ餃子かと思ったらゴミ屑だったかwww
- 558 名前: ◆QZaw55cn4c mailto:sage [2012/03/21(水) 01:01:28.47 ]
- そうなんだ‥‥‥。やっぱり autoconf を使うのが普通なんだね。
- 559 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 01:11:10.69 ]
- はみちつじゃなかった
- 560 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 01:33:55.64 ]
- たとえば某x264の場合
git.videolan.org/?p=x264.git;a=blob;f=Makefile;h=5e39050140ff98583ba74d95259f19912e290959;hb=5c85e0a2b7992fcaab09418e3fcefc613cffc743#l194 依存関係はコンパイラに解決させて.dependってファイルに出力し、それをincludeする わざわざmakedependとか入れる必要すらない autoconfなんてクロスプラットフォーム開発でもなければ無駄なだけだし、 生成されるconfigureやm4マクロのクソさを嫌って使わないのも多い
- 561 名前: ◆QZaw55cn4c mailto:sage [2012/03/21(水) 01:42:15.53 ]
- >>560
> @$(foreach SRC, $(addprefix $(SRCPATH)/, $(SRCS) $(SRCCLI) $(SRCSO)), $(CC) $(CFLAGS) $(SRC) $(DEPMT) $(SRC:$(SRCPATH)/%.c=%.o) $(DEPMM) 1>> .depend;) $(DEPMT) ってなんだ?
- 562 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 02:20:11.95 ]
- >>561
知りたけりゃconfigureの方も読め
- 563 名前: ◆QZaw55cn4c mailto:sage [2012/03/21(水) 03:51:23.24 ]
- gcc -MM 「.c」
で依存記述そのものが生成されるのですね。でもこれを一つの makefile に入れ込むのは、まだよくわからない。中途半端に賢くなりました‥‥‥。
- 564 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 03:58:12.38 ]
- >>542
分割コンパイルを楽にするのと、無駄なコンパイルをしなくするためというのが主目的じゃないかな さらにMakefileを作る手間を減らすためにconfigure、ひいてはautoconf automakeがあるかと。
- 565 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 04:01:00.61 ]
- って更新してなかったすまそ
- 566 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 08:05:57.19 ]
- >>563
ifneq ($(wildcard .depend),) もし.dependというファイルが存在するならば include .depend .dependの中身をここに展開せよ endif
- 567 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 10:07:53.90 ]
- .dependっていう名前はbsdのmkdepの作法なんだよな。
ちなみにmakedependっていうコマンドもあって、こっちはX11由来。
- 568 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 12:50:07.62 ]
- >>567
確かに.dependはBSDの流儀なのにMakefileの方(ディレクティブとか)はGNU。 そんなことでいいのかと
- 569 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 19:13:10.87 ]
- 主キーと、外部キーの違いって何ですか?C言語とデータベース勉強してるんですが。
- 570 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 19:14:43.18 ]
- DBスレで聞けよ……
- 571 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 19:22:46.12 ]
- PKとFKの違いなんだからサカ板だろJK
- 572 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 19:25:18.47 ]
- PK,FK,JKの違いってなんだよ
- 573 名前:デフォルトの名無しさん [2012/03/21(水) 19:42:24.26 ]
- >>570
入門去れと言われたんで.... 例えば ●高校 ×学年 ■組 みたいなのを主キーで表すと1となるんでしょうか? では外部キーとは?
- 574 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 19:44:40.49 ]
- >>573
だからってC入門スレで聞くなって話だ スレチだ DBの入門できけ
- 575 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 19:53:15.56 ]
- https://twitter.com/#!/tokoroten/statuses/177203823260090368
- 576 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 19:56:40.70 ]
- Unixってなにの役に立つの?
ソフトウェアインストールできないじゃん。1994年以前なんだし。
- 577 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 20:01:34.07 ]
- >>573
専用の板があんの そこに行け データベース toro.2ch.net/db/
- 578 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 20:16:50.38 ]
- 入門スレなのに、プログラマー同士が相談するスレになってる。
専門的すぎてわからん。
- 579 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 20:19:51.89 ]
- 確かにプログラマー風情出しまくってC言語が嫌いになる。
- 580 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 21:17:41.92 ]
- >>569
全然違うだろwww頭沸いてんのかwww とりあえず辞書かなんかで調べてみろよ わからない所があったら聞いてやるから
- 581 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 22:05:06.49 ]
- >>578
それだけC言語っていうのは難しい言語なんだよ。 皆、Cを使うのに苦労している。 Cユーザーが集まれば愚痴や相談事になりやすい。
- 582 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 22:10:05.38 ]
- >>581
C言語使ってるのは学生か組み込みぐらい どっちもまともに言語学はやってない
- 583 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 22:11:41.96 ]
- 言語学ってどんなことするの?
- 584 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 22:12:46.45 ]
- 情報系だったけど大したことやんなかったよ。
ドラゴンブックとかはで読んでたゼミもあったけど。
- 585 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 22:15:35.17 ]
- >>584
お前がいたゼミがたいしたことなかった、 の間違いじゃねーか? 事実は正確に言えよ
- 586 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 22:16:10.96 ]
- >>573
どこで追い払われたのか書いてくれるかな。 そこが適切なスレならそこでレスする
- 587 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 22:17:16.77 ]
- >>585
高卒? 必修じゃ基本的なあたりで大したことないって話だよ。
- 588 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 22:40:33.40 ]
- あれ、必修限定?なんでゼミの話を出したの?
ゼミも必修っちゃあ必修だけど、それを許容するなら>>585はおかしなことを言っていないし…
- 589 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 22:43:47.82 ]
- 管理者って何ですか?
プログラマーの苦労話的な本読んだけど、管理者がどうのこうの 言ってました。
- 590 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 22:45:49.61 ]
- 始めてhello, world表示できた!なんか感動したわw
- 591 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 22:52:45.51 ]
- >>589
逆だ。 本のネタになるほどの悲しいマラソンランナーを総称して、 管理人って呼ぶんだよ。
- 592 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 23:00:44.05 ]
- これ系で管理者といえばrootのことだろJK
素人にもほどがある。
- 593 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 23:16:21.70 ]
- Administrator を忘れてもらっちゃ困るぜ
- 594 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 23:17:46.73 ]
- 寒い部屋で震えながら文字だらけの画面にむかってブツブツつぶやいてる人の事だろ?
- 595 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 23:19:54.47 ]
- >>590
おめでとうw 次は自分の好きな文字列に変えて、自分の手作りのアプリケーションであることを何度も確認するんだ 望むなら何行でも出力できるぞ!
- 596 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 23:23:40.75 ]
- >>594
それは20年以上前の話だな。
- 597 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 23:38:58.95 ]
- ドラゴンブックもってるお
- 598 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 23:39:51.91 ]
- >>590
おめ 楽しそうだな 俺も久しぶりに楽しくプログラミングする時間をとろう・・・
- 599 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 23:50:11.61 ]
- >>596
ユーザーSEはリモートでぬくぬくかもしれんがベンダーは携帯OFFにしてサーバー室で作業なんだぞ
- 600 名前:デフォルトの名無しさん mailto:sage [2012/03/21(水) 23:50:22.04 ]
- プログラムしないのに、こんなスレに張り付いてるやつもおるのか…
本来マ板行くべき奴なのかな?
- 601 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 00:05:33.91 ]
- レス乞食だろ
馴れ合い板あたりがお似合いだ
- 602 名前:デフォルトの名無しさん [2012/03/22(木) 00:13:23.41 ]
- チョンとかヘボが?
- 603 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 00:30:26.55 ]
- プログラムしないやつがいる?
- 604 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 00:31:42.67 ]
- プログラムしないあるよ
- 605 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 00:32:25.78 ]
- >>593
それ速攻で変えるわ
- 606 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 01:27:07.72 ]
- うひょー
- 607 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 01:40:30.98 ]
- >>592
JKは素人だろ普通
- 608 名前:デフォルトの名無しさん [2012/03/22(木) 01:42:06.59 ]
- 超絶つまんね。
- 609 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 02:50:54.41 ]
- すいません。最近プログラミングの勉強を始めてどうしても聞きたい事があるんですけどいいですか?
- 610 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 02:53:05.30 ]
- だめです
- 611 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 02:57:08.23 ]
- 確認なんてせずに聞けばいい。
ただ、どうもスレ違いだとレスをすることになる気はしている
- 612 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 03:00:42.80 ]
- いえ、理論ってか概念みたいなんすけど、もし、優れた演算能力、優れた五感能力、文法とか、無茶クチャ知ってて
- 613 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 03:04:02.68 ]
- 色んな言語を知ってて、機械語でゲームが見えるどうなるんすか?
- 614 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 03:05:34.53 ]
- あ、そんな人が居たらです。
- 615 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 03:05:34.50 ]
- おなかが減ります。
- 616 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 03:07:15.19 ]
- お願いします。これだけはマジレスしてくれません?wikiで知ってゲーム作りたくて、お願いします。
- 617 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 03:07:57.70 ]
- オナニーがやめられなくなります。
- 618 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 03:08:08.73 ]
- ゲームは機械語では見えません
- 619 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 03:39:06.24 ]
- そもそも機械語以前に日本語を理解してください
それと機械語と言っている時点でスレチです。
- 620 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 03:40:05.36 ]
- Windowsの場合user32.dllって実行時に読み込まれるんだっけ?
- 621 名前:デフォルトの名無しさん [2012/03/22(木) 03:41:54.71 ]
- なんのこっちゃ。
- 622 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 03:49:49.13 ]
- ないはず
- 623 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 04:57:18.47 ]
- ん?ダイナミックリンクなんだから実行時だと思うけど違うのか?
- 624 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 05:34:45.72 ]
- >>622
はずとは何故ですか?
- 625 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 05:38:21.54 ]
- いや知りたいだけなんですよ。
- 626 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 05:43:19.12 ]
- まぁいいや。自分で考えますわ。
- 627 名前:デフォルトの名無しさん [2012/03/22(木) 07:08:18.08 ]
- おい
途中から俺じゃないがやつが俺になってるぞ
- 628 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 09:13:44.13 ]
- 俺俺、俺だよ。
- 629 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/03/22(木) 14:36:38.98 ]
- >>620
プロセスが生成されたときにシステム DLL もそのアドレス空間にマッピングされて リンク (インポートアドレステーブルの書き換え) するけど、 読み込み自体は起動時じゃねーの
- 630 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 15:59:11.71 ]
- 必殺はみちつマジレス
- 631 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 16:00:04.89 ]
- >>627
ム板ではよくあること
- 632 名前:デフォルトの名無しさん [2012/03/22(木) 16:01:30.08 ]
- プセロスが生成さたれときにシテスム DLL もそのアレドス空間にマッンピグされて
リンク (イポンートアレドステブールの書換きえ) すけるど、 読込みみ自体は起動時じねゃーの
- 633 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 16:02:52.92 ]
- プセロスが生成さたれときにシテスム DLL もそのアレドス空間にマッンピグされて
リンク (イポンートアレドステブールの書換きえ) すけるど、 読みみみ自体は起動時じねゃーの
- 634 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/03/22(木) 16:56:05.82 ]
- 読込みみって何だよ
頼むからそういうのはお前の脳内だけで勘弁
- 635 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 17:35:35.20 ]
- はみちつ後ろー
- 636 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 17:59:26.79 ]
- 最初と最後だけあってれば意外と読めるもんでしょ、みたいなコピペがあるじゃん。
- 637 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 18:03:06.63 ]
- volatile指定子は誰得なんですか。使ったことある人いませんか?
- 638 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 18:09:03.58 ]
- ぱぷー
- 639 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 18:10:07.57 ]
- 周辺機器のレジスタとかポートにマッピングされてるとか、別のスレッドも触るとか、
そういうのは最適化せずに必要なときにちゃんと現地から値をお取り寄せする必要がある。
- 640 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 18:15:10.60 ]
- DMAとかでCPU以外が書き換えちゃう場合とかね
- 641 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 18:38:27.36 ]
- いろいろあるんだよ
- 642 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 22:15:26.29 ]
- >>637 組み込みではよく使う。
たとえばグローバル変数で、メインルーチンと割り込みで参照、変更される ものがあるとき付ける。 付けないと最適化でその変数の外部での変更がが無視されてif文が無視されたりする。
- 643 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 22:38:11.58 ]
- >>637
インラインアセンブラの時に使った。
- 644 名前:637 mailto:sage [2012/03/22(木) 23:20:54.77 ]
- 要は最適化で変数がハブられるのを防止するという事なんですね
俺にもvolatileを付けてほしいです
- 645 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 23:52:30.95 ]
- 昔はregisterの逆と教わったな。今はregisterなんて使わないけど。
- 646 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/03/22(木) 23:54:43.90 ]
- レジスタに割り当てられないというだけではメモリに割り当てられるとは限らないよな。
- 647 名前:デフォルトの名無しさん mailto:sage [2012/03/23(金) 00:00:52.81 ]
- >>637
マルチスレッドとか、割込処理とか、メイン処理と別の流れで書き換えられるような変数につける。 ある処理の中では、絶対に値が書き換わらない様な変数が、書き変わっているかもしれないから、 都度ちゃんと中身をみてね、ってこと。 例えると、 自分しか書き込まないノートは、自分が書き換えないなら、絶対に前の状態から変わっていないから、 自分が書き込んだ内容が読み出せると期待して、いちいちノートを見なくてもいい。 だけど、他の誰かが書き込めるノートは、自分が書き込んだ後に、書き変わっているかも しれないから、その都度、確認する必要がある。 この自分以外の誰かが書き換えることがあるよ、っていう印がvolatile。 マルチスレッドや、割り込み処理を扱うようになると、使用する必要が出てくる。
- 648 名前:デフォルトの名無しさん mailto:sage [2012/03/23(金) 00:05:39.26 ]
- >>646
メモリかどうかは知らんけど 「絶対にどっからでもアクセスできるとこ」 ってのを保証してるわけだし、まあ十中八九メモリだろ、多分。
- 649 名前:デフォルトの名無しさん mailto:sage [2012/03/23(金) 00:06:47.06 ]
- >>644
dic.yahoo.co.jp/dsearch/1/1na/078908000/ これでもvolatileつけたいか?
- 650 名前:デフォルトの名無しさん mailto:sage [2012/03/23(金) 00:07:33.14 ]
- >>645
適当すぎ registerとvolatile両方付いてる場合、どうすんだよ
- 651 名前:デフォルトの名無しさん mailto:sage [2012/03/23(金) 00:12:11.30 ]
- 陽気な>>637
いいじゃん、と無理やりプラス思考で。
- 652 名前:デフォルトの名無しさん mailto:sage [2012/03/23(金) 00:18:20.87 ]
- みかか
|

|