13/06/14 20:22:05.73
C言語の入門者向け解説スレッドです。
★前スレ
C言語なら俺に聞け(入門編)Part 115
スレリンク(tech板)
★過去スレ
URLリンク(makimo.to:8000)
★教えて欲しいのではなく宿題を丸投げしたいだけなら
↓宿題スレ↓へ行ってください。
C/C++の宿題片付けます 164代目
スレリンク(tech板)
★C++言語については避けてください。C++対応明記スレへどうぞ。
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
# 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること。
# サイズが大きい場合はアップローダ等を利用してください。
URLリンク(codepad.org)の宿題片付けます 165代目
URLリンク(ideone.com)
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。
2:デフォルトの名無しさん
13/06/14 21:34:37.72
SendMessage(1, 乙, 0, 0);
3:デフォルトの名無しさん
13/06/14 22:08:33.81
javaにあるunreadして内部バッファにデータ溜めるってのがあるけど
readするときそのバッファにデータがあるかどうかどうやって示しているんでしょうか?
配列からデータが無くなるっていうのがよく分かりません。
どんな状態でもデータはありますよね?配列宣言したら初期状態があるんだし。
4:3
13/06/14 22:19:36.90
これjavaについてなんですが
Cで実装するときはどうすればいいのかなと......
5:片山博文MZパンク ◆0lBZNi.Q7evd
13/06/14 22:23:50.14
例えば実データのサイズを表す変数をゼロにすれば、論理的にデータは空っぽになると言えるだろう。
6:デフォルトの名無しさん
13/06/14 22:29:12.66
>>5
やっぱシンプルにフラグですか....
実装するとかなり面倒くさいですねこれでも
7:デフォルトの名無しさん
13/06/14 22:39:08.70
有効データ量と確保量を持った構造体にまとめれば良いんじゃないの?
例えば
struct {
int size_data; // 有効データサイズ
int size_alloced; // 確保量
char *data; // データ
} MY_DATA;
みたいにして
初期化は
MY_DATA d;
d.size_data = 0;
d.size_alloced = 1024;
d.data = (char *)malloc(d.size_allocated);
とし、使うときは
char str[] = "test";
strcpy(d.data, str);
d.size_data = sizeof(str);
とかする。
面倒だけど。
8:片山博文MZパンク ◆0lBZNi.Q7evd
13/06/14 22:42:38.78
C言語が面倒だと思ったら、C++に移れ
9:デフォルトの名無しさん
13/06/14 22:45:23.97
さどっほ
10:デフォルトの名無しさん
13/06/14 22:46:37.71
やっぱC機能無さ杉だなぁ....
javaは難しいけど機能多過ぎ...
11:デフォルトの名無しさん
13/06/14 22:48:38.88
「面倒 = 嫌」
だったらC++でやればいいが
「面倒 = 楽しい」
だからCに居座っているのだ
12:デフォルトの名無しさん
13/06/14 22:57:02.68
C考えた人は凡人で
C++考えた人は天才肌なんだろうな
13:デフォルトの名無しさん
13/06/14 23:01:25.33
メーラーやブラウザを暗黙的Intentで起動したいのですが
Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.parse("mailto:~"));
startActivity(intent);
こういったやり方だとメール送信画面やURL先のブラウザが立ち上がってしまいます
暗黙的Intentでメーラーやブラウザの一覧から選ぶ、またはデフォルト起動指定されたものを
アプリアイコンから起動した時のように、初期画面で起動するにどうしたらいいでしょうか?
14:デフォルトの名無しさん
13/06/14 23:20:36.48
どこがC言語やねん
マルチか?
15:デフォルトの名無しさん
13/06/14 23:39:00.34
>>12
より少ないツールで目的を達する方が天才だろ
16:デフォルトの名無しさん
13/06/15 00:49:26.85
ならハードウェアだけで全部実装しろ
17:デフォルトの名無しさん
13/06/15 01:26:27.09
別に天才じゃなくてもいいだろ
18:デフォルトの名無しさん
13/06/15 01:53:19.24
ウエハー、ドーピング、ボンディング、リフロー、レジスト、無線屋、物流、会計監査、法務を一手に手がけるアイちゃん
19:デフォルトの名無しさん
13/06/15 09:26:45.82
>>12
どうみても逆
20:デフォルトの名無しさん
13/06/15 10:45:56.56
GCってプログラム実行の速度に影響与えたりはしないんですか?
密かに敢行されるものなんですか?
21:デフォルトの名無しさん
13/06/15 10:47:00.98
遅くなる
22:デフォルトの名無しさん
13/06/15 10:49:22.48
実行されるまでは遅くならないが
実行されている最中は遅くなる
23:デフォルトの名無しさん
13/06/15 10:56:34.60
スレチ
24:デフォルトの名無しさん
13/06/15 10:57:59.21
>>21
なるほど
>>22
CとrubyではどっちがGC機構が発達してますか?
学校でGCを観察するプログラムを作れという課題が出ました。
25:デフォルトの名無しさん
13/06/15 10:59:25.48
CにGCはない
26:デフォルトの名無しさん
13/06/15 11:00:23.62
>>25
alternativeとして何がありますか?
27:デフォルトの名無しさん
13/06/15 11:02:54.14
課題なら自分で調べろよ
28:デフォルトの名無しさん
13/06/15 11:04:40.07
2chは便利なんで^-^;
29:デフォルトの名無しさん
13/06/15 11:08:23.29
他人に聞くから課題なのでは?
自分でするなら独習でしょう。
30:デフォルトの名無しさん
13/06/15 11:11:26.53
どんな超理論だよw
自分でするから課題だ
31:デフォルトの名無しさん
13/06/15 11:15:55.33
QZ爆死
32:デフォルトの名無しさん
13/06/15 11:19:05.20
「2chで聞きなさい」という課題なのかもw
33:デフォルトの名無しさん
13/06/15 11:45:59.53
QZ焦る
34:デフォルトの名無しさん
13/06/15 11:46:37.80
そんなことより、おまえら早くこれ完成させてください
URLリンク(github.com)
35:デフォルトの名無しさん
13/06/15 11:56:33.84
やっぱりQZは馬鹿だな
36:デフォルトの名無しさん
13/06/15 17:49:48.16
前々から疑問だったんだけど、QZってなんて読むの?
やっぱり、Q = く、Z = ず だから「くず」とでも読むのかな?
37:デフォルトの名無しさん
13/06/15 17:58:34.77
酉に読み方なんか元々ない
38:デフォルトの名無しさん
13/06/15 18:10:17.92
クズだからそれにふさわしいトリップになったんだなw
39:デフォルトの名無しさん
13/06/15 19:42:57.55
て
40:デフォルトの名無しさん
13/06/15 20:17:24.94
whileもforも繰り返し制御文なのに
forはberak;できないのは何故?
41:デフォルトの名無しさん
13/06/15 20:18:22.78
continueと勘違いしてね?
42:デフォルトの名無しさん
13/06/15 20:20:27.78
>>40
できないの?
43:デフォルトの名無しさん
13/06/15 20:21:05.81
>>40
berak; は出来ないよ
break; なら出来るけど
44:デフォルトの名無しさん
13/06/15 20:21:49.84
>>41
そうでした....すいません。
continue文が無いのとあるのでは便利さは格段に違いますかね?
continue使いたいんですけど使いどころが分からなくて。
45:デフォルトの名無しさん
13/06/15 20:23:25.88
話がみえない。
forでもwhileでもbreak, continue両方使えるけど。
46:デフォルトの名無しさん
13/06/15 20:27:41.03
>>45
forでcontinueを使ったときの意味はご存知か?
47:デフォルトの名無しさん
13/06/15 20:28:30.41
>>45
breakとcontinueの違いってなんですかね?
一緒じゃないですか?
処理をしないんですから。
48:デフォルトの名無しさん
13/06/15 20:30:24.50
釣りだな
49:デフォルトの名無しさん
13/06/15 20:31:49.59
>>46 >>47
>>40 >>44 を見てると機能の差じゃなくて有る無しを気にしてるように見えるけど。
50:デフォルトの名無しさん
13/06/15 20:35:08.93
すいません
berakにしてましたw
ただcontinueもあったことに築き不図
どう違うんだろうかと思っただけです。
そこらへん触れてなくてすいません。
51:デフォルトの名無しさん
13/06/15 20:58:25.28
>>50
何もしない
for (i=0; ; i++)
break;
無限ループ
for (i=0; ; i++)
continue;
52:デフォルトの名無しさん
13/06/15 21:14:20.31
この手のド初心者に for の変則形など見せても混乱するだけ
53:デフォルトの名無しさん
13/06/15 21:37:35.37
gotoほどじゃないけど、continueも嫌う奴いるんだよな
そんでアホみたいにネスト深くしてくの
54:デフォルトの名無しさん
13/06/15 22:05:37.55
関数記述で return を1箇所にまとめるか、複数個所で分散してるか
55:デフォルトの名無しさん
13/06/15 22:12:47.07
ifの{ はifと同じ行に記述するか次の行に記述するか
56:デフォルトの名無しさん
13/06/15 22:55:41.34
周波数を自由に変えてスピーカーに出力する簡素なソフトを
作りたいんですがVC++かmfcで作るとどういう命令を使うか
ヒントください。
57:デフォルトの名無しさん
13/06/15 22:57:27.89
リアルタイムに出力するなら
DirectSoundを調べると良い
単にwavファイルを作れればいいのなら
普通のファイル操作関数とsinでおk
58:片山博文MZパンク ◆0lBZNi.Q7evd
13/06/15 22:58:39.57
>>56
waveOut*関数かDirectSound
59:デフォルトの名無しさん
13/06/15 23:03:42.39
waveOut*は互換性のため残されてる古いAPIなので
60:片山博文MZパンク ◆0lBZNi.Q7evd
13/06/15 23:04:13.06
NT系ならBeepという関数も使える
61:デフォルトの名無しさん
13/06/15 23:27:33.39
簡素なやつを作るだけんら古いAPIでよかろうもん
62:デフォルトの名無しさん
13/06/16 04:59:22.30
>>60
9x系現役乙
63:デフォルトの名無しさん
13/06/16 10:36:41.28
>>26
BoehmGC
64:デフォルトの名無しさん
13/06/16 15:19:28.14
機械語にあるBCD演算命令を使うCの記述方法はありますか?
65:デフォルトの名無しさん
13/06/16 15:21:50.08
>>64
ないよ。
66:デフォルトの名無しさん
13/06/16 15:31:01.99
BCD演算命令は遅いよ
全く使われないから、手抜きされてる
67:デフォルトの名無しさん
13/06/16 15:33:40.58
まずどこの環境かを聞くべき
インラインアセンブラでもできるんじゃないの?
68:デフォルトの名無しさん
13/06/16 15:43:22.58
BCD命令はx64ではobsoleteなので
もう存在自体を忘れた方がいい
69:デフォルトの名無しさん
13/06/16 23:41:49.32
アク禁になったらtor使っても書き込めないのは何故ですか?
2chに書き込むプログラム作ったんですがアク禁なんで書き込めない。
70:デフォルトの名無しさん
13/06/16 23:58:49.84
tor の出口がたまたまアクセス禁止になっているだけかと
71:デフォルトの名無しさん
13/06/17 00:06:06.78
てことはtorを使えば書き込みし放題なんでしょうか?
それに対する対処とかしてるんですか?2chって。
72:デフォルトの名無しさん
13/06/17 00:10:52.33
たまたま出口がアク禁かもしれませんが
何回チャレンジしても書き込めません。
そういう対策してるんですか?2chでは。
今は携帯からですが。
73:デフォルトの名無しさん
13/06/17 00:24:44.27
torは特定の板以外はだめじゃなかった?
74:デフォルトの名無しさん
13/06/17 00:39:58.97
>>73
なるほどー
荒らされないように考えてるんだな2chも。
75:デフォルトの名無しさん
13/06/17 15:07:41.89
do {
なんたらかんたら
} while(0);
こんなんなんか意味あるんすか?
76:デフォルトの名無しさん
13/06/17 15:32:48.17
>>75
PHPユーザーが想定する優れたCプログラマ、には意味があるらしい
URLリンク(php.net)
俺はCとPythonな人間なんで、意味なんか見いだせないけどね
77:デフォルトの名無しさん
13/06/17 15:44:03.58
マクロで複文を扱うときに
#define XXX() do { 複文 } while(0)
こう書くと
if (cond) XXX(); else ・・・;
if (cond) {XXX();} else {・・・;}
どっちの形で書かれても動く。
78:デフォルトの名無しさん
13/06/17 15:55:04.63
>>75
goto 禁止対策
79:デフォルトの名無しさん
13/06/17 15:56:55.67
マクロにセミコロンを含めないのがミソ
80:デフォルトの名無しさん
13/06/17 16:06:27.37
>>77>>78
thx
goto回避という事は、シーケンスな処理の場合のエラーとかですね?
do {
if(処理1()==FAIL) break;
if(処理2()==FAIL) break;
if(処理x()==FAIL) break;
} while(0);
てな感じかな?
処理に待ちが入る場合はcallback関数使うと思うので、あまり出番はないかもしれないですね。
マイコン組込みでは有用かも?
81:デフォルトの名無しさん
13/06/17 16:07:10.90
ローカルスコープ作るのに、ぎょっとさせない意図で
do { ... } while(0) で囲んだこともあった。 が、今は素直に { } で囲んでるな
82:デフォルトの名無しさん
13/06/17 16:56:54.99
>>76
thx 御礼が抜けました。 PHPという事で誤爆かと思いました w
goto回避だけで無く、処理を通過した最後のComplete()処理が目玉という事ですね。
83:デフォルトの名無しさん
13/06/18 21:30:45.91
関数の中でmain関数内で宣言された配列を使うのは無理ですかね?
#include<stdio.h>
void abc(int x,char y);
int main(void)
{
char str[100];
}
void abc(int x,char y)
{
str[x]=y;
}
配列の受け渡しは引数が面倒臭いので
省略したいです。
84:デフォルトの名無しさん
13/06/18 21:34:47.03
グローバル変数にすればいいじゃん
85:デフォルトの名無しさん
13/06/18 21:37:50.07
>>84
その方法がありましたか。
ありがとうございます。
86:デフォルトの名無しさん
13/06/18 21:48:16.87
まあな。天才だからな
87:デフォルトの名無しさん
13/06/19 01:13:46.89
>>83
どこが面倒だって?
static void abc(int x, char y, char * str)
{
str[x] = y;
}
88:デフォルトの名無しさん
13/06/19 01:53:23.82
>>83
> 配列の受け渡しは引数が面倒臭い
URLリンク(ideone.com)
89:デフォルトの名無しさん
13/06/19 10:17:22.66
>>88
うわぁ、めんどくさい奴~
90:デフォルトの名無しさん
13/06/19 19:09:20.14
>>84
グローバル変数とか死ねばいいのに
91:デフォルトの名無しさん
13/06/19 19:51:19.78
代入できる関数ってありますか?
abc()=3;
int i;
i=abc();
こんな感じです。
配列は両側で代入できるから関数では無理ですか?
92:デフォルトの名無しさん
13/06/19 19:52:33.61
Cだと無理
C++なら戻り値を参照にすればできる
ポインタを返して
*abc() = 3;
int i;
i = *abc();
とするのであればCでも可能
93:デフォルトの名無しさん
13/06/19 19:56:19.84
>>91
URLリンク(ideone.com)
これくらいしか思いつかん
94:デフォルトの名無しさん
13/06/19 19:57:49.83
関数型マクロなら
95:デフォルトの名無しさん
13/06/19 20:03:40.60
関数ポインタ
96:デフォルトの名無しさん
13/06/19 20:13:52.31
>>94
URLリンク(ideone.com)
こういうことか
97:デフォルトの名無しさん
13/06/19 20:18:22.43
なぜこうしない
#define abc() (*f())
98:デフォルトの名無しさん
13/06/19 20:24:04.42
>>97
ああ、関数のカッコの方が * よりも優先度が高いのだったか。
URLリンク(www.bohyoh.com)
それならそれでいいね。
99:デフォルトの名無しさん
13/06/19 20:25:57.36
おっと>>96の修正
URLリンク(ideone.com)
100:デフォルトの名無しさん
13/06/19 20:27:41.10
ランタイムで配列を宣言する方法ってありますか?
配列の名前を入力
str
型を入力
int
要素数
10
作成しました int str[10]
無理ですか?
101:デフォルトの名無しさん
13/06/19 20:27:51.66
>>98
それでいい、じゃなくてそうじゃないといけない
優先順位の問題があったとしても (*(f())) としないと
後置インクリメントが意図しない動作を起こすから
102:片山博文MZパンク ◆0lBZNi.Q7evd
13/06/19 20:46:06.00
>>100
構造体配列に名前や型のデータを保存、実データはmallocで確保
103:デフォルトの名無しさん
13/06/19 20:48:59.95
>>100
どうやって使うつもりなの?
104:デフォルトの名無しさん
13/06/19 20:50:32.51
>>100見て、BASICインタプリタ作りたくなってきたぜ…
105:デフォルトの名無しさん
13/06/19 20:55:01.09
C言語インタプリタ作っておねがい
106:デフォルトの名無しさん
13/06/19 20:57:32.10
>>104
関係あるの?
107:デフォルトの名無しさん
13/06/19 21:00:40.05
>>101
なるほど。>>96はabc()++;するとコンパイルエラーになる。うかつだった。
ありがとう。
修正
URLリンク(ideone.com)
108:デフォルトの名無しさん
13/06/19 21:02:03.57
>>105
本当にCが必要なのかを慎重に検討すべき
109:デフォルトの名無しさん
13/06/19 21:02:31.24
こういう危険性があるから
素人はマクロに手を出しちゃいけないよという実例
110:デフォルトの名無しさん
13/06/19 21:37:42.53
>>100
配列とほぼ同等なもの(ポインタ+メモリ確保)を作ることはできる。
厳密な意味で配列とイコールなものをランタイムには作れない。
111:デフォルトの名無しさん
13/06/19 21:44:27.02
インタプリタが作りたいのかな
構文解析がんばれ
112:デフォルトの名無しさん
13/06/19 21:59:45.83
>>105
あるじゃん
113:デフォルトの名無しさん
13/06/19 22:27:02.72
>>100
こんな感じだろうか
URLリンク(ideone.com)
114:デフォルトの名無しさん
13/06/19 23:55:30.76
>>100
array[n] = *(array + n)を利用すれば
配列っぽいものを動的に作れる
115: ◆QZaw55cn4c
13/06/20 01:23:48.07
>>105
URLリンク(root.cern.ch)
116:デフォルトの名無しさん
13/06/20 03:22:40.21
main関数の外で宣言したaという変数と
main関数の中で宣言したaという変数がある場合
main関数の中で両方を別ものとして
読み書きするにはどうすればいいですか?
117:デフォルトの名無しさん
13/06/20 03:49:44.59
mainの中の変数が参照される。素直に名前を変えるか、名前空間を使いましょう
118:デフォルトの名無しさん
13/06/20 03:50:58.63
::a
119:デフォルトの名無しさん
13/06/20 04:21:29.15
>>117>>118
スレ違い。
120:デフォルトの名無しさん
13/06/20 07:30:58.80
>>116
Cだとできないので名前を変えよう
C++なら::aが外、aが中
121:デフォルトの名無しさん
13/06/20 08:12:38.62
>>116
int a;
int* pa = &a;
int main(){
int a;
*pa = 1:
a = 2;
...
122:デフォルトの名無しさん
13/06/20 10:33:57.68
名前変えたほうが混乱しないよ
123:デフォルトの名無しさん
13/06/20 14:36:08.66
混乱するのは低能だけ
124:デフォルトの名無しさん
13/06/20 15:42:12.76
トリッキーなコードを書くのが格好いいと思ってる馬鹿が居るような気がする
125:デフォルトの名無しさん
13/06/20 15:47:45.18
鳥なのかサルなのか馬なのか鹿なのかコモドオオトカゲなのかはっきりしろ
126:デフォルトの名無しさん
13/06/20 15:56:48.32
コドモドラゴンてのがいてだな
127: ◆QZaw55cn4c
13/06/20 16:13:12.08
いやむしろRhinogradentia/鼻行類のほうが
128:デフォルトの名無しさん
13/06/20 18:06:49.04
鳥なのかサルなのかコウノトリなのかカッコウなのか馬なのか鹿なのかはっきりしろ
129:デフォルトの名無しさん
13/06/20 18:57:17.50
鳥+ウッキーでトリッキーですかなるほど
130:デフォルトの名無しさん
13/06/20 22:56:57.47
ふむふむ
131:デフォルトの名無しさん
13/06/21 03:34:14.13
馬鹿というのは、馬や鹿みたいな知能の奴という意味ではなく
馬と鹿の区別をつけられない奴のことだと最近知った俺だった
132:デフォルトの名無しさん
13/06/21 11:15:17.08
>>104
URLリンク(www.ioccc.org)
133:デフォルトの名無しさん
13/06/21 15:36:45.64
iMac買ったんでC#でプログラミングしてみた。これ「\」と「_」の入力が罠すぎるだろ
スレリンク(poverty板)l50
134:デフォルトの名無しさん
13/06/21 23:26:53.83
/の逆と\ってお互い一緒らしいですが違いあるんですか?
135:デフォルトの名無しさん
13/06/22 00:54:36.09
ない
136:デフォルトの名無しさん
13/06/22 00:57:52.11
バックスラッシュと円マークで
見た目が違う
呼び方が違う
文字コードによっては別々に割り当てられてるので全く別の文字
137:デフォルトの名無しさん
13/06/22 01:03:30.97
たとえ表記上¥しかでなくても、バックスラッシュのところを打つ
138:デフォルトの名無しさん
13/06/22 02:37:08.14
Visual Studio 2010を使用しています。
サンプル2ではエラーが出るのですが、サンプル1でエラーが出ないのはどうしてでしょうか。
よろしくお願いします。
●サンプル1
#include <stdio.h>
int a = 10;
int a;
int main(void)
{
return 0;
}
●サンプル2
#include <stdio.h>
int a = 10;
int a = 20;
int main(void)
{
return 0;
}
139:デフォルトの名無しさん
13/06/22 02:48:56.86
>>138
まずエラーを書こう
140:138
13/06/22 03:03:03.46
>>139
すみません。以下の様なエラーが出ます。
> 'a' : 再定義されています。2 回以上初期化されています。
> 'a' の宣言を確認してください。
サンプル1では再定義と言われないのは何故なのか気になりました。
よろしくお願いします。
141:デフォルトの名無しさん
13/06/22 03:18:17.85
>>140
情報の後出しウザい消えろゴミクズ
142:デフォルトの名無しさん
13/06/22 04:19:29.71
138: サンプル2でエラーがでる
139: エラーの詳細は
140: これこれです
141: 後出しうざい、ゴミクズ
真面目な質問者と、ゴミクズだな
>>138
サンプル1は仮定義って言うんだよ
6.9.2. External object definition
2 A declaration of an identifier for an object that has file scope without an initializer, and
without a storage-class specifier or with the storage-class specifier static, constitutes a
tentative definition.
143:138
13/06/22 04:26:32.12
>>142
仮定義という概念を初めて知りました。
ありがとうございました。
144:デフォルトの名無しさん
13/06/22 05:33:29.65
>>143
いいから二度と来るなよ。
社会のお荷物君。
145:デフォルトの名無しさん
13/06/22 07:34:32.13
何で普通の質問にそんな噛み付くわけ?
146:デフォルトの名無しさん
13/06/22 08:49:10.02
>>145
>>141と>>144自身が「ゴミクズ」であり「社会のお荷物君」だからだろ
「投影性同一視」と言う
147:デフォルトの名無しさん
13/06/22 08:52:47.25
URLリンク(ameblo.jp)
>例えば、部下に「お前は、自分勝手で自己中心的だ」という非難を浴びせている
>上司を見ることがあると思います。
>よく知っている人から見ると、「自分勝手で自己中心的なのは、他でもない自分自身の
>ことではないか」ということになるのですが、【投影性同一視】はそういう自分のいやな部分を
>見ようとはせずに、そのいやな部分を他人に押しつけるのです。
>そして、いやな部分を押しつけた他人に向かって「お前は、自分勝手だ」と言って非難するのです。
>このように自分のことを棚に上げて、他人を非難することで、自分の中にある嫌悪すべき部分と
>直面することを避けているのです。
>つまり、自分自身と向き合う代わりに、他人という鏡と向き合って、他人を攻撃するのです。
>ですから、【投影性同一視】を行っている人が、「お前は、×××だ!」と言ったとき、「お前は」と
>いう部分を「私は」に置き換えてみれば、言っていることがそっくりそのまま患者自身にぴったりと
>当てはまることがあるのです。
>しかし、【投影性同一視】を行っている人は「私は、自分勝手だ!」とは言いません。
>その代わりに「お前は、自分勝手だ!」「お前は、自分のことしか考えていないじゃないか!」と
>言って、周囲の人たちを非難するのです。
148:デフォルトの名無しさん
13/06/22 10:50:37.24
俺を倒せる質問者はまだか
149:デフォルトの名無しさん
13/06/22 10:52:58.91
倒れてる奴は、倒せない。
これ、豆な (w
150:デフォルトの名無しさん
13/06/22 12:18:52.73
>>145
情報の後出しは普通じゃないよ
荒らしが荒れやすい下地を作る手段の一つ
151:デフォルトの名無しさん
13/06/22 12:50:08.31
>>150
ソース晒してるんだから、そのくらいすぐ分かるだろ
152:デフォルトの名無しさん
13/06/22 12:58:08.22
必要な情報を判断できるなら初心者じゃないよ
153:デフォルトの名無しさん
13/06/22 13:12:02.51
>>138だけで回答出来ないゴミクズってなんのために生きてるの?
154:デフォルトの名無しさん
13/06/22 13:16:19.31
「制限」や「要求項目」の後出しは初心者とか関係なくもめる
だが >>141 はただ荒らすために生きているので
これ以上さわってはいけません
155:デフォルトの名無しさん
13/06/22 13:55:20.43
>>151
まあ、それはそうだが、エラーメッセージぐらい貼れよといつも思う。
次スレ立てる人は >>1 に入れといて欲しいな。
156:デフォルトの名無しさん
13/06/22 14:07:39.95
エラーの意味も分かってないんだろ。
エラーっていわば注意や警告だからな。
学校や会社で何度注意されても繰り返すゴミクズと同じタイプ。
157:デフォルトの名無しさん
13/06/22 14:09:26.02
よかったな>>138
お前の狙い通り荒れてきたぞ
158:デフォルトの名無しさん
13/06/22 14:16:32.84
エラーの意味がわからないド初心者は >>140 みたいな疑問を持たない
フローチャートで論点と流れを整理する癖を付けろ
口から糞を垂れるのはその後にしろ
159:デフォルトの名無しさん
13/06/22 14:52:34.13
フローチャートって
160:デフォルトの名無しさん
13/06/22 15:05:27.72
>>138はプログラミング以前に精神構造に問題があるんじゃないかな
テストで間違えたところをきく場合も、問題用紙だけ持ってきて「40点でした。何がいけなかったのですか?」ときくのと同じ
初心者以前に知恵遅れ
勿論一般社会では迷惑な存在
161:デフォルトの名無しさん
13/06/22 15:10:03.75
それよりも迷惑な人がいる
162:デフォルトの名無しさん
13/06/22 15:19:26.69
確かにいるな
163:デフォルトの名無しさん
13/06/22 15:26:56.79
これ系のヴァカはどうせ全く調べずに質問してるんだろ。
普通は原因究明のために目に入る情報から何とか手掛かりを探そうとするからな。
そうすると必然的にエラーメッセージを調べることになる。
164:デフォルトの名無しさん
13/06/22 15:35:01.99
というわけで俺様の好みに合う口当たりの良いまろやかな一口サイズの質問を持った質問者はまだか
165:デフォルトの名無しさん
13/06/22 15:56:45.50
MinGW gcc 4.6.2 の qsort を使ったときにソートにかかる時間が最悪になるデータの並びを作成する方法を教えて下さい
いつも早いので本当にオーダーが O(n^2) になることがあるのか興味があります
166:デフォルトの名無しさん
13/06/22 16:10:31.35
>>138とその周辺(回答してる屑、叩いてる池沼、擁護してる基地害)は迷惑だから出ていってくれ
もう二度と来なくていいよ
167:デフォルトの名無しさん
13/06/22 17:28:48.49
スルーすりゃいいんちゃう
お前にも正義はない
168:デフォルトの名無しさん
13/06/22 18:06:05.19
入門スレで初心者相手にえばり散らす奴は出て行ってくれよ
169:デフォルトの名無しさん
13/06/22 19:26:29.87
自己顕示欲を満たすためだけに回答する奴も出ていってくれよ
170:デフォルトの名無しさん
13/06/22 20:30:54.60
Everyone, get out of here!
171:デフォルトの名無しさん
13/06/22 21:35:18.29
客先常駐で偉そうな客先社員に見下されて何の経験にもならない雑用を押し付けられて精神病むのがオチw
30代で常駐先がなくなって未経験の異業種で人生やり直すのがオチw
常駐先企業の人件費抑制に利用されただけの人生だったな残念w
システムエンジニアになろう~新入社員研修編~
URLリンク(www.nicovideo.jp)
172:デフォルトの名無しさん
13/06/22 21:37:20.11
自己紹介はマ板でやれアホ
173:デフォルトの名無しさん
13/06/22 21:39:27.59
俺はサイコアピールしてるから
何か扱い間違えるとヤバイかもみたいな認識されてるらしく
あまり酷い扱いはされないよ
174:デフォルトの名無しさん
13/06/23 00:36:01.21
>>165
5,4,3,2,1 を昇順にしてみればいいんじゃね
175:デフォルトの名無しさん
13/06/23 01:49:39.49
qsortの中身がそのままクイックソートだとは思えないけど
まともな実装なら n が小さいと挿入ソート切り替えたり、
あるいはそもそも最悪実行時間を嫌ってマージソートを使ってたりするはず
176:デフォルトの名無しさん
13/06/23 02:52:53.57
>>175みたいに推測でものを言うksって何なの?
キチガイ女の集まるメンヘラ板ならまだしもム板なのに
177: ◆QZaw55cn4c
13/06/23 02:53:59.29
>>176
Knuth の聖書を読め推測ではなくて「当たり前」
178:デフォルトの名無しさん
13/06/23 10:13:01.61
「当たり前」では無いがglibcのqsortが基本はマージソートなのは良く知られている。
知らないのは素人
179:デフォルトの名無しさん
13/06/23 10:42:54.64
マージはメモリ効率悪いだろ
180:デフォルトの名無しさん
13/06/23 10:58:26.44
qsort以外のソートを自作してはならないという不幸な時代に生まれさえしなければ
181:デフォルトの名無しさん
13/06/23 11:21:32.00
不安定なソートは好きじゃない
182:デフォルトの名無しさん
13/06/23 11:48:10.77
>>179
そう思うんなら、glibcの開発mlに乗り込んで喧嘩売って来いよ。
183:デフォルトの名無しさん
13/06/23 11:53:07.46
>>182
マージソート知らないのか?マージソートはメモリー効率悪いよ。
184:デフォルトの名無しさん
13/06/23 11:59:08.52
>>183
「基本は」って書いただろ。ソース読んでから言いがかりつけろよ。
185:デフォルトの名無しさん
13/06/23 12:04:05.74
>>184
基本はとお前が書こうか書くまいが、マージソートはメモリー効率悪いよ。
知らなかったんだろ?素直に認めろよ。
186:デフォルトの名無しさん
13/06/23 12:16:57.54
>>185
お前本当に頭悪いな。マージソートがメモリーを沢山使うのは常識だが、glibcはそれでも「効率」はマージソートの方がいいと判断して基本(メモリー潤沢な場合)はマージソートを採用している。
それに対して周回遅れの言いがかりつけんじゃねー
効率: 機械から得られる有効な仕事が,それを得るために機械に加えたエネルギーに対して占める割合をいう。
187:デフォルトの名無しさん
13/06/23 12:18:45.53
2chは潤沢なリソースを誇るので
このような非効率なプロレスに利用しても何ら問題ない
188:デフォルトの名無しさん
13/06/23 12:19:37.26
>>186
だからマージソートはメモリー効率悪いだろ。
189:デフォルトの名無しさん
13/06/23 12:30:05.35
>>188
効率とは使用するリソースに対する得られる効果。
使用するメモリーに対して期待する効果が大きいと判断したから、マージソートが採用されている。
190:デフォルトの名無しさん
13/06/23 12:36:42.61
何の知識もないので、1からCを始めるのにおすすめのサイトを教えてください。
191:デフォルトの名無しさん
13/06/23 12:37:12.55
>>189
詭弁だな。
192:デフォルトの名無しさん
13/06/23 13:06:38.64
>>191
>>173の周回遅れのツッコミが、とても痛い事にきづいたか?
193:デフォルトの名無しさん
13/06/23 13:15:38.44
そんなんだから女にモテないんだよおまえら
194:デフォルトの名無しさん
13/06/23 13:21:18.35
>>193
マージソートはメモリー効率悪いよね。
195:デフォルトの名無しさん
13/06/23 13:27:34.58
自分は富豪的プログラミングしてるのにメモリ効率とか言い出すアホいるよなw
196:デフォルトの名無しさん
13/06/23 13:32:19.18
いいんだよ そのほうがカッコイイんだよ
ケータイやゲーム機の色にこだわるのと一緒だよ
わかるだろ?
197:デフォルトの名無しさん
13/06/23 13:35:15.93
メモリー効率が悪いことが原因で、処理が出来なかった経験があるのかな?
198:デフォルトの名無しさん
13/06/23 13:38:27.53
富豪的プログラミングをしているつもりが、
富豪ではないからスパコンやフルカスタムが必要になると詰むんだよな
199:デフォルトの名無しさん
13/06/23 13:56:30.58
メモリかつかつな状況下で 標準の qsort を選択するものなの?
200:デフォルトの名無しさん
13/06/23 14:05:57.13
そういうマシンでソートするのが間違い
201:デフォルトの名無しさん
13/06/23 16:31:54.78
>>197
「マージソートのメモリー効率がわるいこと知ってる俺 SUGEEE、おめーらそんな事知らない
だろう」って事だろ。
で、「ハァ、(そんな事誰でも知ってるし) それがどうかしたのか」と言われて、逆切して粘着。
まあ、良くある話。
202:デフォルトの名無しさん
13/06/23 17:32:09.05
>>201
全然違うわw
「マージはメモリ効率悪いよね(ぼそ)」
「glibcはなんたらかんたら!!!」
「マージはメモリ効率悪いよ(はっきり)」
「glibcは頑張ってんだ!!!」
こういう話です。
203:デフォルトの名無しさん
13/06/23 17:32:13.12
マージソートは安全じゃないからね
メモリを確保できない場合は回復不能なエラーになる
クイックソートならそうはならない
204:デフォルトの名無しさん
13/06/23 17:41:24.79
>>202
> 逆切して粘着。
君、もういいよ。
205:デフォルトの名無しさん
13/06/23 17:53:43.59
>>203
C言語を使用している人間の発言とはとうてい思えない。
mallocがNULLを返したらクイックソート使ったらいいじゃん。
回復余裕じゃん。
206:デフォルトの名無しさん
13/06/23 17:55:30.17
>>205
そんな内容でいちいちageんな
207:デフォルトの名無しさん
13/06/23 17:56:48.64
Qsort killer は手に余るってことでおk?
208:デフォルトの名無しさん
13/06/23 18:02:12.98
>>202
全然ちがうわ
オレ: glibcは(メモリ十分なら)基本マージソート
周回遅れ: マージソートはメモリ効率悪いだろ
209:デフォルトの名無しさん
13/06/23 18:03:37.13
>>205
バカなやつだな
メモリ確保できたときの無駄を許せるなら
おまえはCをやめてVBAとかもっと手頃な言語やった方がいい
はっきりいって向いてないよ
210:デフォルトの名無しさん
13/06/23 18:07:57.66
>>209
なにをゆってるんだ。回復不能は誤りだろ、それについては認めろよ。
バカはお前だハゲ。はい勝利。
211: ◆QZaw55cn4c
13/06/23 18:25:41.64
誰もシェルソートを愛してくれないのですか(泣)
212:デフォルトの名無しさん
13/06/23 18:30:24.94
>>210
誤りじゃないよ
メモリをいくら確保すればメモリが足りてるかテストできない
さらにテストしたメモリを解放してもすぐに同じだけ全て再利用できるとは限らない
213:デフォルトの名無しさん
13/06/23 18:34:51.85
>>212
は?何言ってんだバーカ。はい論破。
214:デフォルトの名無しさん
13/06/23 18:36:55.67
>>211
シェルソートは難しいぞ。お前実装できんの?
215:デフォルトの名無しさん
13/06/23 19:14:27.63
とこのように
あるごりずむを覚えたての自称上級者が延々とオナニーを始めるので
ソートの話題をふるのは禁止です
216:デフォルトの名無しさん
13/06/23 19:19:05.65
別にソートを実装してくれというわけじゃないんだが
争ってる奴らはバカなんだろうな
217:デフォルトの名無しさん
13/06/23 19:20:07.80
ゲーム製作をしたくてプログラムを学ぼうと思うのですが、
MicrosoftVisualC++って2012使ったほういいんですかね?
2010までしか説明していないサイトが多いのでどうすればいいのか迷ってます
218:デフォルトの名無しさん
13/06/23 19:21:29.99
ゲーム作るならMinGWがオススメだよ
219:デフォルトの名無しさん
13/06/23 19:22:11.90
プログラムだけできても絵が描けないとゲームはできないよ。
220:デフォルトの名無しさん
13/06/23 19:25:49.97
それは素人の発想
ゲームは本来文字情報だけで十分なんだよ
221:デフォルトの名無しさん
13/06/23 19:30:29.06
2010と2012の二択だったらどうなります?
222:デフォルトの名無しさん
13/06/23 19:37:29.52
>>217
ハードやれ
とりあえずドラム叩きあたりからでいい
人を楽しませるには自然現象の全てを使い切れ
ここを忘れた連中こそゲーム業界のやませだ
223:デフォルトの名無しさん
13/06/23 19:40:45.89
何を作りたいかによるけど
まずはツクールとかウディタとか
そういうお手軽で不自由なツールをさわっておくのがよい
224:デフォルトの名無しさん
13/06/23 19:42:23.77
>>217
どんなゲーム作るの?
勉強してもFF13みたいなやつは個人では無理だと思うよ
225:デフォルトの名無しさん
13/06/23 19:44:11.70
>>220
じゃあ文字情報だけのゲームで食っていけるだけの利益出してみろや
ドラクエ以上の本数売ってみろや
何も知らない 素人 が知ったかすんな
226:デフォルトの名無しさん
13/06/23 19:53:34.40
プログラムだけできても絵が描けないと売れるゲームはできないよ。
227:デフォルトの名無しさん
13/06/23 19:57:10.34
作曲も大事だね
228:デフォルトの名無しさん
13/06/23 19:58:17.64
絵を描くにも、ドッターみたいな特殊技能がいるし
229:デフォルトの名無しさん
13/06/23 20:02:55.99
>>225
バカか?
商業ゲームの話は誰一人してないぞ
レスの流れを読むぐらいのことはしてから喋れよ
230:デフォルトの名無しさん
13/06/23 20:12:57.44
>>224
ツクール的な簡易グラでやりたいと思ってます
もしかしてRuby勉強したほうがいいんですかね
231:デフォルトの名無しさん
13/06/23 20:13:54.58
>>229
こいつ馬鹿か?
商業ゲーム作ってる企業は面白いゲーム作ろうと思って作ってんだよ
しかも全員プロだ
そのプロ共が30年近くかけてたどり着いた回答が今の美麗なグラフィックをバリバリ使った
音楽もオーケストラ並のゲームだ
チャラチャラプログラマ気取りで2chに書き込んでるお前のような奴の言うことより
30年近い実績の上に成り立ってる商業ゲームのほうがよっぽど説得力があるんだよ
232:デフォルトの名無しさん
13/06/23 20:24:32.40
>>231
消費者はそう思ってない
またグラフィックだけのクソゲーか
と飽き飽きしてる
それも当然だグラフィックしか売りがなければ
暫くすればすぐによりグラフィックが優れたゲームが作られる
無意味なんだよ今の業界がやってる仕事はね
誰の記憶にも残らないすぐに最新作に上書きされる為だけにゲームを量産している
あまりにも不毛だ
233:デフォルトの名無しさん
13/06/23 20:27:12.90
フルオーケストラ、最後に聴きに行ったのは今年の2月だったかな
1回きりでも諭吉使う価値あるんだよねえ
ところでゲーム屋さん、何がどのようにオーケストラ並みなの?
作曲してる人たちやDAC作ってるハード屋さんの仕事は、諭吉に匹敵すると思うんだけど
えーと・・・
234:デフォルトの名無しさん
13/06/23 20:33:16.90
>>230
ツクールレベルならRubyとかスクリプト言語で十分。
だけど将来もしかしたら3Dやるかも、とかだったらやっぱりC/C++のほうがいいね。
あなたにデニスリッチーの加護があらんことを。
235:デフォルトの名無しさん
13/06/23 20:37:09.56
>>232
いや、だからお前文字情報だけのゲーム作って売ってみろって
お前の言ってることが正しければみんな文字情報ゲー買うだろ
今どんな生活してるか知らんけど、普通のリーマンだとしたら生活水準かなり上がるぞ
お前の言ってることが正しければリスクもない
236:デフォルトの名無しさん
13/06/23 20:59:00.58
売れるゲームのはなしなんか誰もしてないぞ
>>226 の皮肉がわからない馬鹿一名を除いて
237:デフォルトの名無しさん
13/06/23 21:09:25.88
>>234
ありがとうございました。
238:デフォルトの名無しさん
13/06/23 21:21:51.52
>>233
ピンキリだけどゲームでも腕のいい作曲家だと年収もオーケストラやってる上手い演奏家と同じくらいだよ。
239:デフォルトの名無しさん
13/06/23 21:55:13.13
そういえば最近のツクールには Rubyのスクリプトがついているんだったな
どうせコピペを繰り返してもなにも身につかないから
基本機能で不自由さを噛み締めるのが良い
240:デフォルトの名無しさん
13/06/23 22:00:38.49
程度が低いぜこのスレは
241:デフォルトの名無しさん
13/06/23 22:07:09.88
ここは入門スレだから
程度の高い話期待するなら、そういうスレに移動
242:デフォルトの名無しさん
13/06/23 22:11:42.81
IDないから好き放題でまとまりがないんだよな
それがム板の残念なとこ
243:デフォルトの名無しさん
13/06/23 22:13:23.16
ID有りのスレから逃げてくるのが多いから仕方がない。
244:デフォルトの名無しさん
13/06/23 22:21:22.41
どこですか、それ
245:デフォルトの名無しさん
13/06/23 22:23:40.31
文字は究極のドット絵
246:デフォルトの名無しさん
13/06/24 07:45:29.55
True Type Font
247: ◆QZaw55cn4c
13/06/24 08:30:53.83
>>214
えへへ~、奥村さんの本をみてかきます、めんどくさいから
248:デフォルトの名無しさん
13/06/24 10:29:37.67
えへへ~、奥さんの○をみてかきます
249:デフォルトの名無しさん
13/06/24 11:14:59.21
アルゴリズムの入門書のクイックソートのCの実装をみていまいち理解できなかったけど
最近haskellのクイックソートのコードをみて、こういうことだったかと腑に落ちたわ。
どの言語ではじめるのがいいですかって質問してる初心者に、Cが基礎だって薦めるやつはウンコだな。
250:デフォルトの名無しさん
13/06/24 11:32:31.32
パラダイムシフトが必要なんだよね、haskell読むのって。
251:デフォルトの名無しさん
13/06/24 12:27:08.17
宗教的理由により生涯ただひとつの言語しか覚えてはいけないという制約があれば
Cから始めるしかない
252:デフォルトの名無しさん
13/06/24 16:56:16.68
唯一の神しか信じてはならない
253:デフォルトの名無しさん
13/06/24 17:22:30.63
>>249
CMMCPで計算モデルを知ると、言語変わっても対応しやすくなる。
254:デフォルトの名無しさん
13/06/24 17:44:34.80
CMMCPって何?
ググっても蚊のサイトしか出ない
255:デフォルトの名無しさん
13/06/24 19:52:16.74
>>254
すまん、CTMCPだ。
(Concepts, Techniques, and Models of Computer Programming)
256:デフォルトの名無しさん
13/06/25 20:21:42.28
質問です。
インクルードガードされたヘッダファイルって2回目は読み込まないんですよね?
でもインクルードしたらどのソースファイルからも宣言した構造体とか使えます。
インクルードで文字列を置き換えてるだけなら、
ヘッダファイルの内容を一箇所でしか使えないと思うんですがどうなっているんでしょうか。
257:デフォルトの名無しさん
13/06/25 20:34:08.74
>>256
IDEとかを使ってて不思議に思うのかも知れないが
CやC++コンパイルってのは基本的に、各.cや.cppに対して行う
.cが2つあれば、コンパイルは2つ走るワケで
「ひとつのコンパイル単位の間で」一度ずつしか読まれないだけよ
258:デフォルトの名無しさん
13/06/25 20:47:01.44
#includeっていうのは指定したヘッダーファイルの内容をその場所にぶちまけてるってだけ
259: ◆QZaw55cn4c
13/06/25 20:52:01.63
>>256
一つのコンパイル単位において一回だけ、というだけで
複数のコンパイル単位については、必要ならばそれぞれについて一回インクルードされますよ
260:デフォルトの名無しさん
13/06/25 20:58:52.43
>>257-259
いやー凄い勉強になりました
これが納得いかなくてずっと悩んでたもので
試しにヘッダファイルに int x = 10; と入れてみて二箇所から読んでみたらちゃんと再定義のエラーになりました。
一箇所から2回読んだ時は、インクルードガードされるので大丈夫なんですね
ありがとうございました
261: ◆QZaw55cn4c
13/06/25 21:34:56.45
>>260
こっちからはなにかよくわかっていませんが、持ちネタの「仮定義」tentative defenision のよーな木が
extern は要らない子っ!!!!
262:デフォルトの名無しさん
13/06/25 21:40:53.08
undefしてマクロ再定義し、includeを2度する邪悪なソースを見たことがある
263: ◆QZaw55cn4c
13/06/25 21:47:01.53
>>262
じゃあ番兵 #define の識別子をきみょーきてれつにするんだ!
264:デフォルトの名無しさん
13/06/25 21:48:53.53
>>263
いやそれヘッダ開いてコピペされるだけだから…#pragma onceとか使うしかないっしょ
265:デフォルトの名無しさん
13/06/25 22:48:00.10
常駐先の人件費抑制に利用されただけの人生だったな残念w
266:デフォルトの名無しさん
13/06/26 00:14:02.45
>>261
そりゃ業務で分割コンパイルも経験した事のないヤツにはexternは不要だろうな
267: ◆QZaw55cn4c
13/06/26 04:07:29.94
>>266
キーワード extern を1回も使わなくても複数の翻訳単位で系を構成することはできます(棒)
extern は要らない子っ
268:デフォルトの名無しさん
13/06/26 10:55:37.73
>>267
関数のプロトタイプはexternなしでもいいし、変数もグローバル変数使わなければいいしな。
269:デフォルトの名無しさん
13/06/26 10:59:18.24
C言語のスレなんだが
270:デフォルトの名無しさん
13/06/26 11:03:22.03
Cだとextern不可避のことってあるんだっけ。
271:デフォルトの名無しさん
13/06/26 11:07:49.59
URLリンク(www.kouno.jp)
1.11:
関数宣言についたexternは何を意味するのか。
A:
こういう書き方をすることで、関数の定義がたぶん別のソースファイ ルにあるということを、ほのめかすことができる。しかし以下の2つ に違いはない。
extern int f();
int f();
References:
ANSI Sec. 3.1.2.2, Sec. 3.5.1; ISO Sec. 6.1.2.2, Sec. 6.5.1; Rationale Sec. 3.1.2.2; H&S Secs. 4.3,4.3.1 pp. 75- 6.
272:デフォルトの名無しさん
13/06/26 11:16:18.07
>>268>>270
オブジェクト指向ではないC言語はどうしても大域変数が欠かせない場面が多い
>>267は実務をしらないニートの発言
273:デフォルトの名無しさん
13/06/26 11:30:33.05
>>272
手元にあったgitのソースにgrepかけてみたら、変数のexternはerrnoの一個しかなかったわ。
普通に組んでたらいらないんじゃないの。
274:273
13/06/26 11:41:12.99
よくみたらけっこうあったわ > 変数のextern
ごめん。
275:デフォルトの名無しさん
13/06/26 11:44:50.09
オブジェクト指向でないから、大域変数を完全に使わないとすれば、構造体に
変数を持たせてそのポインタを持って回る事になるが、このプログラミングスタイル
は管理が大変な上にエラーの原因になりやすい
externを使った方が遥かに楽な場面が多い
276:デフォルトの名無しさん
13/06/26 12:14:07.85
大域変数宣言する際に、externをつけなくてもいいという話なんじゃないの?
277: ◆QZaw55cn4c
13/06/26 12:31:20.85
>>268
グローバル変数を使うときでも制約はありますが extern キーワードを使わなくともリンクできます(棒)
278: ◆QZaw55cn4c
13/06/26 12:32:53.04
>>272
>>277
キーワードを先に示しているのに‥‥
趣味でも英語読むのに実務で英語読まないとかありえるのですか‥‥
279:デフォルトの名無しさん
13/06/26 12:33:09.81
持ちネタはもういいよ
280:デフォルトの名無しさん
13/06/26 12:40:42.95
こういう表記がわかりません
#define H8_3069F_SCI_SMR_CKS_PER1 ( 0<<0 )
#define H8_3069F_SCI_SMR_CKS_PER4 ( 1<<0 )
#define H8_3069F_SCI_SMR_CKS_PER16 ( 2<<0 )
#define H8_3069F_SCI_SMR_CKS_PER32 ( 3<<0 )
281:デフォルトの名無しさん
13/06/26 12:42:52.63
>>276
どれか一つのファイルにはexternは必要だぞ
全部書いてなかったらリンクできない
282:デフォルトの名無しさん
13/06/26 12:44:39.50
URLリンク(www.pro.or.jp)
こういうのは古いけど今でも立派に通用するテクニックだ
283:デフォルトの名無しさん
13/06/26 12:50:46.95
>>277
どうやってリンクするの?
284:デフォルトの名無しさん
13/06/26 12:55:36.54
狂人に構うなよ
時間の無駄だぞ
285:デフォルトの名無しさん
13/06/26 13:03:32.22
「externは必要」というのは間違い。省略した場合はexternが付いているのと同じだから。
「externは不要」というのは間違い。明示的に書くことで外部宣言されていることが分りやすくなるから。
「externは書いた方が親切」これが正解。
286:デフォルトの名無しさん
13/06/26 13:03:35.29
初歩的なミスだけどこういうのにはまる事もあるからなあ
--- a.c
extern int *a;
--- b.c
int a[100];
なぜ動かないか最初は理解出来なかった
287:デフォルトの名無しさん
13/06/26 13:05:02.34
>>285
それ関数の話?
288:デフォルトの名無しさん
13/06/26 13:06:27.26
>>285
ちょっと違うなあ
URLリンク(blog.bitmeister.jp)
>externのついた大域変数は必ずいずれかのモジュールに実体がないとダメで、
>externのつかない大域変数は基本的にexternありと同じだが、いずれのモジュールにも
>実体がなければリンカが実体を作る、という感じになるでしょうか。
リンカに任せるのかよ
バグの温床になりそうだな
289:デフォルトの名無しさん
13/06/26 13:10:52.54
ついでにコメ欄
>fs Says:
>6月 11th, 2011 at 11:00 PM
>このような言語仕様になった(externの省略が許されるよう緩和された)理由は、
>もともとUNIX他のオペレーティングシステムのリンカーがFortran言語を前提に
>作られている現状を追認するためなのではないかと思います。Fortranは
>上記の「初期値式を持つ定義」は許されない代わりに、extern宣言は不要ですから。
「extern不要!」と言ってるやつはロートルじゃねーの
俺はexternを省略するな、と教わった口だからな
290:デフォルトの名無しさん
13/06/26 13:35:54.07
C言語自体が化石言語……
291:デフォルトの名無しさん
13/06/26 13:39:45.88
化石言語が未だに大学で教えられている件について
292:285
13/06/26 14:08:30.53
関数の話かと勘違いしちゃった…
293:285
13/06/26 14:33:07.27
仮定義っていうのか。勉強になったわ。
仮定義
初期化子を指定しない定義を仮定義という。同じ変数の仮定義は、1つの翻訳単位に複数存在しても構わない。
定義と同様、実体は確保される。仮定義が一つの翻訳単位に複数存在した場合、コンパイラはそれらを1つにまとめ、
0の初期化子を持ったものとして定義する。ただし、全翻訳単位において既に定義が存在すれば、extern宣言された
ものとして振る舞う。この挙動は紛らわしい為、特に必要でない限り仮定義を用いるのは避けた方が無難である。
int n;
尚、同じ仮定義が複数の翻訳単位に存在する場合の、リンク時の動作は規格化されていない。
故に、この場合の動作は未定義である。gccではこの場合、コンパイラが解決している模様。
また、定義と仮定義が同時に存在する場合もコンパイラが解決している模様(言うまでもなく、
定義は2つ以上存在してはならない)。
URLリンク(d.hatena.ne.jp)
294:デフォルトの名無しさん
13/06/26 14:34:11.67
つまりQZは
>この挙動は紛らわしい為、特に必要でない限り仮定義を用いるのは避けた方が無難である。
これを正当化してるわけか
糞だな
295:デフォルトの名無しさん
13/06/26 14:56:31.49
>>293
externなしでも勝手に変数をまとめちゃうような変態機能とかあんのか。
296:デフォルトの名無しさん
13/06/26 15:13:13.96
>>295
老害しか使わない馬鹿機能だから知らなくていい
297:デフォルトの名無しさん
13/06/26 15:26:03.63
プロなら知ってないとまずい。
298:デフォルトの名無しさん
13/06/26 15:39:46.15
プロ?ニートのどこがプロなの?
299:デフォルトの名無しさん
13/06/26 15:53:25.72
うるさいゴミ
300:デフォルトの名無しさん
13/06/26 16:10:39.97
とニートが発狂しております
301:デフォルトの名無しさん
13/06/26 19:06:50.74
客先常駐で偉そうな客先社員に見下されて何の経験にもならない雑用を押し付けられて精神病むのがオチw
30代で常駐先がなくなって未経験の異業種で人生やり直すのがオチw
常駐先企業の人件費抑制に利用されただけの人生だったな残念w
システムエンジニアになろう~新入社員研修編~
URLリンク(www.nicovideo.jp)
302:デフォルトの名無しさん
13/06/26 19:12:44.20
無知を正当化してどうする
知ってることと実装で使っちゃうことはまったく別の話だろ
303:デフォルトの名無しさん
13/06/26 19:31:39.63
ここを読んで、ひとつ知恵がついて、客先で赤っ恥をかかないで済む
それだけでも良いんじゃない?
304:デフォルトの名無しさん
13/06/26 19:54:14.25
>>302
もう無知ではない
だが使うのは奨励されない
305:デフォルトの名無しさん
13/06/26 20:43:40.94
externとか不要だろ
全部引数で渡せよ
306:デフォルトの名無しさん
13/06/26 20:47:37.52
>>305
それでももちろんいいが、OOP言語じゃないと見通しが著しく悪くなるし、
アクセス制御も出来ないっしょ?
C言語では必要悪
307:デフォルトの名無しさん
13/06/26 20:55:28.54
定数を指すマクロも極力引数渡しするのかな…
コンパイル時ではなく起動時に確定した後、変わることはない値とか
準マクロ的に使いたくなる
308:デフォルトの名無しさん
13/06/26 20:59:27.49
普通に構造体でなんとかなる
309:デフォルトの名無しさん
13/06/26 21:00:07.61
組み込みやドライバなら許す
310:デフォルトの名無しさん
13/06/26 21:11:49.11
>>293
規格書にもポータブルでないと明記されている。
企画書の何処に書かれているか分からないゴミクズが炎上学習企んでるだけ WWWW
311:デフォルトの名無しさん
13/06/26 21:21:12.93
>>308
だからアクセス制御ないからバグが入るって
>>310
やっぱりか
クズはクズだなあ
312:デフォルトの名無しさん
13/06/26 21:22:46.79
>>311
アクセス制御とか言い出したら
グローバル変数なんて完全に開けっぴろげだろw
それに構造体も隠蔽可能だぞ
ヘッダには宣言だけ書いて
全部関数を通じて操作させればいいだけ
生成は動的になるけど
313:デフォルトの名無しさん
13/06/26 21:25:38.32
FILEの中身知ってる奴いんのか
Cで隠蔽とか普通に可能
314: ◆QZaw55cn4c
13/06/26 21:45:11.87
>>281
それができるのです(棒)
315: ◆QZaw55cn4c
13/06/26 21:46:11.61
>>283
初期化せずに宣言だけする形をとれば extern なんかつける必要はありません(棒)
316: ◆QZaw55cn4c
13/06/26 21:48:33.57
>>289
MASM5->MASM6 では EXTERNDEF なるディレクティブが新設されたくらい当たり前に新しい考え方
>俺はexternを省略するな、と教わった口だからな
本質を理解しないと新しいことに対応できなくなりますよね
317: ◆QZaw55cn4c
13/06/26 21:49:18.00
>>290-291
化石言語とやらでいまだにOSが書かれている件について
318: ◆QZaw55cn4c
13/06/26 21:49:39.68
>>295
リンカがね
319:デフォルトの名無しさん
13/06/26 21:50:43.65
>>310
>規格書にもポータブルでないと明記されている。
でそれはどこ?具体的に引用できないようでは馬鹿が喚いているのとかわらないよね
320:デフォルトの名無しさん
13/06/26 21:51:19.31
おっあぼーんが連続してるんだが
321: ◆QZaw55cn4c
13/06/26 22:05:58.49
>>293
>gccではこの場合、コンパイラが解決している模様。
コンパイラがリンクするわけがない。リンカがリンクするんだ。それを書いた奴は誰?URL をさらしてくれないか?
表からみえる gcc はコンパイラドライバであってコンパイラではない
>定義と仮定義が同時に存在する場合もコンパイラが解決している模様(言うまでもなく、定義は2つ以上存在してはならない)。
定義という言葉自体が曖昧。この問題を正確に記述するのであれば、「初期化を伴う定義」と「宣言」または「仮定義」の二つのみを使うべき
初期化を伴う定義はリンクするオブジェクトのすべてにおいて二箇所以上に存在してはならない、それだけの話だ
322: ◆QZaw55cn4c
13/06/26 22:08:41.51
>>282
残念ながらCならばそんなことをする必要はないMASM6だって必要なかったくらいだからねその著者もあやしいものだね
323:デフォルトの名無しさん
13/06/26 22:09:56.74
オブジェクトファイルを作成する時に
inline 関数などリンク時に同一にまとめられる識別子は
「複数定義を同一にまとめる」という属性を付けるけど
それの話か?
324: ◆QZaw55cn4c
13/06/26 22:10:33.44
>>310
リンカやオブジェクトファイルの仕様がCの言語仕様書に明記されるのか?かなり疑問だ
325: ◆QZaw55cn4c
13/06/26 22:12:08.85
>>279
まだまだこのネタいけるね
326:デフォルトの名無しさん
13/06/26 22:18:23.06
突然回答者のレベル下がったな
327:デフォルトの名無しさん
13/06/26 22:24:02.59
要するに環境依存って事だろ
スレ違いだ
328:デフォルトの名無しさん
13/06/26 22:26:22.51
>>327
環境依存というわりには「適用できない環境」なるものを具体的に列挙できない件について
329:デフォルトの名無しさん
13/06/26 22:33:06.23
列挙して欲しいならそう聞けよ初心者さんよ
態度でかくね?
330:デフォルトの名無しさん
13/06/26 22:39:05.27
関数と同様にリンカが未定義エラーにするのが良い感じするんだけどね
331:デフォルトの名無しさん
13/06/26 22:44:24.80
日本のIT企業は人材派遣会社でしかない
昔からある日本の大企業の社員の雇用を守る為にIT技術者が人件費抑制のために使い捨てにされていってるだけw
332:デフォルトの名無しさん
13/06/26 23:49:57.82
>>324
お前が知らないだけ。WWWW
アマゾンギフト10万円で教えてやるよ。
333:デフォルトの名無しさん
13/06/27 03:14:35.49
>>329
列挙してくださいお願いいたします
334:デフォルトの名無しさん
13/06/27 09:37:43.79
>>315
もう他の人が書いてるからあんたはいいよ。
335:デフォルトの名無しさん
13/06/27 10:54:04.07
そう?今でもここまで盛況になるのならネタとして活きがいいと思うけど
また来年くらいにやってみよー
336:デフォルトの名無しさん
13/06/27 12:12:21.23
バカな奴って物事の優先順位をちゃんとつけられないから、
くだらないところに拘って時間を無駄にするよな
337:デフォルトの名無しさん
13/06/27 13:08:41.59
>>335 >>336
こういう話の流れがわかない書き込みってなんなんだろう。
いろいろ考えて自分の頭の中ではなんかストーリーがあるんだろうけど、エスパーじゃないからわからない。
338:デフォルトの名無しさん
13/06/27 13:10:22.92
>>337
ごくろう
話は終わったんだよ
339:デフォルトの名無しさん
13/06/27 13:11:15.13
エスパーだけど分かんないよ
340:デフォルトの名無しさん
13/06/27 13:17:22.61
>>335 は上で盛り上がったexternのネタを来年にまたここで振って盛り上がるとうれしいって暇なレス乞食だろ。
>>336 はエスパーだけどわからん。
341:エスパー
13/06/27 13:45:55.47
ガッ
342:デフォルトの名無しさん
13/06/27 21:55:43.73
extern = public
static = private
343:デフォルトの名無しさん
13/06/27 22:25:42.00
extern int array[10000];
こういう定義がふくまれるヘッダーファイル
arrayを使っている(定義している)モジュールをリンクしなければarrayの領域は確保されないが、
int array[10000];
では、使う使わないに関わらず領域が確保されてしまう。
要約するとQzはうんこ
344:デフォルトの名無しさん
13/06/27 22:27:38.84
署名わすれたわ WWWW
要約するとQzはうんこ WWWW
345:デフォルトの名無しさん
13/06/27 22:29:37.45
これはでかいつりばりだ
346:デフォルトの名無しさん
13/06/27 23:35:43.97
はーいQzちゃん
いつものお客さんがご指名よ
347:デフォルトの名無しさん
13/06/28 19:11:21.34
>>342
externって実体じゃないから、違うんじゃね