C言語なら俺に聞け 139at TECH
C言語なら俺に聞け 139 - 暇つぶし2ch1:デフォルトの名無しさん(ワッチョイ 0b7b-+OgX)
17/02/22 18:55:55.41 xeEkzIw00.net
C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
URLリンク(paiza.io)
URLリンク(ideone.com)
URLリンク(codepad.org)
C11
URLリンク(www.open-std.org)
C99
URLリンク(www.open-std.org)
URLリンク(kikakurui.com)
C FAQ 日本語訳
URLリンク(www.kouno.jp)
JPCERT C コーディングスタンダード
URLリンク(www.jpcert.or.jp)

スレリンク(tech板)
URLリンク(www.geocities.jp)
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured

2:デフォルトの名無しさん (ワッチョイ 7ba1-sbgu)
17/02/22 20:12:40.70 BVjvbr4Q0.net
< `∀´>ニダー

3:デフォルトの名無しさん (ワッチョイ 8a3c-/RgJ)
17/02/23 10:08:32.31 Reif/Spj0.net
数値演算はint型が最速と言われてるけど、64bitプロセッサでも同じと考えていいかな。
実際にそう書かれてるページが多いし。腑に落ちないけどそう理解してる。
更新するビット数が少ないから高速なのか?

4:デフォルトの名無しさん (ワッチョイ a37b-mxZJ)
17/02/23 10:26:10.02 sZtROie80.net
>>3
int_fast32_t 32の部分は自分の必要な精度に入れ換えて

5:デフォルトの名無しさん (JP 0H0b-Ccab)
17/02/23 11:53:45.45 WEvoRPmmH.net
仮に単独では64ビットが最速としても
配列とかで多量に使えばキャッシュが溢れて遅くなるというケースもある
真の最速整数型が欲しいなら、対象のCPUでいろいろな組合せを試すしかない

6:デフォルトの名無しさん (ワッチョイ a319-WLWd)
17/02/24 00:43:20.13 cpdcPEPh0.net
恐れ入ります。お尋ねしてもよろしいですか。
わたくし、関数を定義いたしますマクロと、関数をお呼になられるマクロを定義いたしましたの。
関数をお呼びになられるマクロを使いましてご展開されるおり、関数を定義いたしますマクロが自動的に
ご展開なさるようにいたしたいことよ。
もしお存じ上げられるお方がいらっしゃいましたら、ぜひご意見をお伺いたくってよ。
では、ごきげんよう。

7:デフォルトの名無しさん (ワッチョイ 0a17-d4M5)
17/02/24 01:10:28.42 tA8wO5PS0.net
ナニコレ??

8:デフォルトの名無しさん (ワッチョイ 8a41-zLYe)
17/02/24 02:53:11.32 y7fe+xLc0.net
スベってるな

9:デフォルトの名無しさん (ワッチョイ 065b-LqKA)
17/02/24 05:47:55.28 NKFDYFgs0.net
C言語初心者なんです、とりあえずここまで勉強したら大体のプログラムが書けるっていうところはありますか?

10:デフォルトの名無しさん (ワッチョイ bf7b-FQj1)
17/02/24 06:59:24.53 Rno5Qv0S0.net
ありません

11:デフォルトの名無しさん (フリッテル MM96-C5po)
17/02/24 15:53:27.60 86ctwbLEM.net
>>9
構造化プログラミング
データ構造とアルゴリズム
プロセッサとメモリの基本動作原理
ポインタ
構造体
配列

12:デフォルトの名無しさん (ワッチョイ 8ec9-8lb6)
17/02/24 16:56:06.69 jIC6X1VU0.net
>>9
getoptの使い方
標準入力の読み方
printf
まずこの3つをマスターしよう

13:デフォルトの名無しさん (ワッチョイ a3e3-bUuO)
17/02/25 18:25:33.13 euV/G24E0.net
>>9
lsのソースコードを読める
がんばれ

14:デフォルトの名無しさん (ラクッペ MM33-RcHU)
17/02/26 19:23:04.12 V8RtWR1+M.net
未だにyaccなんかに頼ってちゃ駄目だ
という事で新しいパーサを一緒に考えてくれる人いません?

15:デフォルトの名無しさん (ワッチョイ 233b-8xjF)
17/02/26 20:12:59.60 Ui2+UTYM0.net
そこはもう、Haskell で書くしかないな。

16:デフォルトの名無しさん (JP 0H0b-Ccab)
17/02/26 20:31:54.73 zlk72IFVH.net
Happyだって、見た目はほぼyacc

17:デフォルトの名無しさん (ワッチョイ 1f7b-yozQ)
17/02/26 21:42:00.44 jyTublGL0.net
>>14
yaccと比べて何がどう改善されたパーサを作るのか

18:デフォルトの名無しさん (ワッチョイ 6afa-frRf)
17/02/27 07:18:08.91 0mBN5Hn20.net
yacc を使おうとして挫折したのか?

19:デフォルトの名無しさん (ワッチョイ bb7b-J5+o)
17/02/27 08:40:15.55 wcG6k+HH0.net
yaccじゃC++のパーザ記述できないだろ

20:デフォルトの名無しさん (JP 0Hc7-7RjZ)
17/02/27 08:49:45.47 cQVaqrK/H.net
>>9
他言語経験者かな?
・前方宣言とヘッダとよく使うプリプロセッサ文を把握
・メモリ配置(スタック・ヒープ・静的記憶)の違い・使い分けを把握
・文字列の概念と操作を把握
・その他Cでどういうケースでポインタが使われるかを把握
・変数が初期化されないワナを頭に叩き込む
あとはまぁ言語よりライブラリの選択と
OSやCPUの周辺知識の方が重要な事が多い

21:デフォルトの名無しさん (ワッチョイ 1f7b-yozQ)
17/02/28 19:42:47.39 4nfK1Rf+0.net
暇なのでネタ投下
x面体のサイコロy個を振って得られる出目のヒストグラムを出力するプログラムを作ろう
dice.exe 6 3 (6面体のサイコロ3個) の出力例
出目 出現回数 出現率
---- -------- ------
  3    1  0.46
  4    3  1.39
  5    6  2.78
  6    10  4.63
  7    15  6.94
  8    21  9.72
  9    25 11.57
 10    27 12.50
 11    27 12.50
 12    25 11.57
 13    21  9.72
 14    15  6.94
 15    10  4.63
 16    6  2.78
 17    3  1.39
 18    1  0.46

22:デフォルトの名無しさん (フリッテル MM96-C5po)
17/03/01 13:58:21.66 Zp9/LnCHM.net
これ組み合わせ爆発じゃないの
100 100とか
数式2,3発の繰り返しで解けるん?

23:デフォルトの名無しさん (JP 0H4a-8lb6)
17/03/01 14:12:58.32 SH8mWFxKH.net
if(scanf("%d/%d/%d",&ip[i][0], &ip[i][1], &ip[i][2]) != 3)
2016/9/31 
こんな感じにしたいだけなんですけど
このscanfの「/」って、これであってるの?

24:デフォルトの名無しさん (ドコグロ MMc2-8xjF)
17/03/01 14:56:55.78 CsmSQFfHM.net
>>22
全部数えるつもりかっ!
多項定理だけど、やり方考えれば簡単だよ。

25:デフォルトの名無しさん (ドコグロ MMc2-KtvH)
17/03/01 18:58:24.59 U+4Jaa7CM.net
>>23
あってる

26:デフォルトの名無しさん (JP 0H3f-BJNc)
17/03/02 12:18:48.45 d45T9FBrH.net
バスケットの試合だけど
1 3 2 4って入力して
1 対 3
2 対 4
scanf("%d %d", a, b);
scanf("%d %d", c, d);
戦わせたいけど、どうすればいい?
1234なら出来ます

27:デフォルトの名無しさん (JP 0H3f-BJNc)
17/03/02 12:20:28.47 d45T9FBrH.net
バスケットの試合だけど
1 3 2 4って入力して
1 対 3
2 対 4
scanf("%d %d", a, b);
scanf("%d %d", c, d);
戦わせたいけど、どうすればいい?
1234なら出来ます

28:デフォルトの名無しさん (JP 0H6f-x83U)
17/03/02 12:30:29.26 ThTFWtPOH.net
誰か、日本語に翻訳してくれる?

29:デフォルトの名無しさん (フリッテル MM7f-8aD0)
17/03/02 19:58:32.35 im503L5qM.net
scanf("%d %d %d %d", a, b, c, d);
printf("%d 対 %d\n", a, b);
printf("%d 対 %d\n", c, d);

30:デフォルトの名無しさん (フリッテル MM7f-8aD0)
17/03/02 19:59:53.68 rOcShz1+M.net
&忘れた
scanf("%d %d %d %d", &a, &b, &c, &d);

31:デフォルトの名無しさん (JP 0H3f-BJNc)
17/03/02 20:54:24.64 5j/mvvA0H.net
2431って、選択した場合、どうすればいい?

32:デフォルトの名無しさん (ワッチョイ 6b3c-BJNc)
17/03/02 21:01:29.33 1Cz3jM3f0.net
こんな短いセンテンスなのに日本語になってねぇっぇぇ

33:デフォルトの名無しさん (ワッチョイ ef5b-prdN)
17/03/02 21:51:36.92 i/E5609c0.net
>>20
c言語が初めてです

34:デフォルトの名無しさん (ワッチョイ ef5b-prdN)
17/03/02 21:52:35.03 i/E5609c0.net
>>11
おお!入門書によく書いてある!

35:デフォルトの名無しさん (ワッチョイ ef5b-prdN)
17/03/02 21:53:39.85 i/E5609c0.net
>>12
getopt?ありがとうございます

36:デフォルトの名無しさん (ワッチョイ ef5b-prdN)
17/03/02 21:55:50.31 i/E5609c0.net
>>11
cpuの作り方って本読めばいいですか?

37:デフォルトの名無しさん (アウアウカー Sa6f-tCEH)
17/03/02 22:09:22.01 5e6GrT/2a.net
ひでーなw

38:デフォルトの名無しさん (ワッチョイ 1f17-NqFr)
17/03/03 00:40:14.71 k4+TCMnG0.net
>>34
入門書読んでるならまずその本を理解したほうが早い
その入門書には>>11の事も書いてあるみたいだから
なおのことだぁね

39:デフォルトの名無しさん (ワッチョイ ef5b-prdN)
17/03/03 05:56:03.66 E6sRhrGi0.net
>>38
分かりました!ありがとうございます!

40:デフォルトの名無しさん (JP 0H3f-BJNc)
17/03/03 12:13:23.53 +HYzVfFdH.net
>>27
オレもわからん
誰かわかる人いないの?

41:デフォルトの名無しさん (フリッテル MM7f-8aD0)
17/03/03 12:26:01.73 qPJvyZtuM.net
>>40
>>29-30

42:デフォルトの名無しさん (JP 0H3f-BJNc)
17/03/03 13:45:06.80 +HYzVfFdH.net
>>31

43:デフォルトの名無しさん (ワッチョイ 0f4f-2BvX)
17/03/03 14:21:40.68 Er93SBHi0.net
>>32

44:デフォルトの名無しさん (ドコグロ MM3f-KW4d)
17/03/03 15:29:51.13 IC83RcbMM.net
>>37

45:デフォルトの名無しさん (ワッチョイ 3bba-Mt2S)
17/03/03 22:39:07.27 Jp23eHYS0.net
初めまして
CCSC社のPICコンパイラで以下の問題が出てます、多分知識不足だと思うのですが、Cの挙動に関する知識でどういう所が足りないのでしょうか?
char string[5]; //UARTを受ける変数枠
float32 sig_ch; //UARTから数字へと変換したい
GETS(string); // UART文字列をかくほ
sig_ch = atoi(string); // ここで文字列から数字に変換する(このためにstdlib.hを使う)

if(sig_ch % 16 == 0){
set_4067_00();
}
else if((sig_ch%16)/0.0625 == 1){
set_4067_01();
}
と設定しているにもかかわらず、このif-else分だけ通りません。(他のif-elseは今の所エラーは吐いてない)
if文が16にOnly integers are supported for this operation
else if 文すべては elseにA numeric expression must appear here
となっています

46:デフォルトの名無しさん (ワッチョイ 8b9b-x83U)
17/03/03 22:50:41.79 qE+VJ28k0.net
まずその前にsig_ch%16の結果は0.0625になりえないんじゃ?
(/0.0625で1になることがない)

47:デフォルトの名無しさん (ワッチョイ 8b9b-x83U)
17/03/03 22:54:39.58 qE+VJ28k0.net
あ、float型なのか
float型に剰余計算(%)は出来ないからfmodとか関数を使う

48:デフォルトの名無しさん (ワッチョイ 3bba-Mt2S)
17/03/03 22:57:05.38 Jp23eHYS0.net
そうですか?
MATLABのコンソールを使って計算した時には1の位以上に整数が出ましたがxx.0625刻みで増えて行ってくれました。
それを見て、どの型で宣言しているかは分からないけど、余りの少数も取ればいいと思っていました
あれこの場合、余りって…どこからだろう?

49:デフォルトの名無しさん (ワッチョイ 3bba-Mt2S)
17/03/03 22:59:54.16 Jp23eHYS0.net
>>47
math.hで使えるみたいですね、多分実装されているはずですので試してみます。

50:デフォルトの名無しさん (ワッチョイ 3bba-Mt2S)
17/03/03 23:17:40.37 Jp23eHYS0.net
やったぜ……解決しました(白目
*** Error 71 "main.c" Line 852(1,2): Out of ROM, A segment or the program is too large MAIN
Seg 00800-00FFF, 0580 left, need 009D0
Seg 01000-017FF, 0800 left, need 009D0
Seg 01800-01FFF, 0800 left, need 009D0
Seg 00000-00002, 0000 left, need 009D0 Reserved
Seg 00003-007FF, 0001 left, need 009D0
解決しました……orz

51:デフォルトの名無しさん (アウアウオー Sabf-aPLm)
17/03/04 00:14:41.41 U0LEsPrza.net
今度仕事で「Linux C」なる言語を使うらしのですが普通のC言語と
どう違うのでしょうか?

52:デフォルトの名無しさん (ワッチョイ 0f7b-liqg)
17/03/04 00:23:43.29 l5kdYc5I0.net
構造体初期化時のデフォルト値などを、簡単に記述できるように、C言語を拡張している
便利な記述が幾つかある。
見たことない書き方があれば、拡張記法

53:デフォルトの名無しさん (アウアウオー Sabf-aPLm)
17/03/04 00:28:42.38 U0LEsPrza.net
>>52
ありがとうございます。Linux独自拡張がなされているのですね。
自分で調べてみます。
ちょっとびびってます。

54:デフォルトの名無しさん (ワッチョイ 1f17-NqFr)
17/03/04 03:03:47.82 azJYKT3F0.net
Linux拡張っていうかgcc拡張って言うよな普通は

55:デフォルトの名無しさん (アウアウカー Sa6f-k9EO)
17/03/04 05:24:58.37 QZk9D4JAa.net
linux cって言われたら、そこそこposix準拠してるとかが本題じゃないの?
コンパイラの話とは思わないわ

56:デフォルトの名無しさん (ワッチョイ 0f7b-liqg)
17/03/04 07:11:38.33 l5kdYc5I0.net
Linux プログラミング・インタフェース、2012
manの著者が書いた、神の書!
この本の翻訳本が出版されたのは、日本だけじゃないか?
翻訳者の千住治郎が、技術指導もしている

57:デフォルトの名無しさん (ワッチョイ 1f9f-uWtv)
17/03/04 16:43:54.18 VFtHImK30.net
> 「Linux C」なる言語
初耳だったので思わずググったがそんなの無かった

58:デフォルトの名無しさん (ワッチョイ ab7b-8nUV)
17/03/04 17:16:50.40 40RMudYn0.net
>>52
>構造体初期化時のデフォルト値などを、簡単に記述できるように、C言語を拡張している
これ、なんだよ
designated initializerならC99の標準機能だぞ

59:デフォルトの名無しさん (ワッチョイ 8b7b-ERAc)
17/03/04 18:25:01.39 a1Qd0ocB0.net
C99対応がものすごい遅かったMSVCが標準だと思い込んでる人なんじゃない?たまに居るよ

60:デフォルトの名無しさん (ワッチョイ eb6f-KW4d)
17/03/04 18:49:55.83 Zd7SxADN0.net
linux cってgccのことなの?いくらなんでもgccはgccと言うんじゃ…

61:デフォルトの名無しさん (ワッチョイ 8b42-NqFr)
17/03/04 19:00:06.09 BXXAQhND0.net
多分、単にLinux上で動かせるCコンパイラってことだと

62:デフォルトの名無しさん (ワッチョイ 1f90-x83U)
17/03/04 19:46:34.97 afa8PN5D0.net
俺の予想ではapiが違うってだけのこと

63:デフォルトの名無しさん (ワッチョイ ab7b-8nUV)
17/03/04 20:35:51.73 40RMudYn0.net
ID:l5kdYc5I0がうんこだと言う事以外は謎のまま
翻訳本が必要な事を恥じろ

64:デフォルトの名無しさん (アウアウカー Sa6f-k9EO)
17/03/04 21:34:53.05 CpamcytIa.net
>>58
指示付きの初期化子と同機能で文法の違うgcc拡張は一応ある
古い拡張だし今では使う必要ないないけど、機能自体は残ってる

65:デフォルトの名無しさん (ワッチョイ ab7b-8nUV)
17/03/04 21:49:55.63 40RMudYn0.net
An alternative syntax for this that has been obsolete since GCC 2.5 but GCC still accepts is to write ‘[index]’ before the element value, with no ‘=’.
int widths[] = { [0 ... 9] = 1, [10 ... 99] = 2, [100] = 3 };
struct point p = { y: yvalue, x: xvalue };
こいつらの事?

66:デフォルトの名無しさん (ワッチョイ 0f7b-liqg)
17/03/05 00:28:44.10 WMRVohp00.net
GNU拡張
条件演算子(三項演算子とも)である ? : の書式は、
operand1 ? operand2 : operand3
ですが、このうち第2オペランドを省略すると、第1オペランドの値が真の場合、式の値は第1オペランドの値になる…というのがありまして
operand1 ? : operand3

67:66 (ワッチョイ 0f7b-liqg)
17/03/05 00:43:46.49 WMRVohp00.net
KotlinでNullチェックする、エルビス演算子、?:
横から見れば、エルビス・プレスリーの顔に見える
変数 ?: デフォルト値
変数 ?: エラー処理
変数がnullなら、後ろを処理する。
変数がnull以外 → 何もしない

68:デフォルトの名無しさん (ワッチョイ 3b51-BJNc)
17/03/05 19:59:38.94 FXcRiqza0.net
>>59
CはANSI-Cで完成しているからな。C99以降の仕様でどうしても必要なものなんてlong longくらい。

69:デフォルトの名無しさん (ワッチョイ ab7b-8nUV)
17/03/05 20:06:24.91 hQyyoOdR0.net
こういう老害死なねーかな
死んでくれ とっとた

70:デフォルトの名無しさん (ワッチョイ 6bd4-e336)
17/03/05 22:15:18.97 VTxP7/2w0.net
まあ、C99以降については、レガシーなコンパイラの下位互換性を削ることになっても
仕様を変える必要性があったのか? という気はしないでもない。

71:デフォルトの名無しさん (ワッチョイ 8b7b-ERAc)
17/03/05 22:35:20.65 qOQ2PN1U0.net
Cはもうそのままでいい気がしなくもない。
C11なんか誰が使ってんの?って感じだし。

72: ◆QZaw55cn4c (ワッチョイ ef13-QIj4)
17/03/05 22:39:34.38 Z7K8qPrE0.net
むしろC99の方がうんこだよ,C89 で十分なのに意味不明な拡張をしたC99 or later は葬りさられるべき
>>68
long long を準備するくらいなら, sizeof(int) == 8 の処理系をさっさとつくるべき

73:デフォルトの名無しさん (ワッチョイ cb3c-NqFr)
17/03/05 22:39:39.21 pZffxBVA0.net
でもgets廃止はもっと早くやるべきだった
使う側の問題ではあるが

74:デフォルトの名無しさん (ワッチョイ ab7b-8nUV)
17/03/05 22:46:24.51 hQyyoOdR0.net
externの使い方知らない素人は引っ込んでろ

75: ◆QZaw55cn4c (ワッチョイ ef13-QIj4)
17/03/05 22:54:05.78 Z7K8qPrE0.net
>>74
ライブラリ(の中で静的変数を確保するようなコード)でも書かない限り extern は不要

76:デフォルトの名無しさん (ワッチョイ cb3c-NqFr)
17/03/05 22:57:48.43 pZffxBVA0.net
externはincludeで正直訳が分からなくなった

77: ◆QZaw55cn4c (ワッチョイ ef13-QIj4)
17/03/05 23:00:05.85 Z7K8qPrE0.net
>>76
そんなときのための tentative definition

78:デフォルトの名無しさん (ワッチョイ 8b42-NqFr)
17/03/05 23:21:29.99 1JomNGIg0.net
あんまりいじり回さないで欲しいね

79:デフォルトの名無しさん (ワッチョイ 1f17-NqFr)
17/03/06 01:17:27.44 2/63ad4Z0.net
むしろレガシーコードをとっととC11に改変すべき最低でもC99

80:デフォルトの名無しさん (ワッチョイ 8b7b-ERAc)
17/03/06 01:33:56.85 k6KUwGnB0.net
C11のThreadとかは良いけど実装してるコンパイラ知らない
Genericはゴミ
他は…あれば便利だけど特定のコンパイラでビルド出来なくなるデメリットに目を瞑ってまで使いたいとは思えない

81:デフォルトの名無しさん (ワッチョイ 1fe5-kMYg)
17/03/06 02:40:03.27 i/MU6nkw0.net
kill関数ってwindows上だと機能しないんですか?
メモ帳のpidを1111として
kill(1111,SIGTERM);
としてもタスクキルされないのですが

82:デフォルトの名無しさん (ワッチョイ 6bd4-e336)
17/03/06 03:20:51.34 NUOafv2T0.net
Windowsの場合、APIを直接呼び出した方がトラブルが少ない(かも
URLリンク(support.microsoft.com)

83:デフォルトの名無しさん (ドコグロ MMbf-Y1yA)
17/03/06 07:23:55.49 HrLL0BzwM.net
そもそも既定だと SIGTERM で終了しないだろ

84:デフォルトの名無しさん (ワッチョイ ef81-fLnF)
17/03/06 07:44:56.29 c2C1QaOD0.net
いまどきCなんて使えても何の役にも立ちませんが。。

85:デフォルトの名無しさん (ワッチョイ ab7b-8nUV)
17/03/06 08:00:30.96 0PrPfpk/0.net
>>75
未だに理解してないようだな
グローバル変数を使う時に必要

86:デフォルトの名無しさん (ワッチョイ 0f24-T7IB)
17/03/06 10:51:45.16 DwMqYVii0.net
>>72
だよな
何でもかんでもゴテゴテつけるのは
ないなら作れというCの思想に反する

87:デフォルトの名無しさん (ワッチョイ ab7b-8nUV)
17/03/06 11:39:16.77 0PrPfpk/0.net
ブロック先頭以外での変数定義
designated initializer
flexible array member
compound literal
snprintf
ついてこれないジジイが使わないのは勝手だが
懐古オナニーはジジイ仲間で見せあうだけにしておけ

88:デフォルトの名無しさん (ドコグロ MMef-TqyC)
17/03/06 12:12:38.80 k/FbYHjZM.net
ブロック先頭で全変数が定義されてるとどこで使ってるのか分かりにくいよね。
ところで、一時的に使った変数を「これ以降使わないよ」って宣言できないかな?
undef みたいな感じで。

89:デフォルトの名無しさん (ワッチョイ 0f4f-2BvX)
17/03/06 12:17:05.41 GI3nM20k0.net
{ } で囲ってスコープ作れば多少コントロールしてる気分になる

90:デフォルトの名無しさん (ドコグロ MM6f-KW4d)
17/03/06 13:09:58.99 L9fnRYGMM.net
>>88
ブロック先頭で定義する方が使ってる変数が一目で分かっていいよ。
あとちゃんと設計されてる感がある

91:デフォルトの名無しさん (フリッテル MM7f-8aD0)
17/03/06 14:04:54.74 turPSodzM.net
>>84
世の中の下位レイヤのほとんどのコードがC/C++
むしろほとんどのプラットフォームで未だに活躍中なんだがな
それを知らないって本当にPGか疑わしい

92:デフォルトの名無しさん (ワッチョイ ef81-fLnF)
17/03/06 15:06:33.42 c2C1QaOD0.net
Cなんてもはや一部の組み込みでジジイが組んでるくらいだろ
C++もC#かJavaに置き換わってるよ
世の中の流れから取り残されたジジイは黙ってろよwww

93:デフォルトの名無しさん (ワッチョイ 8b7b-ERAc)
17/03/06 15:18:24.25 k6KUwGnB0.net
そのC#やJavaのVMがCやC++無しで実装できてないんだけど?

94:デフォルトの名無しさん (フリッテル MM7f-8aD0)
17/03/06 15:27:27.06 wVaOk6lpM.net
マジで言ってるみたいでビビるわ
そのVMがプラットフォーム無しで動いてるとでも?
VMも所詮プラットフォーム上で動くただの上位レイヤのアプリでしかないだがね
そんなに言うならプラットフォーム自身をそのC#やらJavaで作ってみたらいい
取り残されているのは上位レイヤしか触れない連中だよ
まずそれを自覚した方がいいマジで

95:デフォルトの名無しさん (ワッチョイ 0f4f-2BvX)
17/03/06 15:32:50.40 GI3nM20k0.net
C# やら Java のコンパイラを作るC# やら Java のコードってあるの?

96:デフォルトの名無しさん (ワッチョイ 5b4e-xEld)
17/03/06 15:32:55.63 B+jhZQKr0.net
つうかね、異なるレイヤを一緒に語るもんではないw

97:デフォルトの名無しさん (ワッチョイ ef81-fLnF)
17/03/06 15:39:25.17 c2C1QaOD0.net
なんでも一から作らなきゃいけないと思ってるバカ
C言語なんかでやってたら今主流のソフトなんて一生かかっても完成しない
C言語しか知らないバカ

98:デフォルトの名無しさん (ワッチョイ ef81-fLnF)
17/03/06 15:41:41.99 c2C1QaOD0.net
お前のそのC言語のソフト全部アセンブリで組んでみろよ

って言ってるのと同じくらいアホらしい意見でしかない

99:デフォルトの名無しさん (ワッチョイ 1f3c-LOQs)
17/03/06 15:42:54.06 lmlH3P4+0.net
若いな。
少し前の自分を見てるみたいで微笑ましい。

100:デフォルトの名無しさん (ワッチョイ 8b7b-ERAc)
17/03/06 15:45:11.54 k6KUwGnB0.net
少し前のお前こんなバカだったの?

101:デフォルトの名無しさん (フリッテル MM7f-8aD0)
17/03/06 16:15:36.45 26MVvIlFM.net
文盲しかいないな
誰も1からCで作れなんて言ってないじゃん
これだから馬鹿は困る

102:デフォルトの名無しさん (ワッチョイ ab7b-8nUV)
17/03/06 16:49:28.72 0PrPfpk/0.net
>>90
低レベルすぎる
使い捨てるループ変数を先頭で定義することが「ちゃんと設計」
constで済む変数もconstに出来なかったり
あっ、お爺ちゃんはconstなんて知らないか

103:デフォルトの名無しさん (アウアウウー Sa2f-BQ+s)
17/03/06 17:01:10.73 wb/Uuzufa.net
つかアセンブリも必要だし…なぜ用途の違いで割り切れないのか

104:デフォルトの名無しさん (ワッチョイ 5b4e-xJij)
17/03/06 17:06:52.49 B+jhZQKr0.net
揺るぎない安定感、着実な一歩。

105:デフォルトの名無しさん (ワッチョイ 4fc9-BJNc)
17/03/06 17:16:44.41 Sa3Mqufl0.net
>>102
ループ変数ってまさにブロックの先頭で宣言するよね

106:デフォルトの名無しさん (フリッテル MM7f-8aD0)
17/03/06 18:00:32.13 aYtCVo5YM.net
>>102
C言語にもconstあるよ
知らなかった?
これでまた1つ勉強になって良かったね

107:デフォルトの名無しさん (ワッチョイ 8b7b-ERAc)
17/03/06 18:18:39.71 k6KUwGnB0.net
>>106
最後の煽りはともかくそういう意味じゃないでしょ。
途中で宣言出来ないとconstに出来ないものもあるって話だと思う。
例えばこういうの
a_init(a);
const int c=f(a);

108:デフォルトの名無しさん (ワッチョイ ab7b-8nUV)
17/03/06 18:24:17.23 0PrPfpk/0.net
>>105
しねーよ

109:デフォルトの名無しさん (ワッチョイ ab7b-8nUV)
17/03/06 18:25:49.45 0PrPfpk/0.net
>>106
頭悪りーな

110:デフォルトの名無しさん (ブーイモ MM3f-R7fB)
17/03/06 18:42:01.64 X6GSlxMnM.net
for初期化時の変数宣言は確かに無いと困るね
態々ブロックで包むのもだるいし

111:デフォルトの名無しさん (フリッテル MM7f-8aD0)
17/03/06 19:31:24.39 CMFZE9+kM.net
>>107
それ出来るけど
C99かC11で

112:デフォルトの名無しさん (ワッチョイ 8b7b-ERAc)
17/03/06 19:39:13.31 k6KUwGnB0.net
>>111
だーかーらーC88で十分でブロックの先頭だけで宣言出来ればいいって言ってる奴に対して言ってるんだっての…
他人の発言を代わりに説明してあげてる俺バカみたいだからこれ以上ツッコミあっても答えねえよ

113:デフォルトの名無しさん (ワッチョイ ab7b-8nUV)
17/03/06 19:41:23.20 0PrPfpk/0.net
>>111
本当に頭悪い

114:デフォルトの名無しさん (ドコグロ MM2f-Y1yA)
17/03/06 19:45:49.72 qEORy0cSM.net
>>95
あるかどうかは知らんけど普通に作れるでしょ
テキスト読んでバイナリ吐ければいいのでモダンな言語ならできない言語の方が珍しいかと

115: ◆QZaw55cn4c (ワッチョイ ef13-QIj4)
17/03/06 20:30:36.37 M+lJg41m0.net
>>85
単なるグローバル変数をつかうのならば,tentative definition で十分

116: ◆QZaw55cn4c (ワッチョイ ef13-QIj4)
17/03/06 20:31:42.36 M+lJg41m0.net
>>88
そういうときには { } で小分けにすればいいだけ
というか,やたらめったらに変数を量産するからそんな目にあう

117: ◆QZaw55cn4c (ワッチョイ ef13-QIj4)
17/03/06 20:33:01.44 M+lJg41m0.net
>>95
Javaコンパイラ,C#コンパイラを名乗るのだったら,自分自身をコンパイルできなければだめだね

118: ◆QZaw55cn4c (ワッチョイ ef13-QIj4)
17/03/06 20:34:27.16 M+lJg41m0.net
>>112
C89 だよ,いちど文法を調べてみなよ,必要十分とはまさにこのこと

119:デフォルトの名無しさん (ワッチョイ ab7b-8nUV)
17/03/06 21:11:28.16 0PrPfpk/0.net
>>115
まだ理解してないのかバカが1匹

120:デフォルトの名無しさん (ワッチョイ ef81-fLnF)
17/03/06 22:21:37.05 c2C1QaOD0.net
バカバカ言ってるおっさん
C言語しか分からない時代遅れの上に知恵遅れだなw

121:デフォルトの名無しさん (ワッチョイ 8b7b-ERAc)
17/03/06 22:38:00.23 k6KUwGnB0.net
>>120
なんでC言語しか分からないって事がお前に解るの?

122:デフォルトの名無しさん (ワンミングク MM3f-swil)
17/03/06 22:58:16.40 HD9d9iiPM.net
天啓が下ったぁ

123:デフォルトの名無しさん (ワッチョイ ab7b-8nUV)
17/03/06 23:52:25.88 0PrPfpk/0.net
>>120
CLRやJavaVMの記述言語がわからないド底辺か

124:デフォルトの名無しさん (ワッチョイ 8b42-NqFr)
17/03/06 23:53:15.16 1xt4bVO70.net
2chを10年くらいやり続けると、
しっぽが9本生えてきて、
透視能力も身につくらしい

125:デフォルトの名無しさん (ワッチョイ ef81-fLnF)
17/03/07 00:00:35.92 O3agX0W90.net
C言語なんて安い仕事しか出来ないものにしがみついてるバカだから
当然C言語しか出来ないに決まっているw
これがバカでなきゃ何なんだよwww

126:デフォルトの名無しさん (ワッチョイ 1f17-NqFr)
17/03/07 00:26:11.17 54fjNwR80.net
C/C++, Java, C#, VB, VB.Net, Ruby, Python出来るよ
Cが出来れば他の言語は比較的かんたんに覚えられる

127:デフォルトの名無しさん (ワッチョイ dbfd-2BvX)
17/03/07 07:44:28.92 t7Ngew/R0.net
宗教家が発狂中!

128:デフォルトの名無しさん (ワッチョイ 0f24-T7IB)
17/03/07 09:22:52.75 O/JMqbZP0.net
>>125
へー、おまえ安い仕事にしかありつけないのか
低スキルですって自己紹介しなくていいのにw

129:デフォルトの名無しさん (ワッチョイ ab7b-8nUV)
17/03/07 10:06:01.46 iKWZ1BlO0.net
>>125
非正規はそう言う状態なのか? そりゃかわいそう

130:デフォルトの名無しさん (ワッチョイ 1bdc-ZIZW)
17/03/07 11:36:26.32 Op3K+dMb0.net
賃金やら契約条件やらの話はプログラマー板の方じゃないかえ?
良く知らないけど。

131:デフォルトの名無しさん (ワッチョイ 9fe1-LFAQ)
17/03/07 12:58:47.82 7YWE/8fn0.net
>>95
Javaは知らんけど、C#のコンパイラはC#製

132:デフォルトの名無しさん (ワッチョイ ab85-GPt5)
17/03/07 17:58:00.93 sN5zB8qN0.net
>>131
それは感心なこころがけだ

133:デフォルトの名無しさん (ワッチョイ 8b7b-ERAc)
17/03/07 18:06:57.58 MCZ/J11a0.net
>>131
CLRは3割がC++だけどな

134: ◆QZaw55cn4c (ワッチョイ ab85-GPt5)
17/03/07 18:25:09.22 sN5zB8qN0.net
>>87
老人のために翻訳してあげるよ
designated initializer 指示つきの初期化子 struct S { int a; int b; } Obj = { .a = 12, .b = 34 };
flexible array member 最後のメンバーが不定長構造体、でもこの技は昔から、たとえば C FAQ でもすでに言及されているよね
compound literal 複合リテラル 無名の一時オブジェクトを構文で作ることができるやつ、関数の引数で無名で T の一時変数をつくりたいときに (T){.a = 12, .b = 34} と一時変数をつくれる
snprintf シグナチャーは int snprintf(char *s, int n, const char *format) ようは sprintf() のセキュリティ強化版
初期化子がらみについて文句をいうとすれば、どうせ拡張するんだったら C++11 later に完全にあわせてほしかったね…

135:デフォルトの名無しさん (ワッチョイ ab7b-8nUV)
17/03/07 20:20:26.79 iKWZ1BlO0.net
>>134
ウソを混ぜて翻訳しなくて良い
ついてこれないんだろ
ジジイは老人会に引っ込んでろ

136:デフォルトの名無しさん (ワッチョイ ef13-QIj4)
17/03/07 20:43:36.34 C5UF9tvt0.net
>>135
どこが嘘だというのか?
具体的に指摘できないのか?

137:デフォルトの名無しさん (ワッチョイ eb6f-KW4d)
17/03/07 20:49:41.64 l+KB4C7U0.net
ゆとりvsジジイ

138:デフォルトの名無しさん (ワッチョイ ef13-QIj4)
17/03/07 20:54:39.52 C5UF9tvt0.net
URLリンク(www.youtube.com)
頭のいい人は,しゃべるときも明晰な論理を貫徹するね

139:デフォルトの名無しさん (ワッチョイ ab7b-8nUV)
17/03/07 21:08:01.87 iKWZ1BlO0.net
未だ炎上学習法実践してんか、特別に教えてやるよ
> flexible array member 最後のメンバーが不定長構造体、でもこの技は昔から、たとえば C FAQ でもすでに言及されているよね

140:デフォルトの名無しさん (ワッチョイ 1f5b-wJyW)
17/03/07 21:17:17.06 dyD8NGJK0.net
みんな相手にするんじゃないぞ。
ちょっと頭がアレなやつなんだからよ。

141:デフォルトの名無しさん (ワッチョイ 0f31-3D2C)
17/03/07 21:54:59.55 9V/NxRrg0.net
この煽りは上級者だな(煽り上級者の資格は何処で取れるんだ?)
問題はC言語で何を作るか何だけど?
やっぱり、ある程度は作るモノは決まってたりするの?

142:デフォルトの名無しさん (ワンミングク MM3f-swil)
17/03/07 22:13:28.75 jqZP77OvM.net
FPGAに書き込んでるよ

143:デフォルトの名無しさん (ドコグロ MM6f-TqyC)
17/03/07 22:36:56.12 cCh6hZTkM.net
FPGAに実装した8051で実行。

144:デフォルトの名無しさん (ワッチョイ ef81-fLnF)
17/03/08 05:32:52.19 fg5w6sCm0.net
もはやC言語の仕事なんてない
廃棄寸前の過去の組み込み機器のメンテとか?
今ならJavaか少なくともせいぜいC++だろうよ
C++もJavaかC#におきかわりつつあるし
C++も出来ない50歳くらいのジジイプログラマってたまにいるけど
だいたいブラック派遣で年収も300万くらいらしいわw
もう死ねよwww

145:デフォルトの名無しさん (ワッチョイ 8b7b-mDf3)
17/03/08 05:55:29.49 7Auc+YVy0.net
最近だと組み込みLinuxならC++ではなくてPythonかな

146: ◆QZaw55cn4c (ワッチョイ ef13-QIj4)
17/03/08 07:36:40.41 3IqnA1f/0.net
>>139
ちょっと言葉が足りなかったね
flexible array member 最後のメンバーが不定長配列(a[0]とか),結果として全体が不定長構造体,
でもやっぱりこの技は昔から C FAQ でも言及されてるんだよな‥C89 では a[0] とかけないので,a[1] にしているよ

147:デフォルトの名無しさん (アウアウカー Sa6f-/hOr)
17/03/08 08:23:34.70 Wr2kD9p+a.net
プログラムをろくに書けない奴に限って古い、新しいで騙る
プログラマは仕事によるレイヤーで語る

148:デフォルトの名無しさん (アウアウカー Sa6f-k9EO)
17/03/08 08:50:28.85 ZrUr+Lkoa.net
>>146
要素数0じゃなくて、要素数の省略だろ
というか、要素数に0を指定するのって未定義じゃなかったっけ

149:デフォルトの名無しさん (ワッチョイ ab7b-8nUV)
17/03/08 09:43:12.83 tKO0gCMl0.net
>>146
30点
ジジイは無理について来ようとしなくて良い

150: ◆QZaw55cn4c (ワッチョイ ab85-GPt5)
17/03/08 12:35:59.22 /EX97NIO0.net
>>148
そうか、要素数を0とできたのは gcc 拡張だったかもしれないね
>>149
この手のものは昔からある手法だよ、バンバンつかっていたよね、
別に flexible array membe と名前がつかなくても問題ないよね
URLリンク(www.kouno.jp)
C99 で追いついたとおもっている若者はお前かね?

151:デフォルトの名無しさん (ワッチョイ 0f24-T7IB)
17/03/08 15:00:08.45 DNe+Lf9O0.net
a[1]で書けてたのにa[0]ができるようになったからって
それは気分の問題で本質的には何も変わってないんだよ
ヤダジタするガキにくれてやるおしゃぶりという意味で_Boolと同じだ

152:デフォルトの名無しさん (ワッチョイ 0f4f-2BvX)
17/03/08 15:45:17.33 Ms4iQyEm0.net
sizeof とったときに 末尾可変実現箇所の部分の大きさが含まれるかどうか

153:デフォルトの名無しさん (ワッチョイ ab7b-8nUV)
17/03/08 15:57:06.21 tKO0gCMl0.net
>>150
30点 的外れな戯言並べても採点は変わらない
ジジイは無理すんな w

154: ◆QZaw55cn4c (ワッチョイ ab85-GPt5)
17/03/08 18:00:32.85 /EX97NIO0.net
>>151
そうだよね
C99 は全般的にいって今更感がぬぐえない
>>152
わかるが、サイズが1変わるかどうかなんて、どうでもいい問題に思っていた

155:デフォルトの名無しさん (ワッチョイ 9fe1-LFAQ)
17/03/08 18:38:53.79 ERQkfdVq0.net
C99は今更なんじゃなくて、やっと現実に近づいたというところでしょ
コンパイラ拡張に依存したり、わかりにくいマクロが減らせる

156:デフォルトの名無しさん (ワッチョイ ab85-GPt5)
17/03/08 18:45:04.00 /EX97NIO0.net
>>155
いやね、C89 で十分という気がして仕方がない
仮に C89 処理系を作っていたとして、それを C99 に適合させる気力が湧くか、考えてみるけれどもたぶんやる気がでないだろう
あの alloca() の改変である実行時領域確保配列なんかは筋悪にしかみえない、たしか C11 とか C++ ではオプションになったとか、それもよくわかる

157:デフォルトの名無しさん (ワッチョイ 6b3c-BJNc)
17/03/08 18:57:25.94 YeRun3zZ0.net
>>154
たかが1要素 されど1要素
その要素が 1バイトかもしれないし 1ページかもしれないw

158:デフォルトの名無しさん (ドコグロ MM2f-Y1yA)
17/03/08 19:53:45.80 N8HM6lINM.net
>>154
> わかるが、サイズが1変わるかどうかなんて、どうでもいい問題に思っていた
こういう奴は信用できない

159:デフォルトの名無しさん (ワッチョイ 5b4e-xEld)
17/03/08 20:38:19.19 59T19xUI0.net
VLAって筋悪か?

160:デフォルトの名無しさん (ワッチョイ bb4e-CqFM)
17/03/08 20:58:52.57 muMKoRUn0.net
>>159
正直使いどころがわからん。

161:デフォルトの名無しさん (ワッチョイ 0ba1-c3r2)
17/03/08 21:05:16.11 nYBrtmF60.net
組込分野はC89に対応してるならまだマシな部類じゃね
そうじゃないなら単にやる気の問題だろうけど

162:デフォルトの名無しさん (ワッチョイ ab7b-8nUV)
17/03/08 21:12:01.33 tKO0gCMl0.net
>>160
ループの中で繰り返し毎に異なるサイズ確保する場合に重宝する
allocaの改変とか言ってるついてこれないジジイは無視しておけ

163:デフォルトの名無しさん (ワッチョイ 0f24-T7IB)
17/03/08 21:56:56.05 DNe+Lf9O0.net
>>152
で? a[1]で書けてたときに問題になってたか?

164:デフォルトの名無しさん (ワッチョイ ab7b-8nUV)
17/03/08 22:09:34.99 tKO0gCMl0.net
>>163
a[1]では問題があった、flexible array memberで無くなった

165:デフォルトの名無しさん (フリッテル MM7f-8aD0)
17/03/08 22:45:59.22 sHqr9nhTM.net
最低でもC99は必須
俺的には少なくともstdint.hは必須

166:デフォルトの名無しさん (ワッチョイ 3b51-BJNc)
17/03/08 23:12:32.85 oksZ54sT0.net
まぁ標準化されたのはいいけど、みんなそれ以前から自前で用意してたよね。

167:デフォルトの名無しさん (ワッチョイ 0ba1-c3r2)
17/03/08 23:15:10.17 nYBrtmF60.net
まあ移植性は重要だよな

168:デフォルトの名無しさん (アウアウカー Sa6f-k9EO)
17/03/08 23:19:37.95 kUhBpeLWa.net
>>166
してるけど、64bit環境とか考慮できてない腐ったコードもあるからな
flexible array memberなんかも末尾配列の要素数に0とか1指定でそれっぽいことはできていたけど、未定義を踏まざるを得なかった
それが規格に則って書けるようになるってのは良いことだと思うけどな

169:デフォルトの名無しさん (ワッチョイ 3b51-BJNc)
17/03/08 23:25:57.49 oksZ54sT0.net
規格として移植性が良くなるのは正解なんだけど、使う側からすると、新しい規格が
十分に普及するまでは逆に移植性が悪くなるというジレンマ。

170:デフォルトの名無しさん (ワッチョイ eb6f-KW4d)
17/03/08 23:27:52.41 jyzNIqf90.net
C89で基本は完成されたね。
どうしてもC99でないと困るってことはないけど
//コメントとかinttypes.hはよく使うから、あれば便利

171:デフォルトの名無しさん (ワッチョイ bb4e-CqFM)
17/03/08 23:29:36.18 muMKoRUn0.net
>>162
その意味がわからないんだけど…
最大値を気にせず確保することなんてありえるの?

172:デフォルトの名無しさん (ワッチョイ 134e-ATAZ)
17/03/09 01:29:12.80 3g6CLylS0.net
実行時に配列のサイズが決まるわけよ。
例えば引数によってとか。

173:デフォルトの名無しさん (ワッチョイ fb4e-HNYZ)
17/03/09 02:11:21.55 Kb3gKMEf0.net
いや、だから、最大値を決めておかないのか?って事を突っ込んでいるのだが…
しかも外部入力でリミット切らないとか、セキュリティホールの典型じゃね?
で、最大値決めるって事は、可変にする必要がないって事だと思うんだが…

174:デフォルトの名無しさん (ワッチョイ 134e-ATAZ)
17/03/09 06:20:42.92 3g6CLylS0.net
つうかVLAって要素数に変数を使えることが大きいんじゃないかな
int size = a / b;
int array[size] = {0}; 
sizeは実行時に決まるが問題の無い範囲であるのが保証できる場合、
計算結果であるsizeを再利用できるのでパフォーマンスがいい

175:デフォルトの名無しさん (ドコグロ MM92-ezmg)
17/03/09 06:38:53.59 K/l9Si6sM.net
>>173
常に最大値で配列切っとけってこと?
いやそうしたけりゃお前はそうすればいいと思うよ

176: ◆QZaw55cn4c (ワッチョイ be13-H6F/)
17/03/09 07:10:53.29 hGM1T24/0.net
>>175
VLA はセキュリティの穴になりうるね,実行時の値で配列の上限が決まるなんて危険な発想ではないかい?
そんなものを標準に入れていいのか?
>>174
配列の要素数がパフォーマンスに関係することなんかないんでないかい?

177:デフォルトの名無しさん (ドコグロ MM92-ezmg)
17/03/09 07:44:22.47 K/l9Si6sM.net
>>176
(バカが使えば)
> VLA はセキュリティの穴になりうる
VLA に限った話じゃないけどね

178:デフォルトの名無しさん (ブーイモ MM92-busz)
17/03/09 08:08:41.65 dsGfio+6M.net
VLAそのものがセキュリティホールになる理由がわからん
外部入力でサイズが決まるとしても起こりうるのは
スタックオーバーフローくらいのもんだろ
そんなのは再帰が深くなりすぎても起こる
たとえmallocに変えたところで問題がスタックからヒープに移るだけ

179:デフォルトの名無しさん (ワッチョイ 0719-9O7/)
17/03/09 08:08:57.49 F9CUJ5lt0.net
if(size <100){
int array[size] = {0};
}
解決策考えたよ

180:デフォルトの名無しさん (ワッチョイ bf7b-WeoV)
17/03/09 08:29:50.20 QUckDsXy0.net
>>173
何言ってんだバカ
VLAのサイズと最大値は全く独立だ
お前の心配するセキュリティホールの実例出してみろよ
笑ってやるから

181:デフォルトの名無しさん (ワッチョイ fb4e-HNYZ)
17/03/09 08:59:36.08 Kb3gKMEf0.net
>>180
google で
「スタックオーバーフロー セキュリティ」
を検索して最初に表示されるページを読んでから反応しなよ…

182:デフォルトの名無しさん (ワッチョイ 0719-9O7/)
17/03/09 09:08:20.35 F9CUJ5lt0.net
>>181
そのサイト凄いな、時間計って読んでみたらちょうど5分で読み終わった。

183:デフォルトの名無しさん (ワッチョイ bf7b-WeoV)
17/03/09 09:14:10.67 QUckDsXy0.net
>>181
とっとと、実例を出せよ
笑ってやるから
スタックオーバーフローのメカニズムわかってないだろ w

184:デフォルトの名無しさん (ワッチョイ 364f-aizu)
17/03/09 09:31:48.50 iRW4jXC40.net
外部から悪意あるコードを突っ込んでそのコードにジャンプさせうることが
VLAの機構の中にリスクが内在してて可能になっちゃうということ?

185:デフォルトの名無しさん (ワッチョイ 0719-9O7/)
17/03/09 09:50:34.19 F9CUJ5lt0.net
int array[size] ; で。
sizeをリターンアドレスの一個前にもってくるようにして
次に都合よくgetsが出てくるから、そこでジャンプ後のアドレス+
悪意あるコードを入力すると関数から戻ったとき悪意あるコードが
実行されるってことを言いたいんだろ

186:デフォルトの名無しさん (ワッチョイ bf7b-WeoV)
17/03/09 10:00:19.43 QUckDsXy0.net
>>176
>VLA はセキュリティの穴になりうるね,実行時の値で配列の上限が決まるなんて危険な発想ではないかい?
>そんなものを標準に入れていいのか?
snprintf不要と言ってるジジイの発言らしくないな

187:デフォルトの名無しさん (ワッチョイ e6c9-2hGO)
17/03/09 11:39:27.23 LxMtt/hf0.net
ラン・オーバー・ラン

188:デフォルトの名無しさん (ワッチョイ 364f-aizu)
17/03/09 11:46:44.45 iRW4jXC40.net
Run "CINDY" Run

189: ◆QZaw55cn4c (ワッチョイ bf85-BkNt)
17/03/09 12:19:27.12 9nAslxZ/0.net
C99にわかはこれだから困る
>>180
>VLAのサイズと最大値は全く独立だ
では聞くが、VLA はどこに確保されるの?スタックなの?ヒープなの?

190:デフォルトの名無しさん (ワッチョイ 134e-ATAZ)
17/03/09 14:10:16.74 3g6CLylS0.net
>>176
パフォーマンスに影響する(場合がある)のは、要素数じゃなく式の値(a / b)の再利用

191:デフォルトの名無しさん (ワッチョイ 134e-ATAZ)
17/03/09 14:17:05.30 3g6CLylS0.net
まあ最大値で確保すれば解決する、というかVLA未サポートならそうするわけだけど、
VLAが使えるなら使っちゃうなあ

192:デフォルトの名無しさん (ワッチョイ bf7b-WeoV)
17/03/09 15:18:40.35 QUckDsXy0.net
>>189
ついてこれないジジイは無理すんな
スタック領域を1000000以上拡張出来ないと仮定して
int a[1000000];
int l = 1000000;
...
int a[l];
どちらも拡張失敗するのは実行時
VLAだから失敗するわけじゃない
snprintfに関しての言い訳はしないのか?

193: ◆QZaw55cn4c (ワッチョイ bf85-BkNt)
17/03/09 18:29:43.99 9nAslxZ/0.net
>>192
質問を繰り返そう
VLA はどこに確保されるの?スタックなの?ヒープなの?はっきりさせてよ
>snprintf
安全だからありがたく使わせていただきますけれども、C99 の目玉ってわけでもないかと

194: ◆QZaw55cn4c (ワッチョイ bf85-BkNt)
17/03/09 18:33:38.26 9nAslxZ/0.net
>>191
そうなんだ…
新しいものを避けるのは、私ももう老人ってことかもね
alloca() をバンバン使ってる口だから(alloca() は実装されてない系もある)、そこんところの実装がはっきりしてるんだったら使ってもいいかな

195: ◆QZaw55cn4c (ワッチョイ bf85-BkNt)
17/03/09 18:44:49.43 9nAslxZ/0.net
>>168
なるほどね、規格になった、てことで意味があるんだね
flexible array member も VLA も昔からある作法だし、C89 で十分だ、って頑なに思っていたけれども考え直してもいいかもね

196:デフォルトの名無しさん (ドコグロ MM27-ezmg)
17/03/09 18:47:48.68 LA1Z4pgPM.net
>>191
最大値の大きさによるけどでかいなら俺はヒープにとる

197:デフォルトの名無しさん (ワッチョイ bf7b-WeoV)
17/03/09 18:57:57.10 QUckDsXy0.net
>>193
>>192で回答済みだが、ジジイは分からないようだから答えてやろう
固定長アレイが確保されるのと同じ領域
大部分の実装ではスタック
で、それが何か?

198:デフォルトの名無しさん (JP 0H1f-busz)
17/03/09 18:58:32.59 9TBsKkVvH.net
>>193
どこに確保されるかわかると嬉しいことでもあるの?
実際、どこに確保されるかは決まっていない

199:デフォルトの名無しさん (ワッチョイ bf7b-WeoV)
17/03/09 18:59:10.03 QUckDsXy0.net
>>195
>flexible array member も VLA も昔からある作法だし、
ねーよ、ジジイ

200:デフォルトの名無しさん (ブーイモ MM2b-9hUc)
17/03/09 19:17:51.15 fyCowO4bM.net
C99は便利機能が云々ってよりは
クリーンなコードの為のガイドラインに近い気がする

201:デフォルトの名無しさん (ワッチョイ bf85-BkNt)
17/03/09 19:30:40.14 9nAslxZ/0.net
>>198
そうだね、強いて述べると安心感だね
alloca() とからくりが同じなら、よくわかるし、なによりも今までずっと使ってきたから安心だ、そこんところは規格に書いてないの?
>>198
VLA の確保領域がスタックなら、十中八九それは alloca() と同じだろうね
いいたいことは、C99 の大部分が、C89 ですでにやってきたことだ、ということだよ
>>86
>ついてこれないジジイが使わないのは勝手だが
とあるが、
実のところ、諸々のことは昔からやってきたことで、C89 を味わっているクラスとしては、C99 は今更感が強いんだよ
いや、今更感というのもしっくりこないな、なんというか、字面だけで見栄えがいいというだけで規格している、というか、
スタックかヒープかをはっきりさせないところというか
少なくとも、C++11 の右辺値参照ほどのインパクトは、ない
>>199
それは無知というほかはない

202:デフォルトの名無しさん (ワッチョイ bf7b-WeoV)
17/03/09 19:54:01.97 QUckDsXy0.net
>>201
>それは無知というほかはない
まさかc faq 2.6がflexible array memberだと言う主張が?
これまでの戯言読む限りはそうっぽいが w

203: ◆QZaw55cn4c (ワッチョイ bf85-BkNt)
17/03/09 19:56:31.69 9nAslxZ/0.net
>>202
そのとおりだよ
そうじゃないというのなら、
お前のいうところの flexible array member を使ったコードを書いてみてくれないかな?
お前のいうところの flexible array member の必要性を明示するコードを頼む

204:デフォルトの名無しさん (ドコグロ MM27-ezmg)
17/03/09 20:02:02.08 LA1Z4pgPM.net
あの~、セキュリティ云々の話は知ったかしちゃいました
って言うことでいいのかな?

205:デフォルトの名無しさん (ワッチョイ 0719-9O7/)
17/03/09 20:13:40.89 F9CUJ5lt0.net
自分の書いたコードがいつか世界中に出回ってインジェクションアタックの標的にされるかもしれない
そんなふうに考えていた時期が俺にもありました

206:デフォルトの名無しさん (ワッチョイ bf7b-WeoV)
17/03/09 20:18:03.80 QUckDsXy0.net
>>203
ジジイのくせに基本的なこと知らねーのな
c faq 2.6はstruct hackと呼ばれる【技法】
初めは長さ1のアレイで実装されてた
gccだかどっかが長さ0のアレイを許して大きさの計算を楽にした
でも、規格に完全に適合して無かった
大きな長さのアレイで実装する事が提案されたが、とてもダサかった
struct hackを規格に適合して実装するためのC99の【言語機能】がflexible array memberだ

207:デフォルトの名無しさん (ワッチョイ bf7b-WeoV)
17/03/09 20:21:37.39 QUckDsXy0.net
>>201
>実のところ、諸々のことは昔からやってきたことで、C89 を味わっているクラスとしては、C99 は今更感が強いんだよ
>いや、今更感というのもしっくりこないな、なんというか、字面だけで見栄えがいいというだけで規格している、というか、
>スタックかヒープかをはっきりさせないところというか
長くやってても、何も理解していないと言う悪い見本

208:デフォルトの名無しさん (ブーイモ MM2b-busz)
17/03/09 20:39:48.15 eJ64f19XM.net
C99の規格にスタックとかヒープとかいう概念はなかったはず

209: ◆QZaw55cn4c (ワッチョイ be13-H6F/)
17/03/09 21:02:30.09 hGM1T24/0.net
>>206
つまり C FAQ 2.6 が発展解消 flexible array member につながるんだね
結局,昔からやってきたことだね,VLA も同じだね
>>208
まあ,そうだが

210: ◆QZaw55cn4c (ワッチョイ be13-H6F/)
17/03/09 21:07:29.41 hGM1T24/0.net
>>204
あはは,alloca() と同じだったんなら,まあ VLA でもいっか‥と転向しました,てへぺろ

211:デフォルトの名無しさん (ワッチョイ bf7b-WeoV)
17/03/09 21:15:22.33 QUckDsXy0.net
>>209
【技法】と【言語機能】の区別つけような ジジイ

212:デフォルトの名無しさん (ワッチョイ bf7b-WeoV)
17/03/09 21:17:42.13 QUckDsXy0.net
>>210
あー、つまりVLAがどこに確保されるか知らないで
筋悪っ とか言ってたって事ね 死ねジジイ

213:デフォルトの名無しさん (ブーイモ MM2b-busz)
17/03/10 00:57:30.56 +YP/FacCM.net
で、セキュリティホールの話は?

214:デフォルトの名無しさん (ワッチョイ bf7b-WeoV)
17/03/10 01:08:50.79 1BLND3090.net
181 デフォルトの名無しさん (ワッチョイ fb4e-HNYZ)[] 2017/03/09(木) 08:59:36.08 ID:Kb3gKMEf0
>>180
google で
「スタックオーバーフロー セキュリティ」
を検索して最初に表示されるページを読んでから反応しなよ…

215:デフォルトの名無しさん (ブーイモ MM2b-busz)
17/03/10 01:22:38.60 +YP/FacCM.net
>>214
環境によって順位が変わりうるので具体的なURLよろ

216:デフォルトの名無しさん (ワッチョイ 3672-1om1)
17/03/10 02:56:17.07 7J5p523R0.net
valgrindでexpとかtanがエラー出るのなんでだろう

217: ◆QZaw55cn4c (ワッチョイ be13-H6F/)
17/03/10 07:35:26.46 Jt0Ka4fq0.net
>>212
alloca() をずっと使ってきたといったろう?VLA もおそらくそんなところだろうと想像してはいたね,
ただ筋悪だと思うことは今でも変わらないよ,配列は普通に固定長で書いたほうがいい,という主観だからね
ただここで意見をいただいて(お前からもいただいた,と思っているよ)スタンスの一部が変わったかもしれない
>>211
>>206 までさも大事なことのように出し惜しみしていた内容だが
実は >>168 ですでに述べられていることだったね

218:デフォルトの名無しさん (ドコグロ MMca-ezmg)
17/03/10 08:06:05.30 V/tY9QS2M.net
>>217
お前がやることは
知ったかしてよく知らないのに >>173 のレスをしてしまいました
ごめんなさい
だろ

219:デフォルトの名無しさん (アウアウカー Sa7f-K8Mp)
17/03/10 08:33:50.79 9tLH1/xpa.net
技術的な議論で人格攻撃するのはやめなよ

220:デフォルトの名無しさん (ワッチョイ bf7b-WeoV)
17/03/10 08:43:28.66 1BLND3090.net
おい、ID:Kb3gKMEf0出て来いよ

221:デフォルトの名無しさん (ワッチョイ 364f-aizu)
17/03/10 08:59:33.13 USScrCM40.net
VLAだからこそ、それがセキュリティーホールになるに至ってない
スタックオーバーフローは起こせるけど
そこからどうやってセキュリティーホールたる
悪意のあるコードの注入と実行に至るのか知りたい
確保サイズを超えての書き込み(オーバーラン)は
セキュリティーホールに成り得るけど、それはVLAだろうが固定だろうが同じだし

222:デフォルトの名無しさん (ドコグロ MM83-pmxy)
17/03/10 09:12:05.47 OTPF9/DXM.net
>>220
次に出てくる確率はどのくらいだろうね?

223:デフォルトの名無しさん (ワッチョイ bf7b-NGN/)
17/03/10 09:15:12.97 1BLND3090.net
>>217
VLAがどこに確保されるか確認したくて粘着してたと言い訳するのか?
じゃ、答え合わせが終わったところで、
> VLAのサイズと最大値は全く独立だ
につけてきた言いがかりは撤回するって事だな。

224:デフォルトの名無しさん (ワッチョイ bf7b-NGN/)
17/03/10 09:54:31.76 1BLND3090.net
ID:Kb3gKMEf0は逃亡しちゃったようだからもう一匹の当事者
セキュリティの穴を説明しろ
>>176 : ◆QZaw55cn4c (ワッチョイ be13-H6F/)2017/03/09(木) 07:10:53.29 ID:hGM1T24/0
> >>175
> VLA はセキュリティの穴になりうるね,実行時の値で配列の上限が決まるなんて危険な発想ではないかい?
> そんなものを標準に入れていいのか?

225:デフォルトの名無しさん (ワッチョイ 0719-9O7/)
17/03/10 10:02:29.68 YR4SAqR10.net
セキュリティーの穴とはセキュリティーホールの事です
セキュリティーホールとは安全のホールの事です
安全のホールとは安全の穴の事です。
安全の穴とは自分で調べろカスということです。

226:デフォルトの名無しさん (エーイモ SEb2-j8zu)
17/03/10 11:15:35.92 +H2nFcdAE.net
苦cで学んでるけどc難しい

227:デフォルトの名無しさん (アウアウウー Sa93-gCpv)
17/03/10 12:34:51.49 6UnBWLdUa.net
苦Cくらいの基礎的な部分は他の高級言語と比べるとわかりやすいと思うけどね
そいつらよか機械寄りの言語だからブラックボックスが少ないし
ただ暗記より理解が大事にはなる
人間の視点を捨てて機械の気持ちになるんだ

228:デフォルトの名無しさん (ドコグロ MM83-UZLy)
17/03/10 12:46:04.08 b/HgXddWM.net
俺は人間をやめるぞ!

229:デフォルトの名無しさん (ワッチョイ 0719-9O7/)
17/03/10 13:47:06.37 YR4SAqR10.net
妖怪人間になるのか?

230:デフォルトの名無しさん (ワッチョイ af7b-aox5)
17/03/10 13:56:43.32 LsCbePTG0.net
メーテル・・・

231:デフォルトの名無しさん (ワッチョイ bf85-aizu)
17/03/10 18:35:04.54 JlJm70jl0.net
>>223
「VLA って alloca() のことじゃない、類似品なら C89 のときからあるよね」
「flexible array member って C FAQ に書いてあるじゃない、類似品なら C89 のときからあるよね」
「C99 についてこれないと老人よばわりするけど、実は昔からあるよね」

232:デフォルトの名無しさん (ワッチョイ bf85-BkNt)
17/03/10 18:40:21.38 JlJm70jl0.net
>>218
>>173 は別人だよ
でもね、スタックに配列を置くんだったら基本固定長だね、まあ alloca() を使ってみたりするくらいだから自分も首尾一貫はしていないのは認めるけどね
>>173 の指摘はするどいね
>外部入力でリミット切らないとか、
自分もこわくてできないね

233:デフォルトの名無しさん (ワッチョイ bf7b-NGN/)
17/03/10 19:05:25.98 1BLND3090.net
>>231
>>217
VLAがどこに確保されるか確認したくて粘着してたと言い訳するのか?
じゃ、答え合わせが終わったところで、
> VLAのサイズと最大値は全く独立だ
につけてきた言いがかりは撤回するって事だな。

234:デフォルトの名無しさん (ワッチョイ 0719-9O7/)
17/03/10 19:06:34.39 YR4SAqR10.net
俺はリミット切らないぜ~ワイルドだろ~

235:デフォルトの名無しさん (ワッチョイ bf7b-NGN/)
17/03/10 19:10:43.67 1BLND3090.net
>>232
allocaは平気で使ってるようだけど、なんでVLAは
> >外部入力でリミット切らないとか、
> 自分もこわくてできないね
これなんだ? 謎

236:デフォルトの名無しさん (ドコグロ MMca-ezmg)
17/03/10 19:32:49.66 V/tY9QS2M.net
>>232
別人ならすまん
> >>173 の指摘はするどいね
> >外部入力でリミット切らないとか、
> 自分もこわくてできないね
これはセキュリティホールの話かね?
そうだと言うならどこがどう危険なのか詳しく説明して欲しいんだが

237:デフォルトの名無しさん (ワッチョイ bf85-BkNt)
17/03/10 19:33:05.83 JlJm70jl0.net
>>235
首尾一貫していないのは認めるよ、でもスタックに何でも乗せまくるのは怖いね
データをスタックに置き、スタックからヒープに移す一連の作業では、データ用の配列は固定長にするね、そこらへんは慎重にやってるよ
alloca のいいところは使い捨てができるところだね
いいたいことは >>231

238:デフォルトの名無しさん (ワッチョイ bf85-BkNt)
17/03/10 19:37:50.00 JlJm70jl0.net
>>236
セキュリティホールも視野にいれているが、直接は関係ないかもしれないね
セキュリティホールは、書いている時点では予想もつかないところがあるから(ミスは事前にはわからない)
自分の能力を考えて、スタックには固定長をあてるようにしているよ
固定長の定数を最低限に振って(N=2 くらい)、それでも正常に動くことを確認したりしてから N=1024 とか 4096 とか適当にわりふっているよ
自分の能力を過信しないことだよ
だから VLA は使わない

239:デフォルトの名無しさん (ドコグロ MMca-ezmg)
17/03/10 19:59:52.49 V/tY9QS2M.net
>>238
もう言ってることがむちゃくちゃだな...
> セキュリティホールも視野にいれているが、直接は関係ないかもしれないね
結局関係あるかどうかも知らないのに
> >>173 の指摘はするどいね
とか言ってたのかよ
> セキュリティホールは、書いている時点では予想もつかないところがあるから(ミスは事前にはわからない)
今の話に関係ないよな
> 自分の能力を考えて、スタックには固定長をあてるようにしているよ
お前の能力なんてどうでもいいし、プログラムの作り方もどうでもいい(部下がやってたら張り倒すけど)
> 自分の能力を過信しないことだよ
鏡を見た方がいいぞ
> だから VLA は使わない
これもどうでもいい結論だな

240:デフォルトの名無しさん (JP 0H1f-busz)
17/03/10 20:00:22.53 cy2JzExTH.net
allocaは使うのに?

241:デフォルトの名無しさん (フリッテル MM0e-X9Oq)
17/03/10 20:06:19.22 Y9Psq7+lM.net
1関数でスタッフを使っていいのはせいぜいキロバイトオーダーまで
メガバイト以上はヒープ推薦

242:デフォルトの名無しさん (ワッチョイ 0719-9O7/)
17/03/10 20:06:51.85 YR4SAqR10.net
VLAは政府の陰謀だから使っては駄目だ

243:デフォルトの名無しさん (ワッチョイ f217-csvI)
17/03/10 20:44:24.96 n8W4k0Sb0.net
Windowsのカーネルモードは12KBのスタックサイズ制限があるので、ひとつの関数で数KBスタックを使うのはかなり贅沢。

244: ◆QZaw55cn4c (ワッチョイ be13-H6F/)
17/03/10 20:45:49.50 Jt0Ka4fq0.net
>>240
まあ,そうだね

245:デフォルトの名無しさん (ワッチョイ bf7b-NGN/)
17/03/10 21:57:09.32 1BLND3090.net
>>238
非標準ライブラリのallocaは使うのにVLAを使わない理由はなんだ
逃げてないで答えろよ

246:デフォルトの名無しさん (ワッチョイ bf7b-NGN/)
17/03/10 21:59:24.00 1BLND3090.net
>>238
非標準ライブラリのallocaはセキュリティ上問題ない(だから使う)として
一方でVLAはセキュリティ上問題あるとしている根拠を述べよ

247:デフォルトの名無しさん (ワッチョイ 723c-T4+7)
17/03/11 00:59:17.54 99Bu6VN70.net
VLAって本当になんであるんだろうな。
ソフトウェアの脆弱性を誘発するためにNSAやアメリカ政府が無理やりぶち込んだ仕様としか思えない。

248:デフォルトの名無しさん (ブーイモ MM92-busz)
17/03/11 01:24:57.09 37V8Z39XM.net
>>247
どんな脆弱性?

249:デフォルトの名無しさん (ワッチョイ cfd4-nt29)
17/03/11 01:44:41.71 o4rVijF20.net
>>241
スタックサイズ拡張したらダメなの?

250:デフォルトの名無しさん (ドコグロ MMca-ezmg)
17/03/11 05:56:56.37 0cGmXZ4gM.net
>>247
> NSAやアメリカ政府が無理やりぶち込んだ仕様としか思えない。
基地害の妄想

251:デフォルトの名無しさん (ドコグロ MMca-ezmg)
17/03/11 05:58:26.88 0cGmXZ4gM.net
>>249
>>243 みたいに拡張できないケースは少なくない

252:デフォルトの名無しさん (ワッチョイ f338-9O7/)
17/03/11 08:06:11.09 zScGv76W0.net
URLリンク(www.youtube.com)
C言語マスターの生放送開始 お前らに指南してやんよ

253:デフォルトの名無しさん (ワッチョイ 0742-2hGO)
17/03/11 09:07:47.31 qsNY6D990.net
wikipedia
VLA
超大型干渉電波望遠鏡群(Very Large Array,VLA)
軽量飛行機 (Very Light Aircraft) - 欧州における航空機分類の一つ
垂直発射アスロックミサイル(Vector Launch ASROC)
ボランティア法律家による芸術支援団体(Volunteer Lawyers for the Arts,VLA)
ヴィオラ (Viola) の略称 (vla, va) - ヴァイオリン族の弦楽器
陰謀だな
まちがいない

254:デフォルトの名無しさん (ワッチョイ fe81-1sZU)
17/03/11 12:50:26.01 hyZtRr/u0.net
C#なら一行で終わる内容をCは20~30行必要w
老い先短いジジイどもは死ぬまでCで書いてろwww

255:デフォルトの名無しさん (ワッチョイ be41-/tS9)
17/03/11 13:11:24.12 awln0KGk0.net
>>254
なんでC#は一行で済むと思う?

256: ◆QZaw55cn4c (ワッチョイ bf85-BkNt)
17/03/11 15:26:38.47 sAcoRj840.net
>>239
お前は自分の論理を信用しすぎる
URLリンク(en.wikipedia.org)
>>173
の指摘は鋭いと思うよ、外部入力でリミットを切らないのは悪手の典型だ
繰り返していっておくが、セキュリティホールは事前には書いている本人にもわからない
だから定石を信用して事を始めたほうが悪い結果がやってこない場合が多い
スタックあふれは発生してはじめてわかる、リンかのオプションを指定しても根本的解決にならない
毎月の windows update が一向に減らない理由も考慮しておいたほうがいい
C99 の可変長配列は、安易にスタックを大盛りにする悪手に誘導するという点で、筋悪だと主張している
(でも私は alloca は使うけどね :-)

257:デフォルトの名無しさん (ワッチョイ bf85-BkNt)
17/03/11 15:27:36.34 sAcoRj840.net
>>246
alloca はスタック上に展開することがはっきりしているからね、でも C99 の VLA は実装上の指定は規定にはないのでは?

258:デフォルトの名無しさん (ブーイモ MM2b-busz)
17/03/11 15:36:12.19 VKYuFzhGM.net
なんでスタック上にあることが確実なら安全になるの?

259:デフォルトの名無しさん (ワッチョイ bf7b-WeoV)
17/03/11 15:40:27.05 fayNaA1W0.net
>>256
逃げずに答えろ
非標準ライブラリのallocaはセキュリティ上問題ない(だから使う)として
その一方でVLAはセキュリティ上問題あるとしている根拠を述べよ

260:デフォルトの名無しさん (ワッチョイ 0719-9O7/)
17/03/11 16:03:26.08 +8AcHZCs0.net
VLAはallocaのシンタックスシュガーだろシンタックスシュガーに
よってarray[size]のsizeがマクロか変数か気にしなくてよくなった。
きにしなくなるということは考えなくなるということだから
何も考えず配列を手軽に使えなくなったということだよ。

261:デフォルトの名無しさん (ワッチョイ 723c-ezmg)
17/03/11 16:06:18.87 d5jme4tX0.net
>>256
前半は VLA 固有の話じゃないよな
> C99 の可変長配列は、安易にスタックを大盛りにする悪手に誘導するという点で、筋悪だと主張している
根拠のない主張はチラ裏にでも書いとけ

262: ◆QZaw55cn4c (ワッチョイ be13-H6F/)
17/03/11 16:09:24.59 7UjqbkJQ0.net
>>260
>VLAはallocaのシンタックスシュガーだろ
規格には書いていないけれども,まあ同意するね >>213
でも,スタック大盛りに誘導するのは筋悪だろう?
>>259
alloca() にセキュリティ上の問題がないとは主張していないよ
setjmp()/longjmp() と同じで,悪い使い方をすれば,当然バグる

263:デフォルトの名無しさん (JP 0H1f-busz)
17/03/11 16:12:09.28 bM520vnYH.net
allocaはスタック大盛りに誘導しないの?

264: ◆QZaw55cn4c (ワッチョイ be13-H6F/)
17/03/11 16:15:28.58 7UjqbkJQ0.net
もともとのお題は >>87 >>134 >>135 >>139 で,
最終的な回答は >>231 だよ,セキュリティの話は派生的な話題で,正直どうでもいい

265:デフォルトの名無しさん (ワッチョイ 0719-9O7/)
17/03/11 16:22:03.96 +8AcHZCs0.net
[]のなかが数字のときはもはやVLAの特別な場合になってしまったんだよ。
VLAを使わないないと思っても実はみんな使ってるんだよな。

266:デフォルトの名無しさん (ワッチョイ 725b-Zg/o)
17/03/11 16:22:22.50 m3w8ys+M0.net
>>264
もう相手にしなさんな。
複数の端末を使い出してるしよ

267:デフォルトの名無しさん (ワッチョイ bf7b-NGN/)
17/03/11 16:35:26.69 fayNaA1W0.net
>>264
allocaを使って、VLAは筋悪といった理由は全然示してないな。
逃げずに答えろ。
> 最終的な回答は >>231 だよ,セキュリティの話は派生的な話題で,正直どうでもいい
じゃ
> VLA はセキュリティの穴になりうるね,実行時の値で配列の上限が決まるなんて危険な発想ではないかい?
> そんなものを標準に入れていいのか?
これは知ったかぶりしましたってことだな。

268:デフォルトの名無しさん (ワッチョイ bf7b-NGN/)
17/03/11 16:39:36.88 fayNaA1W0.net
>>260
> VLAはallocaのシンタックスシュガーだろ
全然違う1000年ROMってろ
for() {
char *p = alloca(size);
}
for() {
char p[size];
}

269:デフォルトの名無しさん (ワッチョイ 723c-ezmg)
17/03/11 16:51:56.73 d5jme4tX0.net
>>264
> セキュリティの話は派生的な話題で,正直どうでもいい
じゃあ絶賛していたこれは撤回でいいんだよね
> しかも外部入力でリミット切らないとか、セキュリティホールの典型じゃね?

270:デフォルトの名無しさん (ワッチョイ ef6f-/mQW)
17/03/11 18:41:42.10 p1f1fsAr0.net
allocaで取った領域はブロックの終わりじゃなく、関数の終わりまで開放されない
VLAはブロックの終わりで開放されるところが違う
というかallocaの落とし穴みたいな話だね、これは

271:デフォルトの名無しさん (ワッチョイ bf7b-NGN/)
17/03/12 09:00:20.57 lxzttZnn0.net
> というかallocaの落とし穴みたいな話だね、これは
C++脳の落とし穴だよ
単なるライブラリ関数が返したポインタをスコープ抜けただけで解放できるわけないじゃん

272:デフォルトの名無しさん (ワッチョイ db7b-IJma)
17/03/12 14:21:13.54 dQxGFGsK0.net
Cのコンパイルで詰まっています。
vimで表示した時にカッコが赤くなるのは何でなんでしょうか?
URLリンク(i.imgur.com)
カッコの対応はちゃんとやってると思います。。。
またこのソースをコンパイルしたときに
URLリンク(i.imgur.com)
というエラーメッセージが出ますが、これもこの部分を変えていないのに
突然エラーが出始めました。
何度見てもここの表記は間違っていません、というか変えていないので間違ってるわけありません。
これで今日の朝からずっと止まっているのですが、、、
原因が分かる方いますでしょうか?

273:デフォルトの名無しさん (ワッチョイ bf7b-WeoV)
17/03/12 14:24:07.85 lxzttZnn0.net
main( ←これが閉じていない

274:デフォルトの名無しさん (エムゾネ FF92-mCUX)
17/03/12 14:24:47.88 CrU6WH4/F.net
( と {

275:デフォルトの名無しさん (ワッチョイ db7b-oWlJ)
17/03/12 14:25:47.72 dQxGFGsK0.net
ありがとうございます死んで来ます
いつ消えたんだ…

276:デフォルトの名無しさん (ワッチョイ 0742-csvI)
17/03/12 15:15:20.20 IXx0ivIZ0.net
生きるんだ!

277:デフォルトの名無しさん (アウアウカー Sa7f-K8Mp)
17/03/12 16:58:28.23 Fl2HPIwQa.net
か、可愛いw
キモいレスバにフレッシュなコメ

278:デフォルトの名無しさん (フリッテル MM0e-X9Oq)
17/03/13 12:35:01.26 WVfxmOF7M.net
この程度のタイプミスぐらい自分で見つけられんようじゃ
先が厳しいんじゃないか
C言語に関係なく

279:デフォルトの名無しさん (スップ Sd92-oWlJ)
17/03/13 14:36:21.34 dPy5EX8Fd.net
タイプミスを見つけれるかどうかは
エディタとエラーメッセージの優秀さによるという持論

280:デフォルトの名無しさん (フリッテル MM0e-X9Oq)
17/03/13 16:10:47.81 v3XqhUuXM.net
これだけ赤く指摘してくれててまだそういうこと言えちゃうとは
人間の欲は天井知らずだな

281:デフォルトの名無しさん (ワッチョイ 13f2-jJqA)
17/03/13 16:55:25.56 tV/WpGXC0.net
与えた入力に対して期待値と異なる出力となったとき
何が起きているか洞察をする専門職のくせに
コンパイラだけが何か特別なデバイスであるかのように思い込んでいるアフォだね

282:デフォルトの名無しさん (ワッチョイ efb5-j8zu)
17/03/13 17:25:35.83 6TfSzvFh0.net
つかエラーメッセージに答えがあるじゃん

283:デフォルトの名無しさん (ワッチョイ e3dc-XjEB)
17/03/13 17:57:51.98 IkDDkkqX0.net
49行の開き括弧か86行の閉じ括弧に色が付けば
もっとエラー位置が分かりやすいとは思うけどね。
main(
の内側に書ける要素がvimの文法チェック情報に登録されていて、
それに合致しない部分が指摘される、という仕掛けかな。

284:デフォルトの名無しさん (スップ Sd92-oWlJ)
17/03/13 18:42:23.61 dPy5EX8Fd.net
>>283
言いたかったのはそういうことです
もう少しピンポイントにエラーメッセージ出せそうな気がするのですが
なかなかそうもいかないものなのだろうか

285:デフォルトの名無しさん (ドコグロ MMca-pmxy)
17/03/13 18:47:33.49 DDChi3YkM.net
コンパイラがそれを指摘してるのに。

286:デフォルトの名無しさん (アウアウカー Sa7f-K8Mp)
17/03/13 20:33:47.62 RNfJ73Ada.net
初心者だから許してやれよw
分かんなくて聞く人も周りにいなかったんだろ


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