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


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

C言語なら俺に聞け 160



1 名前:デフォルトの名無しさん mailto:sage [2022/12/28(水) 10:40:30.02 ID:PyoNDBFu0.net]
!extend:checked:vvvvv:1000:512
(新スレ立ての際上記コマンドを2行書き込んでください)
C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
codepad.org/

C17
www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4713.pdf

C11
www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf

C23 最新ドラフト
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3047.pdf

C99
www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf
kikakurui.com/x3/X3010-2003-01.html

C FAQ 日本語訳
www.kouno.jp/home/c_faq/

JPCERT C コーディングスタンダード
https://www.jpcert.or.jp/sc-rules/

※前スレ
C言語なら俺に聞け 159
https://mevius.5ch.net/test/read.cgi/tech/1659623547/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured

2 名前:デフォルトの名無しさん [2022/12/28(水) 15:59:24.74 ID:wx2BQ76Ga.net]
int main(int a, char **p)
{
return main(a, b);
}

3 名前:デフォルトの名無しさん mailto:sage [2022/12/28(水) 18:11:21.62 ID:pBXtb3fmM.net]
黄金分割の無限連分数を関数化してみて

4 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 09:42:45.42 ID:USBo1Zkr0.net]
const char *f() {return "黄金分割の無限連分数";}

5 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 10:14:02.92 ID:A5fQk0bK0.net]
再帰でたのむわ

6 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 10:20:47.88 ID:xv5xMvYFM.net]
void main() {printf("黄金分割"); f();}
void f() {printf("の連分数"); f();}

7 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 10:57:41.34 ID:wDakQQO90.net]
chatGPTに聞けばやってくれそう

8 名前:デフォルトの名無しさん mailto:sage [2022/12/29(木) 18:48:24.02 ID:pXMac1y70.net]
>>3
https://ideone.com/vd5OZJ

9 名前:デフォルトの名無しさん (ワッチョイ b363-dxp0) mailto:sage [2022/12/30(金) 11:34:59.93 ID:mcisYiLr0.net]
>>8
Good!

10 名前:デフォルトの名無しさん mailto:sage [2022/12/30(金) 23:53:32.59 ID:4Hd9NmeQ0.net]
2.c:3:16: error: 'b' undeclared (first use in this function)
3 | return main(a, b);
| ^
2.c:3:16: note: each undeclared identifier is reported only once for each function it appears in



11 名前:デフォルトの名無しさん mailto:sage [2023/01/07(土) 08:38:32.97 ID:kxyDDio80.net]
qsort(P, q, sizeof(int*), (int (*)(const void*, const void*)) [](const void* a, const void* b) -> int {
int* A = *(int**) a;
int* B = *(int**) b;
return A[0] - B[0];
});

chatGPTがこういうqsort関数の呼び出しを書いてくれる
ぜひC27くらいで導入してほしい

12 名前:デフォルトの名無しさん mailto:sage [2023/01/07(土) 10:27:43.50 ID:+0z9mIba0.net]
比較関数はそれでいいの? 差がINT_MAX超えると逆に並ぶ

13 名前:デフォルトの名無しさん mailto:sage [2023/01/10(火) 21:58:11.83 ID:DXY/Xi/G0.net]
数年後はChatGPTの呪文をデバッグしてそう

14 名前:デフォルトの名無しさん (アウアウウー Sa85-DH5p) [2023/01/11(水) 12:02:46.97 ID:6xJiw1N1a.net]
Cのコードだけど
C言語スレにふさわしい話題ではないな

15 名前:デフォルトの名無しさん mailto:sage [2023/01/13(金) 19:48:01.29 ID:iXVYq/lpd.net]
再起的に性器分布から確率密度値をランダムにサンプリングする関数がほしいニダ
直前にコールされたときの値は記憶してね💛

16 名前:デフォルトの名無しさん mailto:sage [2023/01/13(金) 20:26:08.58 ID:gif78BskM.net]
日本語でおk

17 名前:デフォルトの名無しさん mailto:sage [2023/01/14(土) 11:01:54.57 ID:g07YtgxYd.net]
正規分布の誤変換なのか語尾のせいでわからないw

18 名前:デフォルトの名無しさん mailto:sage [2023/01/14(土) 11:04:00.00 ID:+pThzqrz0.net]
最初の三文字からして、釣りネタだろ

19 名前:デフォルトの名無しさん [2023/01/15(日) 04:48:51.36 ID:FV+qvPCN0.net]
・ 性器分布と聞いて思い浮かんだイメージ

海底にチンアナゴが沢山居て出たり引っ込んだりしている分布

20 名前:デフォルトの名無しさん [2023/01/15(日) 05:05:09.71 ID:FV+qvPCN0.net]
とりあえずこれ置いときますね
https://www.youtube.com/watch?v=tIeMhy9GUhY



21 名前:デフォルトの名無しさん mailto:sage [2023/01/15(日) 08:54:36.86 ID:M5zlS1BDM.net]
正規分布の確率密度なら普通に数式通りに計算すればいいのでは?
むしろ再帰をどう適用するつもりなのか

22 名前:デフォルトの名無しさん mailto:sage [2023/01/15(日) 09:27:19.76 ID:z0zOI9oe0.net]
とりあえず正規分布
https://i.imgur.com/Z91Wmz8.png

23 名前:デフォルトの名無しさん mailto:sage [2023/01/15(日) 13:25:21.78 ID:0xsDPySbM.net]
サイコロ振って分布を見たい、みたいな

24 名前:デフォルトの名無しさん mailto:sage [2023/01/15(日) 13:42:42.59 ID:5klY35UvM.net]
サイコロ1個の目の数の分布なら(離散値の)一様分布
複数個の数の和の分布なら二項分布

25 名前:デフォルトの名無しさん mailto:sage [2023/01/15(日) 14:06:44.15 ID:vaG+Vs8v0.net]
再帰の意味がわからない

26 名前:デフォルトの名無しさん mailto:sage [2023/01/15(日) 14:11:11.67 ID:PioulXaba.net]
積分を実際に加算して計算したいとか

27 名前:デフォルトの名無しさん mailto:sage [2023/01/15(日) 14:22:16.42 ID:9Qv+ZusJM.net]
そうであれば確率密度値ではなく確率分布とか確率密度分布とか言うだろう

28 名前:デフォルトの名無しさん mailto:sage [2023/01/15(日) 21:27:39.66 ID:OcPQbdGC0.net]
確率密度値をランダムにサンプリングする関数
ってのが意味不明すぎて困る

29 名前:デフォルトの名無しさん mailto:sage [2023/01/16(月) 08:01:21.89 ID:UgMRct9ad.net]
乱数が本当に乱数だと思ってるんだろう

30 名前:デフォルトの名無しさん (スプッッ Sdea-X4Hx) mailto:sage [2023/01/16(月) 08:48:46.93 ID:V46d3ae6d.net]
今時エントロピー源には困らんだろ



31 名前:デフォルトの名無しさん mailto:sage [2023/01/16(月) 08:57:16.53 ID:kyliMul9M.net]
情報源なら分かるがエントロピー源って何だ?
エントロピーって沸いたり消えたりするものではないだろ

32 名前:デフォルトの名無しさん mailto:sage [2023/01/16(月) 09:11:22.68 ID:sSKEF+K2r.net]
許してやってくれ
彼はそれっぽい言葉を使ってそれっぽく見せることしかできないんだ

33 名前:デフォルトの名無しさん mailto:sage [2023/01/16(月) 09:24:27.05 ID:V46d3ae6d.net]
小馬鹿にしたつもりになっているようだが
無知すぎるにも程がある
せめてググってから来い

34 名前:デフォルトの名無しさん mailto:sage [2023/01/16(月) 10:01:35.01 ID:m77OBURW0.net]
-∞ to +∞ の一様乱数を x に与えて 正規分布の確率密度関数の値 F(x) を戻せばいいのか?
ただ、ここに再帰の入り込む余地があるかというと・・・?

35 名前:デフォルトの名無しさん mailto:sage [2023/01/16(月) 12:53:16.69 ID:UgMRct9ad.net]
>>30
それでも本当の乱数にはほど遠い

36 名前:デフォルトの名無しさん mailto:sage [2023/01/16(月) 13:09:48.61 ID:TL36GIFF0.net]
一週間後にまた来てください
本当の乱数をご馳走しますよ

37 名前:デフォルトの名無しさん mailto:sage [2023/01/16(月) 13:12:45.03 ID:aMx9f9AG0.net]
核物質を一週間で用意できるのか
何者だよお前

38 名前:デフォルトの名無しさん mailto:sage [2023/01/16(月) 13:32:43.95 ID:4ZJ23LCrd.net]
Core-i7にアメリシウムなんか使っとらんだろw

39 名前:デフォルトの名無しさん mailto:sage [2023/01/16(月) 13:34:52.65 ID:PlpgBGzQr.net]
疑似乱数で十分だろ

40 名前:デフォルトの名無しさん (アウアウウー Sa91-ue0x) mailto:sage [2023/01/16(月) 14:31:29.30 ID:76DWjDYoa.net]
>>36
クッソ、先に書かれたw



41 名前:デフォルトの名無しさん (スプッッ Sdea-X4Hx) mailto:sage [2023/01/16(月) 14:32:58.55 ID:SiDXGlHEd.net]
おととい来い

42 名前:デフォルトの名無しさん [2023/01/16(月) 21:36:15.99 ID:g4WuDF5W0.net]
エントロピーって乱雑さのことだろ
温度は熱さ
エントロピー源は「温度源」と同じ分類のワードだな
なにそれ

43 名前:デフォルトの名無しさん [2023/01/16(月) 21:37:06.90 ID:g4WuDF5W0.net]
ま、どうでもいいがw

44 名前:デフォルトの名無しさん mailto:sage [2023/01/16(月) 22:09:50.55 ID:M8pzDDkF0.net]
せめてググってから来いと言ってるだろ
ドヤ顔で無自覚に恥を晒してんじゃねえ

アホをニヤニヤ眺めるのは基本的に楽しいが
おまえはその域にさえ達していない

・・・あ、もしかしてアドレスがハッシュだとか熱弁してたやつか?w

45 名前:デフォルトの名無しさん [2023/01/16(月) 23:13:48.33 ID:g4WuDF5W0.net]
ググったけど特にメジャーではなさそうだったからさぁ
そもそも日本語としておかしいからそりゃそうだわな

46 名前:デフォルトの名無しさん (ワッチョイ 1dc2-K8ze) mailto:sage [2023/01/16(月) 23:34:13.74 ID:M8pzDDkF0.net]
解りたくなきゃ無理強いはせんよ

47 名前:デフォルトの名無しさん (ワッチョイ 1dc2-K8ze) mailto:sage [2023/01/16(月) 23:37:03.55 ID:M8pzDDkF0.net]
ただし、おまえは明白にスレ違い
ここにいちゃいけないやつだ

48 名前:デフォルトの名無しさん (ガックシ 06de-Vk3+) mailto:sage [2023/01/16(月) 23:48:27.10 ID:e7vknMD06.net]
乱雑さという意味だとまでわかっててなんで乱数に関係ないと思うのか

49 名前:デフォルトの名無しさん [2023/01/17(火) 00:23:19.36 ID:NbLfYJo10.net]
温度源ってワードでも温度に関係あることはわかるわな
そんなワードの意味は知らんがw

50 名前:デフォルトの名無しさん [2023/01/17(火) 00:25:59.94 ID:NbLfYJo10.net]
あぁ、そもそもエントロピーという情報理論の用語を知らないって思われてたのか
ずれまくってんなぁ



51 名前:デフォルトの名無しさん [2023/01/17(火) 00:29:29.11 ID:NbLfYJo10.net]
ま、どうでもいいがw

52 名前:デフォルトの名無しさん mailto:sage [2023/01/17(火) 00:43:55.83 ID:rXuvIeDS0.net]
エントロピは示量変数。

53 名前:デフォルトの名無しさん (オッペケ Sr6d-/dxN) mailto:sage [2023/01/17(火) 01:32:28.46 ID:PP1OxyD+r.net]
>>15
このガイジからここまで話が続くのか

54 名前:デフォルトの名無しさん (アウアウウー Sa91-HawO) mailto:sage [2023/01/17(火) 01:34:39.07 ID:95BFMKQNa.net]
誰も質問しないんだからしゃーない

55 名前:デフォルトの名無しさん mailto:sage [2023/01/17(火) 02:51:47.32 ID:Gx/YbyWZM.net]
温度なら熱源
エントロピーなら情報源
温度源やエントロピー源などという用語を使うから意味がおかしくなるんだよ

56 名前:デフォルトの名無しさん mailto:sage [2023/01/17(火) 09:48:14.76 ID:3c3JVziNd.net]
今さらググって現実を知っても
もう引っ込みつかねえんだろ

掠りもしてねえ戯れ言を垂れ流すのやめろ
迷惑だ

57 名前:デフォルトの名無しさん mailto:sage [2023/01/17(火) 09:57:56.10 ID:m9MGzG4NM.net]
プログラマなら用語の定義ぐらい意識しろ
適当なオレオレ用語でゴリ押しするなよ

58 名前:デフォルトの名無しさん mailto:sage [2023/01/17(火) 10:02:11.86 ID:m9MGzG4NM.net]
発端は>>30,31

59 名前:デフォルトの名無しさん (スプッッ Sdea-X4Hx) mailto:sage [2023/01/17(火) 11:39:38.82 ID:nJRrUvNbd.net]
ここはプログラム技術板だ
物理の話と勘違いしたバカが
いつまでも粘着してんな

60 名前:デフォルトの名無しさん (ラクッペペ MMde-VZwO) mailto:sage [2023/01/17(火) 11:46:06.94 ID:7cX8bkR/M.net]
エントロピーは物理学の熱力学や統計力学にもあるが今の話題は情報工学や計算機科学の話だろ



61 名前:デフォルトの名無しさん (ワッチョイ beda-jwHR) mailto:sage [2023/01/17(火) 11:56:11.18 ID:qLv85Q5t0.net]
物理
https://ja.wikipedia.org/wiki/%E3%82%A8%E3%83%B3%E3%83%88%E3%83%AD%E3%83%94%E3%83%BC

情報
https://ja.wikipedia.org/wiki/%E6%83%85%E5%A0%B1%E9%87%8F

62 名前:デフォルトの名無しさん (ワッチョイ b55f-wtyD) mailto:sage [2023/01/17(火) 12:29:08.74 ID:zIKNxshB0.net]
エントロピッピがさぁ

63 名前:デフォルトの名無しさん mailto:sage [2023/01/17(火) 14:11:24.27 ID:glU0Oufn0.net]
エントロピー原

M-1グランプリに出てそう

64 名前:デフォルトの名無しさん mailto:sage [2023/01/17(火) 15:48:56.91 ID:WdSY+dYLr.net]
人力のキーボードタイプ操作やマウス操作を種にして
自然の熱雑音をサンプリングして
・・・

65 名前:デフォルトの名無しさん mailto:sage [2023/01/17(火) 16:23:52.80 ID:A2sb5i63d.net]
ハードやらんやつにはわからんよな

66 名前:デフォルトの名無しさん [2023/01/17(火) 20:13:41.53 ID:reGY8TLTa.net]
弄られたくなきゃ言葉の定義くらい考えてからレスしな?w

67 名前:デフォルトの名無しさん mailto:sage [2023/01/17(火) 20:18:34.57 ID:qA7lxKdi0.net]
無知晒して何も言い返せないバカは他人のことよりまず自分の心配をしな

68 名前:デフォルトの名無しさん mailto:sage [2023/01/17(火) 20:22:19.75 ID:qA7lxKdi0.net]
ここをどこだと思っている
プログラム技術ねえやつは底辺の二番底だ

69 名前:デフォルトの名無しさん mailto:sage [2023/01/17(火) 20:23:55.07 ID:NbLfYJo10.net]
変に反応し続ける割にはGoogleに責任を押し付けるばかりでここまで情報量ゼロだもんな
温度源みたいな謎ワードと同類ではないということを示すロジックがあるなら示して頂こうか

70 名前:デフォルトの名無しさん mailto:sage [2023/01/17(火) 20:31:29.99 ID:qA7lxKdi0.net]
本当の乱数とエントロピーで何の話かわからなかった白痴に情報なんかいらねえだろ
豚に真珠ってやつだ



71 名前:デフォルトの名無しさん mailto:sage [2023/01/17(火) 20:41:17.67 ID:NbLfYJo10.net]
このように反応する割にはなんの弁明もなくレッテル張るだけなんです。
これをまさしく「悪あがき」というのでしょう。

72 名前:デフォルトの名無しさん mailto:sage [2023/01/17(火) 20:42:50.74 ID:qA7lxKdi0.net]
乱数とエントロピーの関係がわからんやつを
プログラム技術板でバカと言うことの何が悪あがきなんだか

バカで済んでることに感謝しろや

73 名前:デフォルトの名無しさん mailto:sage [2023/01/17(火) 20:48:05.96 ID:NbLfYJo10.net]
誤解のフリをして突かれている部分を誤魔化していますがそのような安易な策が通じると思っているのでしょうかね
ま、思っているからこそ実践しているのでしょう。

74 名前:デフォルトの名無しさん mailto:sage [2023/01/17(火) 20:51:55.91 ID:qA7lxKdi0.net]
エントロピーを物理の話と誤解したバカが何を誤魔化したいの?
自らの精神分析を俺に聞かされても困るんだが

75 名前:デフォルトの名無しさん mailto:sage [2023/01/17(火) 21:00:12.90 ID:NbLfYJo10.net]
いえいえ、そのようなことはございませんよ
どの辺でそのように判断されたのか是非お聞かせください。
もちもん、特になければ今まで通り一方通行でお話しを続けられても構いません

76 名前:デフォルトの名無しさん mailto:sage [2023/01/17(火) 21:05:58.17 ID:qA7lxKdi0.net]
まあ匿名掲示板だからね
シラを切れば全てをリセットできる

今までの引っ込み付かなくなったあんたがいなくなって
マトモな別人になってくれるならこっちもありがたい

77 名前:デフォルトの名無しさん mailto:sage [2023/01/17(火) 21:23:04.17 ID:KfRCDoQT0.net]
まあ熱雑音も実際には色つき

78 名前:であって
全てのバンドを網羅する白色ではないわけだが
目的用途によってはそれでも十分に乱れてる扱い出来ると
[]
[ここ壊れてます]

79 名前:デフォルトの名無しさん mailto:sage [2023/01/17(火) 21:30:32.61 ID:NbLfYJo10.net]
このように度々挙がっております指摘についての弁明を避け続ける一方で根拠に乏しい我々側の非についてはひたすら高々と掲げる様子を平仮名5文字でたしか何と言うのでしたっけ。。。

80 名前:デフォルトの名無しさん mailto:sage [2023/01/17(火) 21:40:03.07 ID:qA7lxKdi0.net]
熱雑音をどうやってプログラムに使うか知らんやつのお花畑妄想w



81 名前:デフォルトの名無しさん [2023/01/17(火) 21:40:34.37 ID:4lzoCN/Pa.net]
>シラを切れば全てをリセットできる

なるほど
まさにそれを自身で実践していると言うわけだ
表明助かる

82 名前:デフォルトの名無しさん mailto:sage [2023/01/17(火) 21:41:41.53 ID:qA7lxKdi0.net]
クオークの色とかと勘違いしてそうだなw

83 名前:デフォルトの名無しさん [2023/01/17(火) 21:44:32.57 ID:4lzoCN/Pa.net]
突然クオークとか言い出すあたりもう末期でしょ
もっとちゃんとシラを切り通さないと

84 名前:デフォルトの名無しさん mailto:sage [2023/01/17(火) 21:49:41.96 ID:qA7lxKdi0.net]
熱雑音と言い出したどの口で言うのか
まだ乱数とエントロピーの違いがわからんやつが
乱数とクオークの違いなんかわかるわけねえだろバーカw

85 名前:デフォルトの名無しさん mailto:sage [2023/01/17(火) 21:51:17.07 ID:qA7lxKdi0.net]
で、まだやんの?
豚に真珠つーたろ
おまえにくれてやるのは罵声だけだぞ

大義名分のある罵声だ
プログラム技術板から出て行け

86 名前:デフォルトの名無しさん [2023/01/17(火) 21:55:32.49 ID:DPhLiFAha.net]
「熱雑音」でスレ内検索したら>>64が出てきた
おい、おまえなんか言われてんぞ

87 名前:デフォルトの名無しさん mailto:sage [2023/01/17(火) 22:02:12.15 ID:NbLfYJo10.net]
この乱文ぷりを見るに例のレスも同じように何も考えずに書かれたのでしょうねぇ
そしてその雑さ原因の指摘に腹を立てて喚き散らかすと
もはや救いようがありません。

88 名前:デフォルトの名無しさん mailto:sage [2023/01/17(火) 22:23:55.68 ID:qA7lxKdi0.net]
プログラム技術板の汚点め

89 名前:デフォルトの名無しさん [2023/01/17(火) 22:27:26.96 ID:F7Tmfdoea.net]
エントロピー源があるならエントロピーシンクもあるのかね

90 名前:デフォルトの名無しさん mailto:sage [2023/01/17(火) 22:29:34.40 ID:HUr0VOMtr.net]
この手の論争は暴言吐いたやつほど負けに近づくわな
自分の意見を補強できないからその手段に行き着くわけで



91 名前:デフォルトの名無しさん mailto:sage [2023/01/17(火) 22:38:18.91 ID:qA7lxKdi0.net]
無知すぎるやつが自分た人様にバカと言えるかどうかの自信さえない構図
場違いとわかっってんならさっさと失せろ

92 名前:デフォルトの名無しさん mailto:sage [2023/01/17(火) 22:40:55.49 ID:qA7lxKdi0.net]
情報乞食としての収穫も絶望的なのに
いつまで縋りついてんだよキモすぎ産廃が

93 名前:デフォルトの名無しさん mailto:sage [2023/01/17(火) 22:42:21.14 ID:qA7lxKdi0.net]
>>69
情報量ゼロだもんな
情報量ゼロだもんな
情報量ゼロだもんな

94 名前:デフォルトの名無しさん [2023/01/17(火) 23:11:09.87 ID:vHSNNv2Oa.net]
壊れたレイディオ

95 名前:デフォルトの名無しさん mailto:sage [2023/01/17(火) 23:31:07.10 ID:NbLfYJo10.net]
結局情報量ゼロのまま終わってしまいました。

96 名前:デフォルトの名無しさん mailto:sage [2023/01/18(水) 00:55:14.82 ID:tqUHEoCQ0.net]
このスレのエントロピーも増大しています><

97 名前:デフォルトの名無しさん mailto:sage [2023/01/18(水) 00:59:14.46 ID:lSAVVSLnM.net]
本当の乱数なんて要らん
要は直近の乱数が予測困難であれば良いわけで、周期が長ければ予測が困難だ
使い方が間違ってて短周期になってしまうというセキュリティホールは見たことがある

98 名前:デフォルトの名無しさん (スプッッ Sdca-X4Hx) mailto:sage [2023/01/18(水) 07:11:22.38 ID:fdV9KSWzd.net]
某アンチウイルスソフトが乱数エンジンのシードにtime()を使ってて
ブルートフォース攻撃に脆いのを指摘されてたね

99 名前:デフォルトの名無しさん (ラクッペペ MMde-VZwO) mailto:sage [2023/01/18(水) 08:29:54.30 ID:eLBB0cr+M.net]
>>95
熱力学と違って情報理論では1を超えることは無い

100 名前:デフォルトの名無しさん (ラクッペペ MMde-VZwO) mailto:sage [2023/01/18(水) 08:31:57.59 ID:eLBB0cr+M.net]
すまん
情報量が超えることは無いがエントロピーならあり得るわ



101 名前:デフォルトの名無しさん (ワッチョイ c602-Cqve) mailto:sage [2023/01/18(水) 10:46:50.42 ID:cd+i1czb0.net]
USBで挿せる便利なサイコロあるぞ

102 名前:デフォルトの名無しさん (スフッ Sdea-2BPg) mailto:sage [2023/01/18(水) 17:07:41.15 ID:A9TOq90hd.net]
const修飾子とポインタの関係がややこしい

103 名前:デフォルトの名無しさん (スップ Sdea-3JZN) mailto:sage [2023/01/18(水) 18:41:44.13 ID:bRSYEzcmd.net]
なーんだ待ってたのにまだ出来ないのー? >>15
あくしろよ

正規分布からランダムにサンプリングするだけでしょ?
再帰的と書いたのはコード量を抑えたい、と言う理由なのよー
ボックスミューラーは使わないよね

104 名前:デフォルトの名無しさん (ワッチョイ 86cf-7DGa) mailto:sage [2023/01/18(水) 18:50:52.54 ID:pc+7EyEW0.net]
共用体を使ってるコードを見たことないんだけど具体的に何に使えてどう使うの?

105 名前:デフォルトの名無しさん (ワッチョイ b55f-wtyD) mailto:sage [2023/01/18(水) 18:52:25.38 ID:tqUHEoCQ0.net]
const char *f() {f(); return "再起的に性器分布から確率密度値を...してね";}

106 名前:デフォルトの名無しさん (ワッチョイ 8663-f6s+) mailto:sage [2023/01/18(水) 18:59:51.47 ID:aaaF5ns00.net]
>>103
古くはMS-DOSシステムコールを呼び出すときに利用
あとは、XEventが有名

107 名前:デフォルトの名無しさん (ワッチョイ c602-Cqve) mailto:sage [2023/01/18(水) 19:41:20.50 ID:cd+i1czb0.net]
逆に真の乱数をサンプリングし、大数の法則を期待して正規分布を得てみたい
とふと思いました

108 名前:デフォルトの名無しさん (ワッチョイ cd35-5Koo) mailto:sage [2023/01/18(水) 20:07:07.68 ID:5annSIeD0.net]
共用体はビットレベルでフォーマットが決まってる時に使う

109 名前:デフォルトの名無しさん (ワッチョイ cd35-5Koo) mailto:sage [2023/01/18(水) 20:07:28.64 ID:5annSIeD0.net]
通信やバイナリファイルなど

110 名前:デフォルトの名無しさん (スッップ Sdea-2YtF) mailto:sage [2023/01/18(水) 21:01:43.52 ID:6nsqd3vSd.net]
共用体で定義すればキャストを使った汚いコードを書かなくて済む
しかし共用体も今日ではあまりエレガントとも言えないのでは



111 名前:デフォルトの名無しさん (ワッチョイ a501-7DGa) mailto:sage [2023/01/18(水) 21:24:32.21 ID:ZQLfTfm70.net]
人間が入力するときに
コントロールコードとかも拾いたい時があるからなあ
文字列だけではうまくいかない

112 名前:デフォルトの名無しさん (ワッチョイ 2a47-w88e) mailto:sage [2023/01/18(水) 21:41:20.89 ID:4Z5GD2tK0.net]
>>107-108
エンディアン独立ですか?

113 名前:デフォルトの名無しさん (ワッチョイ 8663-f6s+) mailto:sage [2023/01/18(水) 21:50:27.28 ID:aaaF5ns00.net]
良い質問だ、自分で調べると勉強になる

114 名前:デフォルトの名無しさん (ワッチョイ ed01-UgkG) mailto:sage [2023/01/18(水) 22:02:01.63 ID:XcLAtUHa0.net]
ソケットのINETADDRで

115 名前:デフォルトの名無しさん (ワッチョイ beda-jwHR) mailto:sage [2023/01/18(水) 22:16:14.48 ID:fAl7sUlA0.net]
組込み用途ではSFRのアドレス番地に割り当てた変数に対して
char型と8bitのビットフィールド構造体の共用体
short型とchar型2要素の配列と16bitのビットフィールド構造体の共用体
などがよく使われる

116 名前:デフォルトの名無しさん mailto:sage [2023/01/18(水) 23:16:00.76 ID:5annSIeD0.net]
自分のところのプロジェクトでは構造体でキャストする式にマクロで名前をつけてるな

117 名前:デフォルトの名無しさん mailto:sage [2023/01/19(木) 00:26:10.20 ID:SdwPSqPz0.net]
昔のcobolのコードが生きていて
メモリを節約するために領域を再利用している
可能性はあるな
書き直した方がましだが

118 名前:デフォルトの名無しさん (ワッチョイ 9569-hn8B) mailto:sage [2023/01/19(木) 08:31:08.40 ID:m5q+i06r0.net]
>正規分布からランダムにサンプリングするだけでしょ?

>ボックスミューラーは使わないよね

なんかおかしくない?
前者は正規分布関数の値をランダムに抽出する 値域は 0 ~0.3989
後者は分布が正規分布となる乱数 値域は -∞ ~ ∞ (実用的には -4 ~ 4)

119 名前:デフォルトの名無しさん (ラクッペペ MMde-VZwO) mailto:sage [2023/01/19(木) 08:56:49.28 ID:ePSJbuliM.net]
標準正規分布の確率密度関数の値なら>>22の数式に確率変数の値を与えれば得られる
何の意味があるのかは知らん
もし積分値を得たいならランダムではなくて累積でないと意味ないぞ

120 名前:デフォルトの名無しさん mailto:sage [2023/01/19(木) 15:11:00.82 ID:TnS/SbOWd.net]
違う、、、そうじゃ無い、、、



121 名前:デフォルトの名無しさん mailto:sage [2023/01/19(木) 15:12:40.77 ID:TnS/SbOWd.net]
>>118
話題のdiffusion model のコードを書いてるの

122 名前:デフォルトの名無しさん mailto:sage [2023/01/19(木) 20:45:09.38 ID:LuniV29Gr.net]
大した精度は必要ないだろうし簡単なやつ探せば?

123 名前:デフォルトの名無しさん mailto:sage [2023/01/20(金) 13:52:09.56 ID:KaoK9Arp0.net]
8bit時代にBASICのRND関数をアセンブラから呼び出す方法知らなくて、
ROM上のバイナリーデータから乱数作るルーチン組んだの思い出した。
(ROMから2バイトxn個のデータとって前回出力した値に足したりXORしたりと)

16bit DOS環境になっても似たようなの作ったなぁ(ROMの代わりに乱数表?作った)。

124 名前:デフォルトの名無しさん mailto:sage [2023/01/20(金) 13:55:55.25 ID:PBwN2qBR0.net]
ROMから取り出しだと値が偏ったりしないかな?

125 名前:デフォルトの名無しさん mailto:sage [2023/01/20(金) 16:51:45.29 ID:pV6+JPqV0.net]
やったことないけど>>122見る限りりそんなに偏らないんじゃないかな
基本的にやりくちとしては暗号分野の鍵導出処理と似たようなことをしてるんだから

126 名前:デフォルトの名無しさん (スッップ Sdea-2YtF) mailto:sage [2023/01/20(金) 18:40:05.00 ID:R9yntGVvd.net]
暗号の乱数とゲームで使うような乱数は違うだろ

127 名前:デフォルトの名無しさん (ワッチョイ ed01-hn8B) mailto:sage [2023/01/20(金) 18:58:44.32 ID:coXRsv3s0.net]
値の範囲を調整するのに mod とると周期性が現れたり偏ったりするねんな

128 名前:デフォルトの名無しさん (ワッチョイ 2a47-w88e) mailto:sage [2023/01/20(金) 19:06:38.00 ID:vRsHomcy0.net]
>>122
リフレッシュカウンタから乱数を作るのがお約束ですよ、8 bit の時代はね

129 名前:デフォルトの名無しさん mailto:sage [2023/01/20(金) 19:28:35.95 ID:R9yntGVvd.net]
>>127
そういうCPUやBASICROMに依存する方法は最新機種では動作が変わったり予測できないので商業レベルではやらなかった
かわりに線形合同などのアルゴリズムを使った
アーケードのプレイデモではジョイスティックとボタンの記録だけ取って再生してメモリを節約してたので
毎回同じ乱数パターン(敵の移動や弾発射)が獲得できないと困るので

130 名前:デフォルトの名無しさん mailto:sage [2023/01/20(金) 20:01:16.13 ID:EscqwfOXM.net]
>>126
とはいえ、0~10までの乱数取得するのに%使わずにどうしろと…
質の良い疑似乱数使えば問題無い



131 名前:デフォルトの名無しさん mailto:sage [2023/01/20(金) 20:28:16.76 ID:R9yntGVvd.net]
疑似乱数にはたいてい周期性が現れるもの
とくに下の桁に現れやすいので
上の桁を取ればいい(modではなく目的の桁/乱数の最大桁をかける)

132 名前:デフォルトの名無しさん mailto:sage [2023/01/20(金) 20:45:14.37 ID:A1RdTars0.net]
>127
再現性のある乱数が欲しいって場合も微レ存。

133 名前:はちみつ餃子 mailto:sage [2023/01/20(金) 21:21:15.74 ID:FDJF8fJ70.net]
>>129
乱数源自体は良質なものだという前提で、
0~10 が欲しいときに単に %11 にすると小さい値のほうが少し出現率が高くなる。
たとえば乱数源がバイト単位だとすると、
255 以下で最大の 11 の倍数 (253) を超えた分 (254~255) が出現率を偏らせる原因。

だからそのような値が出たときに捨てて次の値を使用することにした上で %11 すればいい。
C++ の std::uniform_int_distribution などはだいたいそういう実装になってる。

134 名前:デフォルトの名無しさん mailto:sage [2023/01/20(金) 21:27:39.82 ID:A1RdTars0.net]
アセンブラで

MOV AL,8bit 乱数
MOV BL,欲しい整数乱数最大値+1
MUL BL
;AHに0からBL-1までの乱数が入る

ってなことやってたような気がする。
計算上最大値の出現率が低いみたい。
16bitに拡張すれば多少改善。

135 名前:デフォルトの名無しさん mailto:sage [2023/01/20(金) 22:44:15.60 ID:vRsHomcy0.net]
>>128
そうですかね…
案外 LD A, R とかやってた気がするなあ…気がするだけですけどね

136 名前:デフォルトの名無しさん mailto:sage [2023/01/20(金) 22:45:17.95 ID:vRsHomcy0.net]
>>131
8 bit の時代に、ですか?
結構念入りなアセンブラプログラムですねえ、めんどくさくって死にそう

137 名前:はちみつ餃子 mailto:sage [2023/01/20(金) 23:11:55.26 ID:FDJF8fJ70.net]
ファミコン、スーパーファミコン時代の有名ソフトの乱数生成の仕組みが今ではかなり明らかになってるが、
ドラクエとかファイナルファンタジーとかでも思ったより場当たり的な雑な仕組みで驚く。
こういう用途だと多少の性質の悪さもそれはそれで味になるということもあるんだろう。

シミュレーションとか暗号とかに関わるものだと理論的な裏付けがないと恐ろしいが……

138 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 00:33:34.31 ID:EJn7glvGM.net]
>>130
いや、だから長周期な乱数が有るんだよ
間違いなくオマエが生きてる内に一週しないよ
下位バイトだって当然だ
周期してると思ったら死ぬまで見てれば周期してないのが分かるよ

139 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 00:40:48.68 ID:EJn7glvGM.net]
1 2 2 と出て、2が偏ってと言う奴はいない
あまりにも範囲が小さいと、偏ってるかとか周期が有るかは長く見ないと分からん

140 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 00:51:58.56 ID:9x5I4Xif0.net]
メルセンヌツイスタ
https://ja.wikipedia.org/wiki/%E3%83%A1%E3%83%AB%E3%82%BB%E3%83%B3%E3%83%8C%E3%83%BB%E3%83%84%E3%82%A4%E3%82%B9%E3%82%BF



141 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 00:55:32.36 ID:iEE3pXT90.net]
>>137
周期の話じゃないよ 乱数発生器の下位ビットはランダムじゃないことがあるって話だよ
全部同じ値だったりrand()%2で0と1が交互に順番に出てくるだけだったりするから上位ビット使おうってこと
自前で乱数を作る際にmodを使わないなんてのはC言語のFAQレベルの常識の話だからちょっとネットでもあさって勉強すればすぐ身につくよ
それ以前に良い発生器を使えばいいっていうのはその通りだね

142 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 01:15:16.87 ID:EJn7glvGM.net]
>>140
オマエが無知なの分かったよ
下位ビットが規則的になるってのは何も考えてない線形合同法だけの性質だ
msvcrtのrandは線形合同法で求めた32bitの内上位16bitを下位にシフトしてるから、そういう性質はない
他の長周期な乱数はなにもしなくても当然そんな性質はない

143 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 01:36:04.58 ID:EJn7glvGM.net]
ちなみにLinux(glibc)で% 10で試しても、偶数と奇数が交互に続くと言うことはなかった
カルドセプトで話題になった乱数のバグは、自前で線形合同法を実装したから起きた問題だ
普通にSDKの乱数を使ってたら起きなかっただろう

144 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 02:05:39.28 ID:sslkm/QP0.net]
>135
8/16bit時代のティルナノーグってゲームがシナリオコードっての使ってマップやシナリオを自動生成するらしく、
まぁ多分シナリオコードを再現性のある乱数のキーにしてるんだろうと。

145 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 05:00:16.98 ID:Q9FQ3lI1d.net]
>>141
結局下位のほうに周期性が現れやすいというのは肯定してるなw
ライブラリのを仕組みもわからずそのまま使うと問題が起きた時に危険なので自前で作ったほうが楽なこともあるんだよ
移植の問題もあるから

146 名前:デフォルトの名無しさん (ワッチョイ 6301-CtYK) mailto:sage [2023/01/21(土) 11:13:45.88 ID:TvLSyCnz0.net]
理想的な一様乱数であっても
頻度が一様から少し崩れる件については
>>132 でクリアになってる前提で
次に周期等の乱数の素性をああだこうだやってるのでいいんだよね?

147 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 12:57:12.01 ID:EJn7glvGM.net]
>>144
線形合同法そのままの下位ビットはランダム性が低いから上位16bitを使うという実装がされてる
これは%で下位ビット使っても何も問題無い
他の乱数(例えばメルセンヌツイスターとか)とかも下位ビット使っても何も問題無い
オマエは何が言いたいんだ?
乱数イコール素の線形合同法と決めつけてんのか?

148 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 22:32:06.91 ID:PxhUXXTz0.net]
それより MT を利用したストリーム暗号の実装を探しているんですが、誰か良さげなのを書いていませんかね?

149 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 23:01:28.77 ID:5FfejZmpM.net]
暗号の実装なら乱数源よりハッシュ関数の設計の方が重要だと思うけど

150 名前:はちみつ餃子 mailto:sage [2023/01/21(土) 23:09:55.12 ID:AnImjWZM0.net]
メルセンヌツイスタは予測はしやすいので暗号に向かないって話じゃなかったっけ?
理論に詳しいわけじゃないけどストリーム暗号だと生成した乱数を
ほとんど順序通り使うことになるので素直に使うと弱い暗号になってまう。
それをカバーする案がどこかで出ているとかいう話なのかな?



151 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 23:25:57.01 ID:PxhUXXTz0.net]
>>148-149
生成したMT乱数をハッシュに通して xor マスクに使えば今すぐにでも実装できまますが、馬鹿みたいにコストが高い
もっとお気楽に「暗号論的に安全な」マスクを生成する方法があるはず、と踏んでいます

>>149
生成された暗号列から、暗号生成系内の状態を推測する手段が
*****「ありうる」*****
というだけで、実際に MT において予測しやすいかどうかは、また別の問題かと

152 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 06:45:18.91 ID:5LyKSzcv0.net]
メルセンヌツイスタは暗号論的乱数ではないからな
標準の範疇ではrandom_deviceと併用することで暗号論的乱数を作れる

# 俺はrandom_deviceにハメられたことがあって不信感持ってる

153 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 06:57:44.96 ID:GyU+xFDzM.net]
ほぼ2の20000乗の長周期の乱数列の出現パターンに対して実用的な有限時間内に値の予測とかできるものなのか?

154 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 09:17:28.62 ID:m0kendFMd.net]
初期値を毎回同じにするとかマヌケな実装してなければ大丈夫だが
そういうの意外と多いからな

155 名前:はちみつ餃子 mailto:sage [2023/01/22(日) 11:31:30.58 ID:ZNfmIfkb0.net]
>>152
ざっと調べてみた感じだと素朴なメルセンヌツイスタだと 624 個の連続する乱数列があれば内部状態を計算可能ということみたいだね。

156 名前:デフォルトの名無しさん (ラクッペペ MM7f-qqxO) mailto:sage [2023/01/22(日) 11:55:01.35 ID:2NQ69pgqM.net]
擬似乱数は内部状態から数列を計算して外部出力しているのであって、出力された数列の結果だけから内部状態を計算して次回出力を予測するのは難しい
623もの内部変数をすべて確定させようとすれば途方も無いことになると思うけど

157 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 13:27:42.71 ID:slZVcCWf0.net]
量子コンピュータならあっという間かもしれん

158 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 14:53:35.01 ID:5LyKSzcv0.net]
もしかしてハッシュを復号できると思っている人がいるの?

159 名前:デフォルトの名無しさん (ワッチョイ ff02-Jpma) mailto:sage [2023/01/22(日) 17:32:55.31 ID:KzI8pxO80.net]
現実で乱数で問題になるのは中周期
短周期は誰が見ててもすぐに欠点がわかる
中周期は人間が見てわかりづらいけど
へたをすると推測されうる

本当に重要な場面では線形合同法は使わないね

160 名前:デフォルトの名無しさん (ワッチョイ 0301-WyxW) mailto:sage [2023/01/22(日) 18:43:18.71 ID:5nd4WcY/0.net]
>>157
ハッシュを復号?
何意味不明なことを言ってるんだよw



161 名前:デフォルトの名無しさん (JP 0H67-uWjM) mailto:sage [2023/01/22(日) 18:52:07.93 ID:Gv0g55llH.net]
15は大した乱数を求めてないだろうし線形合同法で大丈夫でしょ

162 名前:デフォルトの名無しさん (テテンテンテン MM7f-TAsf) mailto:sage [2023/01/22(日) 19:51:00.57 ID:r87X7TULM.net]
少なくともゲーム用途ではもう決定版とも言えるのがPCGだ
これは線形合同法を加工したものだ
大体の用途にはこれだけ知ってれば十分だろ

163 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 07:23:09.72 ID:HN6zkKZyd.net]
>>159
返事しやがったwww

164 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 07:36:54.35 ID:rT2ytU3d0.net]
>>162
ハッシュ復号で顔真っ赤w

165 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 07:39:15.92 ID:HN6zkKZyd.net]
無理ありすぎ
157の発言内容で恥さらしたと思ったの
おまえだけだから

166 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 07:52:21.59 ID:rT2ytU3d0.net]
ならハッシュ復号とか言う意味不明な用語を説明してみw

167 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 07:59:00.47 ID:OYWoWYjxa.net]
必死やね

168 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 08:34:51.13 ID:rT2ytU3d0.net]
>>166
>>164 がなw

169 名前:デフォルトの名無しさん (スップ Sd1f-N2va) mailto:sage [2023/01/23(月) 09:53:15.91 ID:HN6zkKZyd.net]
昔、ブラックエンジェルスって漫画で
「神父様」というワードで殺人スイッチ入るキャラいたけど
ここには「ハッシュ」で発狂するやつがいるな

170 名前:デフォルトの名無しさん (ワッチョイ cf63-88l+) mailto:sage [2023/01/23(月) 10:00:52.21 ID:ZftbX+tS0.net]
発狂なんて表現は、自身が精神科の患者で無ければ口にしない言葉だ



171 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 10:26:46.25 ID:e9NCR7zVr.net]
ハッシュ値からハッシュ関数への入力を求めることをハッシュを復号て言ってるのかと、思ったけど違うの?

172 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 11:18:20.16 ID:TfCEWCiYM.net]
普通はそれを原像攻撃といいます

173 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 12:07:23.12 ID:2WGuD1xXd.net]
>>170
ハッシュドビーフを牛に戻せるか?

174 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 13:04:17.4 ]
[ここ壊れてます]

175 名前:8 ID:nA4Uy4AL0.net mailto: おおよそハッシュ関数って多対1の写像やから 与えられた入力を予測するのは難しいわね []
[ここ壊れてます]

176 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 13:05:15.54 ID:rT2ytU3d0.net]
>>170
その意味かどうかもわからんしそもそも>>157が唐突に言い出した意図もわからん
まあ本人もよく理解してないだろうことはわかるけどw

177 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 18:58:27.02 ID:ru4XzPDN0.net]
暗号学的ハッシュ関数は暗号学的なだけで暗号ではないわな
まあ、ややこしいのはわかる

178 名前:デフォルトの名無しさん (ワッチョイ cf63-88l+) mailto:sage [2023/01/23(月) 19:37:29.31 ID:ZftbX+tS0.net]
現在5chで使っているIDもハッシュ関数使っています
掲示板毎の番号、日付、IPアドレスの組み合わせ32ビットを
16ビットを求めてます
そのため、IDから元のIPアドレスは特定不可能とされてます

179 名前:デフォルトの名無しさん (ワッチョイ cf63-88l+) mailto:sage [2023/01/23(月) 19:39:57.78 ID:ZftbX+tS0.net]
組み合わせた32ビットのキーから
16ビットのIDSを求めてます

でした
言葉足りなくて済みません

180 名前:デフォルトの名無しさん (スップ Sd1f-N2va) mailto:sage [2023/01/23(月) 19:50:20.64 ID:HN6zkKZyd.net]
優しいお兄さんたちがやんわり教えてくれてるぞ
よーく聞いとけなハッシュ君



181 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 20:22:55.39 ID:rT2ytU3d0.net]
確認のための>>170とお前以外に復号なんて言ってるアホはいないけどなw

182 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 20:25:01.82 ID:HN6zkKZyd.net]
いいからよく聞いとけ
おまえには金取ってもいいくらいの
特別サービスだぞ

183 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 20:28:15.99 ID:rP/zs2fBa.net]
上げ足取りの極みやね
伝わるとしても即興の造語は決して許されない

184 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 20:34:11.46 ID:rT2ytU3d0.net]
>>180
>>166ww

185 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 22:02:00.33 ID:FHYSH6Afr.net]
>>173
ハッシュってできる限り衝突しないようにするけど多対一になるのか?

186 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 22:10:48.44 ID:gaP9WTLb0.net]
そうじゃなければ意味無いでしょ
バイト表現をそのままキーにでもするつもりか

187 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 22:18:56.34 ID:gaP9WTLb0.net]
大きな空間から小さな空間へぐちゃっと潰す非単射だからhashと呼ばれるんだろうし、むしろ被らなければハッシュ法とは呼べない

188 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 23:25:11.50 ID:JEHxFd+10.net]
>>183
あくまでできるかぎり衝突しない努力をしているのであって
絶対に衝突しないことを保証しているわけではない以上
単射にはならんやろ

189 名前:デフォルトの名無しさん (ワッチョイ cf63-88l+) mailto:sage [2023/01/24(火) 00:14:26.83 ID:D+LPvIAC0.net]
この掲示板で使ってるIDは、実際に衝突している
32ビットのバリエーションがある対象を16ビットパターンに圧縮する
どの位衝突が発生するか、簡単に計算で出せるだろう

190 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ ff3e-j5s0) mailto:sage [2023/01/24(火) 00:47:30.90 ID:Ago7Tr1G0.net]
>>183
元になる情報より小さい空間への写像なんだから当然に衝突することはありうるよ。
確率が均等になるようにデザインされるのが普通だが。

それとハッシュといっても均等でありさえすればよいハッシュテーブルなどに使うハッシュ関数と
意図的に衝突させるのが困難な暗号学的ハッシュ関数は事情が異なる。



191 名前:デフォルトの名無しさん mailto:sage [2023/01/24(火) 07:19:05.11 ID:eIuiRJ7Hd.net]
I/Oのマシン語リストの1行チェックサムだったのが
CRCに進化し、更にCRC32になり・・・

192 名前:デフォルトの名無しさん mailto:sage [2023/01/24(火) 07:22:48.88 ID:hOWV1dmX0.net]
>>189
それは誤り訂正符号であってハッシュじゃない、誤りが少なければ訂正できる、という性質のもの

193 名前:デフォルトの名無しさん mailto:sage [2023/01/24(火) 07:28:16.15 ID:CHY+WBSp0.net]
予測や推論が可能な写像か

194 名前:デフォルトの名無しさん mailto:sage [2023/01/24(火) 07:38:18.20 ID:/rWynzzhM.net]
誤り検出や訂正と予測や推論は違う
巡回符号では予測は出来ない

195 名前:デフォルトの名無しさん (スップ Sd1f-N2va) mailto:sage [2023/01/24(火) 07:45:39.55 ID:eIuiRJ7Hd.net]
>>190
いや、訂正なんて求めてなかった
あくまで検出さえできれば
点検なり再送なり対応はどうにでもできる
ちまちま訂正を試みて挙げ句不確実とか
バカバカしくて眼中になかった

196 名前:デフォルトの名無しさん (ワッチョイ 6fda-A+LD) mailto:sage [2023/01/24(火) 08:00:50.17 ID:yjc0n37Q0.net]
巡回冗長検査(CRC)
https://ja.wikipedia.org/wiki/%E5%B7%A1%E5%9B%9E%E5%86%97%E9%95%B7%E6%A4%9C%E6%9F%BB

巡回符号
https://ja.wikipedia.org/wiki/%E5%B7%A1%E5%9B%9E%E7%AC%A6%E5%8F%B7

197 名前:デフォルトの名無しさん (ワッチョイ 4369-SUdz) mailto:sage [2023/01/24(火) 08:05:18.69 ID:iB9B6REv0.net]
元データと誤り訂正符号がセットになってる前提だものね
PGPでいう暗号ではなく署名

198 名前:デフォルトの名無しさん (スッププ Sd1f-lTI6) mailto:sage [2023/01/24(火) 13:20:38.09 ID:cMLylpMed.net]
>>15 だが待ちくたびれたニダ
オラの欲しいのは乱数が性器分布してるものなの!
銀杏乱数ではありまへん
さあ、素晴らしいコードを見せてケレ

199 名前:デフォルトの名無しさん mailto:sage [2023/01/24(火) 18:41:20.06 ID:XLjyfoTr0.net]
const char *subarasiikoodo() {retrun "乱数が性器分布してるもの"/*"銀杏乱数"*/;}

200 名前:デフォルトの名無しさん mailto:sage [2023/01/24(火) 23:29:13.35 ID:1YOqlgJ1d.net]
>>196
淫乱とか性器を見せろとかなんなんだね君はいい加減にしたまえ!



201 名前:デフォルトの名無しさん mailto:sage [2023/01/25(水) 20:45:01.15 ID:8z5wZ+1pM.net]
卑猥な言葉に反応する大人を見てはしゃいでいる子供って感じ

202 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 07:05:46.47 ID:epYCai+9d.net]
プログラム技術板で猥談にしか参加できないやつpgr

203 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 11:50:43.36 ID:xdWnPQo8r.net]
>>185
普通のハッシュが非単射なのはその通りだが、
完全ハッシュというものも一応ある。

204 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 23:06:32.72 ID:HOinztZt0.net]
何に使うものなんですか?

205 名前:デフォルトの名無しさん (ワッチョイ ff02-Jpma) mailto:sage [2023/01/27(金) 05:48:59.42 ID:Ia5Vv5I40.net]
セキュリティがどうでもいい時に
速度を要求されるとき

206 名前:デフォルトの名無しさん mailto:sage [2023/01/27(金) 08:04:21.64 ID:DHOIN7NEM.net]
パスワードなどを暗号化して保存する時ハッシュ値を保存する
他のパスワード値と重複することが無いように完全ハッシュとする
万一衝突すれば他人のパスワードが誤ってすり抜ける可能性が生じる

207 名前:デフォルトの名無しさん mailto:sage [2023/01/27(金) 09:53:14.54 ID:hWSIv7AR0.net]
んなアホな
完全ハッシュの説明はともかく、パスワードに関してはIDとペアで使うんだから他人のパスワードと被ろうがどうだろうが関係がない
そもそもソルト使うんだからuser1とuser2が同じパスワードを使ってもハッシュ値は別になる

208 名前:デフォルトの名無しさん (ラクッペペ MM7f-qqxO) mailto:sage [2023/01/27(金) 10:07:50.70 ID:GgXEpiKGM.net]
いや完全ハッシュの前提が崩れると違うパスワードが同じハッシュ値で衝突して区別できないので破綻する
ソルトは完全ハッシュを担保するための手段

209 名前:デフォルトの名無しさん mailto:sage [2023/01/27(金) 10:42:53.11 ID:MqPTrKVr0.net]
https://en.wikipedia.org/wiki/Perfect_hash_function
> Disadvantages of perfect hash functions are that S needs to be known for the construction of the perfect hash function.

無理やろ

210 名前:デフォルトの名無しさん mailto:sage [2023/01/27(金) 10:59:53.36 ID:WUhobyCY0.net]
暗号学的ハッシュ関数
https://ja.wikipedia.org/wiki/%E6%9A%97%E5%8F%B7%E5%AD%A6%E7%9A%84%E3%83%8F%E3%83%83%E3%82%B7%E3%83%A5%E9%96%A2%E6%95%B0



211 名前:デフォルトの名無しさん mailto:sage [2023/01/27(金) 11:02:54.46 ID:hWSIv7AR0.net]
MM7f-qqxOは衝突がないっていうのがどういうことなのかなんか勘違いしてるんだろう
そういうもんを用意したとして>>203のいう通り強度なんかめちゃくちゃ弱くなるんだからさ
いずれにしても破綻するとか言われたところで世の中は衝突ありのSHA-2使ってんだからもうちょい勉強しとけ

212 名前:デフォルトの名無しさん mailto:sage [2023/01/27(金) 12:35:15.87 ID:ctyQpdLuM.net]
>>206
ハッシュ値とハッシュテーブルを混同しててクソワロタw

213 名前:デフォルトの名無しさん [2023/01/27(金) 18:34:56.90 ID:I0K5YroCd.net]
>>199
ちょっとした変換ミスだろ?
あるシードを与えてそこから連続的に乱数を大量に取得してそれらを並べてみたら、あら不思議 平均0分散1のヒストグラムができました、てなモノが欲しいだけなのに・・・

214 名前:デフォルトの名無しさん mailto:sage [2023/01/27(金) 19:16:01.14 ID:ctyQpdLuM.net]
正規分布乱数でググれば幾らでも出てくる
ちゃんと理解するのは容易じゃないがな

215 名前:デフォルトの名無しさん mailto:sage [2023/01/27(金) 23:07:01.65 ID:Nd07Ngynd.net]
>>204
説明としておかしい
他人のパスワードが誤ってじゃなくて
悪意ある他人が総当たり的に適当なパスワードを試して当たってしまう可能性が高くなるんだろ

216 名前:デフォルトの名無しさん mailto:sage [2023/01/28(土) 13:25:21.47 ID:5Vj/XtKl0.net]
それはどのパスワードでも同じ

217 名前:デフォルトの名無しさん mailto:sage [2023/01/28(土) 14:42:34.89 ID:dMjf5U6fa.net]
>>214
平文ならパスワードが違えばマッチすることはない
ハッシュだとパスワード違うのにハッシュ値が同じになる(ことが理論的にはあり得る)から違うパスワードでも通っちゃうって話だろ

218 名前:デフォルトの名無しさん mailto:sage [2023/01/28(土) 15:06:06.84 ID:ys7yM/+j0.net]
パスワード程度の小さなデータなら
原データよりもビット数が多いハッシュを使えば安全だろ

219 名前:蟻人間 mailto:sage [2023/01/28(土) 15:09:44.90 ID:bcwoFDyEd.net]
おまいらにちょっと質問。

https://github.com/katahiromz/GazoNarabePDF/blob/858aed3331fb9f6b97836918c449366cb535bc39/GNPDF.cpp#L31

SHA-256でシェアウェアのパスワード設定をしているけど、このハッシュとソルトでブルートフォースできますか?

220 名前:デフォルトの名無しさん mailto:sage [2023/01/28(土) 15:29:16.38 ID:x6yOEZAM0.net]
攻撃に非現実的な時間が必要ってだけであって可否を問うなら可能に決まってんだろうよ
ちょっと考えれば分かると思うんだが、できますかとか脳ミソ幾分欠損でもしてんのかね?



221 名前:蟻人間 mailto:sage [2023/01/28(土) 15:44:01.84 ID:bcwoFDyEd.net]
スーパーハッカーならスパッと解けると思ったが、つまらないな

222 名前:デフォルトの名無しさん mailto:sage [2023/01/28(土) 15:45:30.65 ID:jdKvyKGa0.net]
口の汚さはアタマ悪くても可能に決まってます

223 名前:デフォルトの名無しさん mailto:sage [2023/01/28(土) 16:39:52.59 ID:NqcfPhRT0.net]
>>216
ビット数が多くても偏りの多いハッシュ関数使ってたらダメってことすらわからんのか?

224 名前:デフォルトの名無しさん mailto:sage [2023/01/28(土) 17:23:18.26 ID:btPcpkQFM.net]
パスワードは間違いが続くと、暫く時間たたないとログイン出来なくすればブルートフォースもほとんど不可能になる
なのでハカーは総当たりなんてせずに、何処かで漏れたIDとパスワードを違うサイトで試すだけだ

225 名前:デフォルトの名無しさん mailto:sage [2023/01/28(土) 20:47:48.08 ID:NqcfPhRT0.net]
>>222
ドコモ口座でリバースブルートフォースされまくっただろ
今更ハカーとか何言ってるんだかw

226 名前:デフォルトの名無しさん mailto:sage [2023/01/28(土) 21:54:17.79 ID:jdKvyKGa0.net]
最近のサイトはメッセージで認証番号送ってくる方式が増えた

227 名前:デフォルトの名無しさん mailto:sage [2023/01/28(土) 23:13:06.15 ID:1IGwH4nq0.net]
laslpassのやらかしを見るがよい

228 名前:デフォルトの名無しさん mailto:sage [2023/01/29(日) 03:30:21.89 ID:FVd++fbJM.net]
>>223
リバースブルートフォースなんて大層な名前が付いてるけど、単なるブルートフォースだろ
凍結直前までチャレンジして、失敗したら次を狙うのと何も確率は変わらん

229 名前:デフォルトの名無しさん mailto:sage [2023/01/29(日) 07:05:12.39 ID:ksaPk66E0.net]
何回で凍結するのかはサイトによって違うのに凍結直前までとかスーパーハカーかよw

230 名前:デフォルトの名無しさん mailto:sage [2023/01/29(日) 07:32:46.54 ID:6KJkihSb0.net]
>>221
あんたにはそう聞こえたのか
人の言葉をいちいち曲解する底意地の悪い耳してんな
人格欠陥者め



231 名前:デフォルトの名無しさん mailto:sage [2023/01/29(日) 07:33:20.09 ID:8/1FN9ANM.net]
ブルートフォースはパスワードの総当たり攻撃
リバースブルートフォースはIDの総当たり攻撃

232 名前:デフォルトの名無しさん mailto:sage [2023/01/29(日) 07:52:37.42 ID:ksaPk66E0.net]
>>228
指摘されて人格攻撃w
技術板に向いてないからよそに行った方がいいぞ

233 名前:デフォルトの名無しさん mailto:sage [2023/01/29(日) 09:01:19.16 ID:6KJkihSb0.net]
おまえの勝手な仮定が前提だからな
こっちにゃ指摘に聞こえてねえんだよ

ストローマン攻撃なんて幼稚な誤謬をするやつが
どの口で技術板に向いているとかぬかすんだアホが

234 名前:デフォルトの名無しさん mailto:sage [2023/01/29(日) 09:20:35.03 ID:ksaPk66E0.net]
歪めてるんじゃなくて考慮不足を指摘されてるってことすら理解できてないのかw

235 名前:デフォルトの名無しさん mailto:sage [2023/01/29(日) 09:45:54.12 ID:6KJkihSb0.net]
勝手な仮定といわれていることも何のことかわからんようだな
やべーやつw

236 名前:はちみつ餃子 mailto:sage [2023/01/29(日) 11:02:35.45 ID:2OIx0YXk0.net]
>>217
そういう使い方だとハッシュの強度は無意味。
判定している箇所を書き換えるだけで通ってしまうから。

237 名前:デフォルトの名無しさん (ワッチョイ 0b01-hj3w) mailto:sage [2023/01/29(日) 12:32:40.26 ID:ksaPk66E0.net]
>>233
偏りの多いハッシュ関数の話だろ
そういう条件を考慮してないアホって言う指摘

238 名前:蟻人間 ◆T6xkBnTXz7B0 (スフッ Sdba-yGaH) mailto:sage [2023/01/29(日) 12:41:06.40 ID:GBa/Exsdd.net]
>>235
だったら、こういう場合どうすればいいの?
教えて下さい。お願いします。

239 名前:デフォルトの名無しさん mailto:sage [2023/01/29(日) 13:39:20.19 ID:ksaPk66E0.net]
偏りの少ないハッシュ関数使えばいいだけだろ
知能ないの?

240 名前:デフォルトの名無しさん mailto:sage [2023/01/29(日) 13:45:16.85 ID:CAd5BAJYM.net]
ブルートフォースって一人だけ狙って、失敗したら他のアカウントを狙っちゃいけないのかよw



241 名前:デフォルトの名無しさん mailto:sage [2023/01/29(日) 13:53:11.49 ID:5EeyamesM.net]
むしろ同じパスワードに対してアカウントを次々に変え続けて総当たりで狙うのがリバースブルートフォース

242 名前:はちみつ餃子 mailto:sage [2023/01/29(日) 15:19:25.16 ID:2OIx0YXk0.net]
>>236
機能するために必要なデータ (プログラム) を暗号化してしまうとかいった方法が考えられる。
必要なデータを得るために正しい鍵が必要なら正しい鍵がないとどうしようもない。
そのへんの一連の技術は「耐タンパー」とか呼ばれてるからググってみて。

ライセンスで制約を付けるから技術的なロックは頑張らないと割り切るのもひとつの手だし、個人製作のシェアウェアはそんなもんだよ。

243 名前:デフォルトの名無しさん mailto:sage [2023/01/29(日) 15:24:38.66 ID:ksaPk66E0.net]
>>238
だからお前がそれもブルートフォースだと思うのは自由だけど人と会話する時はちゃんとリバースブルートフォースという用語を使わないとはあ?って言われるだけの話

244 名前:蟻人間 mailto:sage [2023/01/29(日) 19:12:22.05 ID:GBa/Exsdd.net]
>>241
ありがとうございます

245 名前:デフォルトの名無しさん (ワッチョイ b75e-5WkL) mailto:sage [2023/01/29(日) 19:43:28.13 ID:8uY3AZce0.net]
>>237
知能ないと思いたければ
そう思っとけばいいじゃん

246 名前:デフォルトの名無しさん mailto:sage [2023/01/29(日) 20:29:50.78 ID:ksaPk66E0.net]
>>243
うん、お前が誰かは知らんけどID:6KJkihSb0の知能は低いと思うよw

247 名前:デフォルトの名無しさん mailto:sage [2023/01/29(日) 20:41:38.56 ID:ZKIt/npKM.net]
>>241
じゃあ、一人に付きパスワードを固定せずに数回試す事を全アカウントに行うのは何て言うんだよ?

248 名前:デフォルトの名無しさん mailto:sage [2023/01/29(日) 21:03:50.50 ID:teTK5f4i0.net]
マルチリバースブルートフォース
とか、言ってみるテスト

249 名前:デフォルトの名無しさん (ワッチョイ 0b01-hj3w) mailto:sage [2023/01/29(日) 21:18:32.78 ID:ksaPk66E0.net]
>>245
そんなアホなやつしかやらないような行動にまで名前が付いてるわけじゃないw

250 名前:デフォルトの名無しさん (テテンテンテン MMb6-YANd) mailto:sage [2023/01/29(日) 21:42:40.12 ID:ZKIt/npKM.net]
>>247
IDと同じパスワードや逆にしてみて試す価値は有るだろ



251 名前:デフォルトの名無しさん (ワッチョイ 4e63-+rQD) mailto:sage [2023/01/29(日) 21:45:50.48 ID:teTK5f4i0.net]
せっかくここまでアホな行為に名付けているんだから、途中で止めないで

252 名前:デフォルトの名無しさん (スップ Sdba-7Y05) mailto:sage [2023/01/29(日) 21:50:17.04 ID:BQ9oQ4XFd.net]
ここまで不毛な議論ができるもんだなあw

253 名前:デフォルトの名無しさん mailto:sage [2023/01/29(日) 21:57:38.60 ID:ksaPk66E0.net]
>>248
それはパスワード類推攻撃
お前みたいなアホ向けの攻撃方法だなw

254 名前:デフォルトの名無しさん mailto:sage [2023/01/29(日) 22:04:36.79 ID:CAd5BAJYM.net]
>>251
じゃあブルートフォースとパスワード類推攻撃の違いを言ってみろ
わざわざ分けてるようだから、明確な違いがあるのだろう

255 名前:デフォルトの名無しさん mailto:sage [2023/01/29(日) 22:36:52.56 ID:EsKjhbWpM.net]
国会クイズ大会かよ

256 名前:デフォルトの名無しさん mailto:sage [2023/01/30(月) 06:58:02.02 ID:xP88kyoga.net]
>>252
ググればすぐわかることをいちいち聞くアホw
https://e-words.jp/w/%E7%B7%8F%E5%BD%93%E3%81%9F%E3%82%8A%E6%94%BB%E6%92%83.html
https://e-words.jp/w/%E9%A1%9E%E6%8E%A8%E6%94%BB%E6%92%83.html

257 名前:デフォルトの名無しさん mailto:sage [2023/01/30(月) 07:09:32.64 ID:BI3s5DYMd.net]
おまえに聞いてるんだろ
教えを請うのではなく
おまえをベリファイする意味で
答えがリンクじゃ失笑されるぞ

258 名前:デフォルトの名無しさん mailto:sage [2023/01/30(月) 07:43:23.26 ID:xP88kyoga.net]
>>255
馬鹿過ぎて笑う

259 名前:デフォルトの名無しさん mailto:sage [2023/01/30(月) 07:51:37.04 ID:qAfCKr8z0.net]
ID総当たりは回数制限をすり抜けられるんじゃないかな?

260 名前:デフォルトの名無しさん (スップ Sd5a-VuUV) mailto:sage [2023/01/30(月) 09:35:36.72 ID:BI3s5DYMd.net]
>>256
直球の罵倒語だけか
失笑



261 名前:デフォルトの名無しさん mailto:sage [2023/01/30(月) 09:59:45.60 ID:deB8/dXTa.net]
質問が馬鹿すぎて>>252が失笑されてるだけだぞw
俺が書いても同じようなこと書くし

262 名前:デフォルトの名無しさん mailto:sage [2023/01/30(月) 10:00:48.80 ID:deB8/dXTa.net]
>>257
そりゃそのためにパスワード固定してId変えながらトライするんだし

263 名前:デフォルトの名無しさん (スップ Sd5a-VuUV) mailto:sage [2023/01/30(月) 12:26:35.86 ID:BI3s5DYMd.net]
>>259
だから質問じゃねえっての
おまえ頼られてるとでも思ってんの?
プッバッカジャネエノ

264 名前:デフォルトの名無しさん mailto:sage [2023/01/30(月) 12:48:34.85 ID:vnpMotzDa.net]
もう答え書いてるのにアホなのかな
そもそもLevel低すぎって言われてるだろw

265 名前:デフォルトの名無しさん mailto:sage [2023/01/30(月) 14:15:02.42 ID:dm4YanUU0.net]
米国家安全保障局 (NSA) は 10 日、メモリ安全性の問題に対応するためのガイダンスを公開し、
可能な限りメモリ安全なプログラミング言語を使用するよう推奨した

266 名前:デフォルトの名無しさん mailto:sage [2023/01/30(月) 14:15:26.05 ID:BI3s5DYMd.net]
他人の文書を持ってくるだけで説明したつもりになってるのか
健康美容の悪徳ビジネスに騙されるBBAと同じたなw
てめーは空っぽだと説明したに過ぎないんだが

267 名前:デフォルトの名無しさん mailto:sage [2023/01/30(月) 16:10:08.09 ID:cLMc+Aima.net]
>>264
ならどう間違ってるのか指摘してみ
自分では何もできないチキンのくせにw

268 名前:デフォルトの名無しさん mailto:sage [2023/01/30(月) 16:49:59.62 ID:BI3s5DYMd.net]
>>264
は? 間違っていようがいまいが関係ない
おまえは何も言ってないからな

なんか高卒くせえなおまえ
レポートだの論文だの書いてなさそう

269 名前:デフォルトの名無しさん mailto:sage [2023/01/30(月) 16:50:32.46 ID:BI3s5DYMd.net]
アンカーミスった
>>265

270 名前:デフォルトの名無しさん (ワッチョイ 4e63-+rQD) mailto:sage [2023/01/30(月) 17:22:08.99 ID:dm4YanUU0.net]
 グーグルによればAndroidに存在した深刻なセキュリティー脆弱性の70%近くがメモリー安全に関するバグに
起因するという。同様にマイクロソフトも、同社製品に存在したセキュリティー脆弱性の70%がメモリー安全に関
するバグに起因すると述べている。C/C++を使う限りセキュリティー脆弱性を根絶するのは不可能と考えて、
Rustを採用するに至ったというわけだ。



271 名前:デフォルトの名無しさん (オッペケ Sr3b-3un5) mailto:sage [2023/01/30(月) 17:56:21.35 ID:XUR4uSv7r.net]
また他人の文書を?

272 名前:デフォルトの名無しさん mailto:sage [2023/01/30(月) 18:51:38.71 ID:uxYUj7Ria.net]
>>267
まだやるのかよ...
> 俺が書いても同じようなこと書くし
> 俺が書いても同じようなこと書くし
> 俺が書いても同じようなこと書くし
そもそもこんなの常識だろw

273 名前:デフォルトの名無しさん mailto:sage [2023/01/30(月) 19:36: ]
[ここ壊れてます]

274 名前:39.96 ID:BI3s5DYMd.net mailto: おまえもアンカーミスったか []
[ここ壊れてます]

275 名前:デフォルトの名無しさん mailto:sage [2023/01/30(月) 19:55:53.55 ID:uxYUj7Ria.net]
>>271
お前にレスしてるんだが?w

276 名前:デフォルトの名無しさん mailto:sage [2023/01/30(月) 20:14:51.74 ID:BI3s5DYMd.net]
俺が言ってないことを引用してか?
幼稚な誤謬が止まらんやつだな

277 名前:デフォルトの名無しさん mailto:sage [2023/01/30(月) 20:39:01.29 ID:uC26F0Aa0.net]
>>273
アホなの?
お前がわからんこと言ってるから再度書いてあげたわけだが
もしかして意図を汲み取れないってオチかなw

278 名前:デフォルトの名無しさん mailto:sage [2023/01/30(月) 20:54:03.20 ID:REdBvt7e0.net]
おまえの勝手な妄言に意図なんてあったのかすらわからんな

279 名前:デフォルトの名無しさん mailto:sage [2023/01/30(月) 21:08:25.32 ID:uC26F0Aa0.net]
結局>>252みたいな低レベルなレスして顔真っ赤ってかw

280 名前:デフォルトの名無しさん mailto:sage [2023/01/30(月) 21:16:42.29 ID:REdBvt7e0.net]
>>276
>>273

おまえの頭蓋骨ぶち割って脳ミソがどんな奇形なのか見てみたいわw



281 名前:デフォルトの名無しさん mailto:sage [2023/01/30(月) 21:35:36.15 ID:wssO+tMCa.net]
そんなクソみたいなレスしか返せないなら黙ってりゃいいのにw

282 名前:デフォルトの名無しさん mailto:sage [2023/01/30(月) 21:54:10.97 ID:REdBvt7e0.net]
横レス君よ、231あたりのやり取り見てみな?
まあ本人だろうけどw

283 名前:デフォルトの名無しさん mailto:sage [2023/01/30(月) 22:18:56.13 ID:uC26F0Aa0.net]
>>279
指摘されたアホがファビョってるだけだろw

284 名前:デフォルトの名無しさん mailto:sage [2023/01/30(月) 22:29:46.75 ID:REdBvt7e0.net]
ねらー語100%でど真ん中な正体を現してんなw

285 名前:デフォルトの名無しさん mailto:sage [2023/01/31(火) 07:05:48.06 ID:YNMDboNb0.net]
ねらー語とか言うねらー語使う>>281w

286 名前:デフォルトの名無しさん [2023/01/31(火) 12:50:49.15 ID:xZwYkSvIa.net]
煽りじゃなくて率直に疑問なんだが
君ら何歳?

287 名前:デフォルトの名無しさん mailto:sage [2023/01/31(火) 12:57:03.34 ID:tu4JRhBG0.net]
発達障害は精神年齢が極端に低い病気なんだぜ

288 名前:デフォルトの名無しさん mailto:sage [2023/01/31(火) 14:42:28.64 ID:YNMDboNb0.net]
いきなり自己紹介されてもw

289 名前:デフォルトの名無しさん mailto:sage [2023/01/31(火) 21:15:54.96 ID:k9I+OMIE0.net]
マウント取りたがるくせに大したこと言ってなくて
誰ひとり尊敬なんか集まらない寒ーいやつw

290 名前:デフォルトの名無しさん mailto:sage [2023/02/01(水) 06:43:31.84 ID:7PejvYvYa.net]
まだまだ続く自己紹介w



291 名前:デフォルトの名無しさん mailto:sage [2023/02/01(水) 07:42:58.57 ID:cqn38iow0.net]
Q.アスペルガーは嘘をつかないの?
A.嘘をつきまくる。本人は「嘘をついた自覚がない」と主張するが自覚はある。嘘を認めると立場が悪くなるので屁理屈を言って一向に認めない

Q.どうして文章を書くとき難しい単語を使いたがるの?
A.自分を賢く見せようとしているから。しかし内容がスカスカだったり矛盾しているので全然賢く見えない

Q.どうして攻撃的なの?
A.アドレナリン放出量が健常者に比べて多く、また人生が上手く行っていない場合が多いので他人に八つ当たりする(我慢できない)傾向が強いから

Q.どうしてひねくれたズレた回答ばかりするの?
A.アスペルガーは他人と被ることを嫌う。自分が特別な存在でありたいという願望が表れている。健常者の言う妥当な回答はアスペルガーにとっては平凡なつまらない回答。何か特別な凄いことを言おうとしてもそのような知恵がないので悪口とか意味の分からないことを口走ってしまう。

292 名前:デフォルトの名無しさん (アウアウウー Sa47-hj3w) mailto:sage [2023/02/01(水) 08:24:41.56 ID:Hf88nfPHa.net]
病院の先生に言われたのか?w

293 名前:デフォルトの名無しさん mailto:sage [2023/02/01(水) 12:53:11.72 ID:MThDxGPg0.net]
コードで語れ

294 名前:デフォルトの名無しさん mailto:sage [2023/02/01(水) 13:33:50.91 ID:NwXljVovd.net]
goto hell;

295 名前:デフォルトの名無しさん [2023/02/02(木) 04:21:08.56 ID:+vgs1l/J0.net]
サイズの決まっていない配列はスタックとヒープどちらに確保されますか?


char* file = ファイルデータ;
char copy[fileのlength]; // この配列

みたいなやつ

296 名前:デフォルトの名無しさん [2023/02/02(木) 06:26:11.41 ID:0H/6GH320.net]
スタックじゃね
それ関数内の一時変数だろ

297 名前:デフォルトの名無しさん mailto:sage [2023/02/02(木) 09:53:18.47 ID:HFa0iCTPd.net]
規格では未既定
現実はアセンブラ出力させて嫁

298 名前:デフォルトの名無しさん mailto:sage [2023/02/02(木) 10:03:10.97 ID:UVkNbOZP0.net]
Cにサイズの決まってない配列は存在しないのだ

299 名前:デフォルトの名無しさん mailto:sage [2023/02/02(木) 10:20:10.06 ID:gL9XQdRL0.net]
>fileのlength

ここに回答者をひっかけ様とする意図がありそう

300 名前:デフォルトの名無しさん mailto:sage [2023/02/02(木) 10:22:42.67 ID:Ww3cMMp8d.net]
あれ可変長okになってなかったっけって思ったら変わっていってるのね



301 名前:デフォルトの名無しさん mailto:sage [2023/02/02(木) 10:24:57.02 ID:UVkNbOZP0.net]
最近のCはできるん?じじいだから古いのしか知らんのだ

302 名前:デフォルトの名無しさん mailto:sage [2023/02/02(木) 10:32:02.50 ID:Ww3cMMp8d.net]
適当にぐぐるとc99で対応してc11でoptinal扱い
以降はしらぬ

303 名前:デフォルトの名無しさん mailto:sage [2023/02/02(木) 11:50:33.16 ID:UVkNbOZP0.net]
マジか、知らんかったわ
sizeofとかも可変になるんやね

304 名前:デフォルトの名無しさん mailto:sage [2023/02/02(木) 12:28:52.64 ID:HFa0iCTPd.net]
>>295
extern FILE __iob[];

305 名前:デフォルトの名無しさん mailto:sage [2023/02/02(木) 14:22:32.00 ID:UVkNbOZP0.net]
>>301
それ宣言ですやんか

306 名前:デフォルトの名無しさん mailto:sage [2023/02/02(木) 14:37:47.00 ID:3ThHJ/C20.net]
sizeofて最近では()で対象を囲まなくてもいいんだってな
知らなかったw

307 名前:デフォルトの名無しさん mailto:sage [2023/02/02(木) 14:52:29.74 ID:aiTy/mzg0.net]
最近もくそもANSI以降sizeof演算子に括弧が必要な時期ってあったの?
K&Rの頃でも要らなかった気がするけど

308 名前:デフォルトの名無しさん mailto:sage [2023/02/02(木) 14:55:50.18 ID:aiTy/mzg0.net]
変数か単項式の場合な
型名とかはエラーだろうけど

309 名前:デフォルトの名無しさん mailto:sage [2023/02/02(木) 14:56:34.41 ID:H/TFSr7b0.net]
型とオブジェクト(を表す式)のサイズを混同してるんじゃね?
複雑な式だと()があった方が読みやすい場合もあるけど、できる限りは明示的に使い分けたほうが

310 名前:デフォルトの名無しさん mailto:sage [2023/02/02(木) 14:56:36.71 ID:HFa0iCTPd.net]
>>302
不完全型が「存在しない」ってこと?



311 名前:デフォルトの名無しさん mailto:sage [2023/02/02(木) 15:03:22.53 ID:HFa0iCTPd.net]
別な話、BITMAPINFO構造体とかね

312 名前:デフォルトの名無しさん mailto:sage [2023/02/02(木) 15:15:47.14 ID:c8p/A0200.net]
char*とvoid*なら問題ないのに
char**とvoid**だと代入時に警告が出るのはおかしい
ちなみにchar**とvoid*だと警告は出ない

313 名前:デフォルトの名無しさん mailto:sage [2023/02/02(木) 15:19:10.22 ID:yftorlUH0.net]
char
お前らこれ、なんて読んでる(呼んでる)?

314 名前:デフォルトの名無しさん mailto:sage [2023/02/02(木) 15:26:34.49 ID:c8p/A0200.net]
テスト

315 名前:デフォルトの名無しさん mailto:sage [2023/02/02(木) 15:27:11.52 ID:3ThHJ/C20.net]
>>304
いらなかったのを勘違いして付けてたのかもしれん
ちなみに1990年代HP-UX上で開発してた時代の話です

316 名前:デフォルトの名無しさん [2023/02/02(木) 16:06:25.05 ID:0H/6GH320.net]
>>310
チャー

>>294
つうかヒープに確保するのはmalloc,calloc,reallocだけだと思ったら未規定なのか

317 名前:はちみつ餃子 mailto:sage [2023/02/02(木) 18:25:47.28 ID:hGGP2LZA0.net]
>>313
言語仕様上は寿命が規定されているだけで、どこから確保するなどという詳細はない。
スタックとかヒープとかいう用語すら出てこないよ。

318 名前:デフォルトの名無しさん [2023/02/02(木) 18:27:38.70 ID:0H/6GH320.net]
>>314
なるほどね

319 名前:デフォルトの名無しさん mailto:sage [2023/02/02(木) 19:09:34.25 ID:UVkNbOZP0.net]
>>307
いや、なんかすまんかった
許してくれ

320 名前:デフォルトの名無しさん mailto:sage [2023/02/02(木) 21:53:34.66 ID:UmPclByQ0.net]
>>315
世の中には汎用機みたいにハードウェアスタック持たないマシンもあるしね



321 名前:デフォルトの名無しさん mailto:sage [2023/02/02(木) 22:48:09.79 ID:hiwLlcVmd.net]
void hoge( char *src )
{
char hogebuf[strlen(src)+1];
strcpy( hogebuf, src );
...
}

みたいな使い方か
仕様にはないけど慣例としてローカル変数はスタックに取られるだろう
static char hogebuf[strlen(src)+1];
とするとデータセグメントに取られるがコンパイル時にサイズが決定できないのでコンパイルエラーになる

322 名前:デフォルトの名無しさん mailto:sage [2023/02/02(木) 22:58:23.69 ID:gL9XQdRL0.net]
_alloca 使ってみるとか

323 名前:デフォルトの名無しさん mailto:sage [2023/02/03(金) 02:49:42.07 ID:y/daVwxe0.net]
普通スタックに取られるallocaがfree要らずでプロトタイピングに簡便だね
スタックだからBOするし、しない保証も得られないけど

ちゃんと固定長バッファ用意したり、ヒープ利用を考えるのは、とりあえず動くもんが出来てからやる派

324 名前:デフォルトの名無しさん mailto:sage [2023/02/03(金) 11:57:56.75 ID:31rfnruOM.net]
c言語の標準入出力ストリームの
本当に基本的なことなんですが
わからずに困っています。
教えてください。

std::ofstream stream;

ostream << "ABCEFG";

この入力した文字列の"ABCEFG"を
右側3文字を削除して"ABC"にするには
どうすれば良いのでしょうか?

325 名前:デフォルトの名無しさん mailto:sage [2023/02/03(金) 12:14:25.95 ID:J/8wCXdid.net]
C++スレへ池
https://mevius.5ch.net/test/read.cgi/tech/1672409791/

326 名前:デフォルトの名無しさん mailto:sage [2023/02/03(金) 12:29:37.05 ID:31rfnruOM.net]
再度スレ書込み致しました。
ご迷惑おかけ致しました。

327 名前:デフォルトの名無しさん (スッププ Sdba-Ik/S) mailto:sage [2023/02/03(金) 20:02:26.07 ID:MxUVRWYAd.net]
>>318
この、外道が!
こんなんコンパイルエラーにしたる

328 名前:デフォルトの名無しさん (ワッチョイ 7a4a-5WkL) mailto:sage [2023/02/03(金) 22:09:59.33 ID:JOOyDdlj0.net]
ハッシュ君うるさいよ

329 名前:デフォルトの名無しさん [2023/02/04(土) 18:01:20.17 ID:8KrfBFTv0.net]
>>321
それはC言語ではない。

330 名前:デフォルトの名無しさん (ワッチョイ cf79-p19T) mailto:sage [2023/02/04(土) 23:59:34.16 ID:Av2vQos/0.net]
C++は最初のアホなstream仕様から抜け出せずいまだに書式出力にすら苦労するのいいよね



331 名前:デフォルトの名無しさん mailto:sage [2023/02/05(日) 00:32:35.28 ID:T8+euhoq0.net]
文字列に埋め込んで置き換えるほうが楽だもんね

332 名前:デフォルトの名無しさん mailto:sage [2023/02/05(日) 00:58:06.90 ID:7rKpaUoS0.net]
文字配列(へのポインタ値)は普通デカいから、ostreamのビット幅以上に左シフトすると0になるか、signedなら多分UD

333 名前:デフォルトの名無しさん [2023/02/05(日) 02:05:11.68 ID:5cc7+aVs0.net]
君の言っていることがよく分からない。

334 名前:デフォルトの名無しさん mailto:sage [2023/02/05(日) 02:13:54.95 ID:N1CrWJVM0.net]
C++でも一度もiostreamなんか使ったこと無いわw
かっこいいとでも思ったのかな?w

335 名前:デフォルトの名無しさん [2023/02/05(日) 14:25:38.00 ID:5cc7+aVs0.net]
そういや C++ の cout みたいなやつには printf() みたいなメソッドはないの?
Java だと System.out (java.io.PrintStreamクラス)に printf() が Java 1.5 から追加されたが。

336 名前:デフォルトの名無しさん mailto:sage [2023/02/05(日) 14:52:22.62 ID:T8+euhoq0.net]
C++20からformatってのが追加されたそうな

337 名前:デフォルトの名無しさん mailto:sage [2023/02/05(日) 14:56:17.20 ID:D7iSXwqj0.net]
>>332
c++20 から std::format
c++23 から std::print と std::println

338 名前:デフォルトの名無しさん [2023/02/05(日) 15:16:48.89 ID:5cc7+aVs0.net]
>>333 >>334
ありがとう。あるにはあったか。

339 名前:デフォルトの名無しさん mailto:sage [2023/02/05(日) 16:27:06.84 ID:3hYaBabsM.net]
C++20でstd::formatが追加されたよ

340 名前:デフォルトの名無しさん mailto:sage [2023/02/05(日) 16:27:42.01 ID:3hYaBabsM.net]
リロードしてなかったのか…失礼



341 名前:デフォルトの名無しさん mailto:sage [2023/02/05(日) 22:53:24.77 ID:Xg2vo6vu0.net]
char x=1
char y=2

上記のchar型変数のxとyを比較する際に関して質問させていただきます。

上記の変数に格納されている変数を比較する際はif文で問題ありませんか?
if(x==y)

それともmemcmpやstrcmpで比較するべきでしょうか?

342 名前:デフォルトの名無しさん (ワッチョイ 3f7c-4osW) mailto:sage [2023/02/05(日) 23:00:33.79 ID:N1CrWJVM0.net]
問題無いよ
memcmp()は使えても
strcmp()は流石に無いわw
メモリにどう格納されているかなんてエンディアンやらで違うし
memcmp()はcharの配列での比較に普通は使うだろう

343 名前:デフォルトの名無しさん (ワッチョイ 7f63-4osW) mailto:sage [2023/02/05(日) 23:06:30.35 ID:aB7ZC8J00.net]
strcmp使うと、yもxも文字列である想定で比較するから
メモリー上の配置次第で変な結果が出る可能性がある

344 名前:デフォルトの名無しさん (ワッチョイ cfab-wNzk) mailto:sage [2023/02/05(日) 23:20:42.10 ID:Xg2vo6vu0.net]
ご教授いただきありがとうございました。

345 名前:デフォルトの名無しさん mailto:sage [2023/02/05(日) 23:41:43.70 ID:7rKpaUoS0.net]
>>338
charは(ちょっと変わってるけど)整数型なので、当然数値比較でok

何か付け加えるとすれば、整数型だからといってcharと他の整数型と比較/同値テストを行うのは、Cの自明でない算術変換が落とし穴になりがちなので避けた方が賢明

>>339
!memcmp(&a, &b, 1)
的な?
その発想に感心
何の役に立つのか俺には思い付けないけど、面白いからヨシ!

346 名前:デフォルトの名無しさん mailto:sage [2023/02/05(日) 23:51:31.50 ID:N1CrWJVM0.net]
>>342
memcmp()も良く考えてみたらどうメモリに格納されているか分からないから使えないよね
intelなどのリトルエンディアンならそれで比較可能だろうけど
今ビッグエンディアンのマシンがあるのか分からないけど、昔あったpowerpcなんかはビッグエンディアンだったね

347 名前:デフォルトの名無しさん mailto:sage [2023/02/05(日) 23:59:54.19 ID:7rKpaUoS0.net]
>>343
aがアドレスの取れない変数なら&aの時点で自明にダメだね

上で提示した比較バイト数が1の特殊ケースに限っては単なるunsigned charとしての比較だから、エンディアンネスは関係ないのでは

348 名前:デフォルトの名無しさん mailto:sage [2023/02/06(月) 00:52:52.00 ID:X/MVAKzo0.net]
>>343
ビッグエンディアンだろうとリトルエンディアンだろうと1バイトのcharの比較に影響しないんじゃね?

349 名前:デフォルトの名無しさん mailto:sage [2023/02/06(月) 00:53:39.48 ID:X/MVAKzo0.net]
ちんこ被った

350 名前:デフォルトの名無しさん mailto:sage [2023/02/06(月) 01:11:21.66 ID:yYJiH9Ihd.net]
複数byteから成るwordには並べ方の任意性はあるけど、単一byteからなるword内にbyteを並べる方法は一通りしかない、って事だね



351 名前:デフォルトの名無しさん mailto:sage [2023/02/06(月) 01:12:53.01 ID:7Y+tRqBu0.net]
>>345
charで例えばchar a = 1でリトルエンディアンだとmemcmp()で1バイト比較でも大丈夫だろうけど
ビッグエンディアンの場合、プロセッサの制約次第だろうけど必ずしも
01と1バイトのみでデータが入っているとは限らず
00 00 00 01みたいに4バイトで格納されてるかも知れないから
どんなマシンでも動くという前提で作るなら辞めておいた方が無難かなという風に思った

352 名前:デフォルトの名無しさん mailto:sage [2023/02/06(月) 01:14:24.69 ID:7Y+tRqBu0.net]
実際の所は分からないけど、char同士の比較は単にa == bで問題無いし
蛇足だったな・・・

353 名前:デフォルトの名無しさん mailto:sage [2023/02/06(月) 01:38:26.50 ID:LWec8Zrw0.net]
エンディアンなんか関係ねーだろアホか

354 名前:デフォルトの名無しさん mailto:sage [2023/02/06(月) 02:12:44.74 ID:Dw7rHwSO0.net]
>>348
処理系/マシンが同一なら問題無い
Cのcharをuint_32相当として保持するマシンが仮に有ったとして、Cがcharのつもりで書き出し/読み返しを行い、unsigned char(とその配列)として比較する限りはCから違いは見えないよ
だって高級言語だもの()

バイナリデータのやり取り、詰め物あり、他言語プロセスとの共有メモリなら適切に変換するルーチンが必要だけど、それはCに限らず全てのプログラムに当てはまる事

355 名前:デフォルトの名無しさん mailto:sage [2023/02/06(月) 02:49:15.07 ID:Dw7rHwSO0.net]
32bit以下のデータを全て32bit値として扱うマシンを想定してるのかな?

それは最小アドレス単位、cで言うCHAR_BITSが32のマシンと言い換えられるよね
CHAR_BITSが何bitであろうが、cから見ればsizeof(char)==1である事には変わりがない

と言えば分かりやすいだろうか

356 名前:デフォルトの名無しさん mailto:sage [2023/02/06(月) 06:44:27.92 ID:xFQJ/1dca.net]
>>340
変な結果どころかそもそも&xや&yの次のアドレスを読もうとすることあるから未定義動作だし

357 名前:デフォルトの名無しさん mailto:sage [2023/02/06(月) 08:54:18.69 ID:KoRl3hvD0.net]
おそらく初心者であろう質問を深読みして暇をつぶすお前らに乾杯

358 名前:デフォルトの名無しさん mailto:sage [2023/02/06(月) 11:15:52.75 ID:t0SsOUx4a.net]
MISRA-C 2004 の本がある。
MISRA-Cをやっていないと、2004の潜在型/2012の本質型が分からないはず

int 型未満の型を、4バイトに変換してから、元に戻す仕組み。
CPU には、int型未満のレジスタが無いので、使わない部分をマスクするしかない

こういう内部の仕組みは、C/C++ の本には載っていない

こういう変換を知っている香具師は、
むしろ初心者じゃなくて、かなり研究している香具師

普通の香具師は、こういう仕組みを知っているはずがないから。
C/C++の本には載っていないはず

359 名前:デフォルトの名無しさん mailto:sage [2023/02/06(月) 11:23:50.95 ID:KoRl3hvD0.net]
そりゃ絶対とは言わないけどさ、詳しいのにあんな質問の仕方ならかなりひねくれてるわ

360 名前:デフォルトの名無しさん [2023/02/06(月) 15:55:39.76 ID:Pcm2g4vQ0.net]
1 byte は 8 bit とは限らないってことだな。
1 octet は 8 bit 固定と決まっているが。



361 名前:デフォルトの名無しさん mailto:sage [2023/02/06(月) 17:55:31.90 ID:KoRl3hvD0.net]
いやでもマシンによってバイトのサイズは変わるかもしれないけど、
少なくともC言語のchar型は8ビットでしょ?違うの?

362 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ cf3e-F1up) mailto:sage [2023/02/06(月) 18:07:02.20 ID:uFl4yuTv0.net]
>>358
ちがうよ。 CHAR_BIT がなんのためにあると思ってんの。

363 名前:デフォルトの名無しさん mailto:sage [2023/02/06(月) 18:13:28.24 ID:X/MVAKzo0.net]
>>355
そういうCPUの制約を気にしなくていいのが高級言語だと思うけど違うんかね?
そういうCPU相手のコンパイラならマスクするなり0埋めするなりしてるんじゃない?
想定外のCPU相手なら起こりえるかもしれないけど、それはしょうがないよね

364 名前:デフォルトの名無しさん (スップ Sddf-WS7p) [2023/02/06(月) 18:36:57.74 ID:Zh5BYfUjd.net]
Cは処理系定義が至る所にあるからな
intが2byteの環境もあるし

x86(x64)しか使わないと決め打ちできりゃいいけど
しょぼいCPU向けのしょぼいコンパイラのこと考えなきゃいけないとかなり面倒くさい

365 名前:デフォルトの名無しさん mailto:sage [2023/02/06(月) 19:21:28.86 ID:zDYmZQkKa.net]
>>360
> そういうCPUの制約を気にしなくていいのが高級言語だと思うけど違うんかね?
そういう人はJavaなりC#なりを使えばいいと思うよ

366 名前:はちみつ餃子 mailto:sage [2023/02/06(月) 20:45:09.59 ID:uFl4yuTv0.net]
>>360
システム記述言語として使うことが想定内にあるので高級言語の中では低級なほう。
半世紀前に登場した時点では高級だったかもしれんがそのときの事情を引きずり続けてたら高級になりきれないのもしょうがない。

367 名前:デフォルトの名無しさん mailto:sage [2023/02/06(月) 21:35:59.24 ID:T2gDixZS0.net]
中の下あたり?

368 名前:デフォルトの名無しさん mailto:sage [2023/02/06(月) 21:49:50.35 ID:LM+FnE4L0.net]
>>363
> 半世紀前に登場した時点では高級だったかもしれんが
当時すでにPL/1とかPascalとかあったのに何を言ってるんだか

369 名前:デフォルトの名無しさん mailto:sage [2023/02/07(火) 04:23:47.45 ID:pZBVLYXq0.net]
高級比べなんてウルトラしょーもない比較してんの初めて見たwww

370 名前:デフォルトの名無しさん (JP 0Hbf-lzBW) mailto:sage [2023/02/07(火) 08:13:05.30 ID:RNTsodhvH.net]
格納サイズが1octetな符号無し/符号付きの型



371 名前:デフォルトの名無しさん (JP 0Hbf-lzBW) mailto:sage [2023/02/07(火) 08:15:09.01 ID:RNTsodhvH.net]
>>349
等しいかどうかだけなら
そこまで神経質にならなくても良いんじゃなかろうかと

372 名前:デフォルトの名無しさん mailto:sage [2023/02/07(火) 08:51:22.05 ID:X22gDAEx0.net]
>>355
> CPU には、int型未満のレジスタが無いので

x86にはAL/AHレジスタがあるぞ

373 名前:デフォルトの名無しさん mailto:sage [2023/02/07(火) 09:53:53.00 ID:DwAJ4k/cd.net]
>>359
つまりcharはマシンのバイトなのでmemcmpではバイトオーダーなんて気にしなくていいって話だろ

374 名前:デフォルトの名無しさん mailto:sage [2023/02/07(火) 13:10:28.46 ID:3xIDowU30.net]
>>359
すまん、8ビット固定じゃなくて8ビット以上なんだな

>>370
char型は1バイト固定だからエンディアンは関係ないよな

375 名前:デフォルトの名無しさん [2023/02/07(火) 17:31:48.89 ID:I8JfvgXk0.net]
>>360
Cは色々なCPUで使える使いやすいアセンブラのようなものと思った方が良い。
色々な工夫をしてあたかも高級言語であるかのように見える状態にまで持ち込んだのだ。

376 名前:デフォルトの名無しさん mailto:sage [2023/02/07(火) 17:35:32.67 ID:oBLl+Yrl0.net]
高級アセンブラ

377 名前:デフォルトの名無しさん [2023/02/07(火) 19:08:47.78 ID:0Pg2e1tw0.net]
名誉高級言語

378 名前:デフォルトの名無しさん [2023/02/08(水) 04:20:38.79 ID:sW7k1sH00.net]
なるほどね

379 名前:デフォルトの名無しさん (ワッチョイ 4f10-4osW) mailto:sage [2023/02/08(水) 08:22:16.03 ID:iOvDDO6c0.net]
UNIXの解説書に「UNIX OSの移植の為にC言語を開発した」的なことが書かれてたなぁ。

380 名前:デフォルトの名無しさん (ワッチョイ 3fad-2sfl) [2023/02/08(水) 23:07:52.52 ID:tLamaggb0.net]
そうそう。



381 名前:デフォルトの名無しさん (ワッチョイ 7fcf-EOzK) mailto:sage [2023/02/08(水) 23:18:47.11 ID:IYzO9kXQ0.net]
へーそうなんだ
デニスリッチーはそうは思ってないみたいだけど

382 名前:デフォルトの名無しさん (ワッチョイ 7f63-4osW) mailto:sage [2023/02/09(木) 00:04:11.97 ID:u6buTta60.net]
デニスリッチーはゲームで遊びたくてC言語を開発した

383 名前:デフォルトの名無しさん mailto:sage [2023/02/09(木) 06:30:22.83 ID:p7lzjqd+M.net]
>>376
その辺りの経緯はK&R本でも触れられてなかったっけ?

384 名前:デフォルトの名無しさん mailto:sage [2023/02/10(金) 01:35:56.41 ID:y8U7vNGg0.net]
形にしたのはken, dmrだろうけど、個人的にはCの精神とCS的な観点はbwkに帰したい
the practice of programing, software tools (in pascal), the awk programing language、あたりからプロファイリング

ライターとしてずば抜けている、unixには特に拘らず節操無し、スタイルに拘りが強い、形式言語大好き

しかしk&rではセカンドオーサーだから、著作自体にどれだけ影響力あったかは?(言及あったっけ)
まあk&rは汚いコードを得意気に語るあたり、dmr成分多めな気がするなあ…

385 名前:デフォルトの名無しさん mailto:sage [2023/02/10(金) 01:48:35.12 ID:y8U7vNGg0.net]
いやk&rなんだからファーストオーサーはkernighanだわ、素で間違えた

386 名前:デフォルトの名無しさん mailto:sage [2023/02/10(金) 02:07:22.27 ID:y8U7vNGg0.net]
俺はunix系ソフトウェアツールはベル研が出してるカジュアル資料で学んだ口だけど、手元の年季入ってくたびれたハードコピーを漁るとほぼbwk著
https://i.imgur.com/n9gVQZ0.jpg

著者は意識してなかったけど、マジ伝道師

387 名前:デフォルトの名無しさん mailto:sage [2023/02/10(金) 03:12:31.86 ID:3+3yiXM/0.net]
書籍はともかくC自体誰が作ったってデニスリッチーが1人で作ったんだろうが
なんで勝手にカーニハンに帰してんだよおまえの所業は朝鮮人よりヒドイだろw

388 名前:デフォルトの名無しさん mailto:sage [2023/02/10(金) 04:20:45.54 ID:y8U7vNGg0.net]
>>384
日本PC市場でのPC向けUNIX(minix/bsd/linux)本格参戦前(90'後半?)の情報源は、彼に負う所が多かったろう、というバイアスはまあある
大学にでも所属してないとUNIX機に触る機会も無かったし、俺のように>>383のようなサンプルを見て仕様を想像しただろうアマチュア実装(だからmanページは付いてない)が流布していた

なぜCはUNIX文化から脱却できたのか?という(>>376を念頭に置いた)考察ね
bwkの著作にはCP/M, DOS, winプログラ厶の例が多いし、アーキテクチャ/OS間のポータビリティやアルファベット圏以外への進出を真剣に考えてた稀有な人なのは間違いなかろう

wchar_tやらを提唱したのはその一例だし、それを許容するためにC独特の柔軟な(=至る所unspecified)型/メモリモデルを拵えたわけで

あれ、今やどっちも負債になってるような…
いや理論上頑張ればできるけど、まあ頑張ればね?

389 名前:デフォルトの名無しさん (テテンテンテン MM4f-1Ruw) mailto:sage [2023/02/10(金) 08:31:20.48 ID:/qli6azmM.net]
カーニハンのWikipediaのページには、C言語の作成には全く関わっていないと書いてあるぞ
出典のインタビューにはリッチーが全部やったと言っている

390 名前:デフォルトの名無しさん mailto:sage [2023/02/10(金) 09:02:55.50 ID:IpbZJCuZd.net]
なんか色々とそれっぽい事書いてるけど中身全くないのにワロタ



391 名前:デフォルトの名無しさん mailto:sage [2023/02/10(金) 13:52:45.73 ID:u7Z+Ehuld.net]
>>386
だからライターとしての側面を述べてるのだが

392 名前:デフォルトの名無しさん mailto:sage [2023/02/10(金) 14:24:32.35 ID:rXRs96IF0.net]
相方を持ち上げるために
自分は何もしてないよと謙るやつか

393 名前:デフォルトの名無しさん mailto:sage [2023/02/10(金) 15:51:06.46 ID:OadphjcVd.net]
wchar_tに関しては確か日本語版2版に訳者がKへ吹き込んだ、という記述が

いわゆるK&R以外にもK&R共著は無数にあるが、おおむねイノベーターがRでKがまとめ役というのは察せられるし、そこに異論はないよ

394 名前:デフォルトの名無しさん mailto:sage [2023/02/10(金) 20:03:34.55 ID:fRHwVLJ/a.net]
おまえらかっこつけんな

395 名前:デフォルトの名無しさん mailto:sage [2023/02/10(金) 21:52:14.87 ID:CNGsx6gg0.net]
LISPに言ってくれ

396 名前:デフォルトの名無しさん mailto:sage [2023/02/10(金) 22:02:01.42 ID:ECKlR5jZ0.net]
カギ括弧で勘弁

397 名前:デフォルトの名無しさん (ワッチョイ 8a79-sQVB) mailto:sage [2023/02/11(土) 17:33:42.32 ID:naJCJAFi0.net]
名前カニチャーハンぽいから仕事してなくても許すね

398 名前:デフォルトの名無しさん mailto:sage [2023/02/11(土) 21:40:15.68 ID:vXc/j/A4d.net]
>>394
はずしたなw

399 名前:デフォルトの名無しさん [2023/02/12(日) 05:54:47.01 ID:DTNrGkO70.net]
>>394
かに飯じゃないんだ。charは何処へ消えたの。

400 名前:デフォルトの名無しさん (ワッチョイ 8aad-D0vN) [2023/02/13(月) 03:01:58.65 ID:euuzmFvH0.net]
Kani & chaRhan



401 名前:デフォルトの名無しさん (テテンテンテン MMc6-Dj+E) mailto:sage [2023/02/13(月) 03:07:30.87 ID:ww0US2bcM.net]
こん平を思い出すな…

402 名前:デフォルトの名無しさん mailto:sage [2023/02/14(火) 09:52:16.15 ID:SWO7K81V0.net]
カニ入ってる、あぁんリッチ〜

403 名前:デフォルトの名無しさん mailto:sage [2023/02/14(火) 15:36:46.24 ID:aItu9g/Ad.net]
ファミ通のお習字コーナーかよw

404 名前:デフォルトの名無しさん mailto:sage [2023/02/15(水) 16:00:13.19 ID:ficf9YEj0.net]
最近、Cが熱いのは、どのフィールドですか?

pythonなら、人工知能、みたいな

405 名前:デフォルトの名無しさん mailto:sage [2023/02/15(水) 16:1 ]
[ここ壊れてます]

406 名前:5:56.41 ID:qFuD6UUNM.net mailto: エンベデッド []
[ここ壊れてます]

407 名前:デフォルトの名無しさん mailto:sage [2023/02/15(水) 16:24:04.96 ID:aDsLy0wQ0.net]
純粋なCって実際使われている気がしないんだがなぁ
結局C++使ってるんじゃね?
組み込みとかでさえC/C++じゃなくなりつつあるような

408 名前:デフォルトの名無しさん mailto:sage [2023/02/15(水) 16:44:40.14 ID:FSuJDOWl0.net]
LinuxはC一筋です

409 名前:デフォルトの名無しさん [2023/02/15(水) 19:45:43.63 ID:yIa7rkEJ0.net]
Linux は Rust も使われ始めた。
https://codezine.jp/article/detail/17038

410 名前:デフォルトの名無しさん mailto:sage [2023/02/15(水) 20:07:02.73 ID:D5gZ9dH30.net]
>>403
自動車関係の組み込み開発してるけど純粋なC使ってるね



411 名前:デフォルトの名無しさん [2023/02/15(水) 22:41:28.51 ID:PTreX2Lr0.net]
不純なCって...

412 名前:デフォルトの名無しさん mailto:sage [2023/02/15(水) 22:43:54.06 ID:FSuJDOWl0.net]
年齢確認をちゃんとしましょう

413 名前:デフォルトの名無しさん mailto:sage [2023/02/16(木) 08:38:15.82 ID:XJzboKn0a.net]
不純なCってObjective-Cとかかな
C++はもうCじゃないし

414 名前:デフォルトの名無しさん mailto:sage [2023/02/16(木) 10:11:37.88 ID:G6Y1BfCz0.net]
表向きCってことにしてるけど、C++コンパイラでコンパイルしてて、ひっそりstringだけ使ってるみたいな?

415 名前:デフォルトの名無しさん mailto:sage [2023/02/16(木) 11:50:52.25 ID:xQKS9LtVM.net]
0bリテラルやビットフィールド順序指示子などの独自拡張あり

416 名前:デフォルトの名無しさん mailto:sage [2023/02/16(木) 11:53:11.52 ID:jE/BygjJ0.net]
C言語仕様に取り込んでほしかった

417 名前:デフォルトの名無しさん mailto:sage [2023/02/16(木) 13:40:46.45 ID:kLJI764s0.net]
0bを0xに変換するフィルタくらいなら、すぐできるだろ

418 名前:デフォルトの名無しさん mailto:sage [2023/02/16(木) 13:50:49.50 ID:5p7a/1XmM.net]
0bはC23で標準化されるよ

419 名前:デフォルトの名無しさん mailto:sage [2023/02/16(木) 13:54:29.69 ID:5p7a/1XmM.net]
digit separatorも追加されたから
0b1100'0011'0101'0011
みたいな書き方が出来る

420 名前:デフォルトの名無しさん mailto:sage [2023/02/16(木) 15:47:22.38 ID:oZu+eRtF0.net]
'がセパレーターなのか。
組み込みで0bが使える処理系は以前からあるけど、
VerilogやVHDLみたく0b1101_0100のようなセパレーターが使えなくてバグの元でしかなかった。



421 名前:デフォルトの名無しさん [2023/02/16(木) 17:05:43.13 ID:5AcA3bi5a.net]
不純な C って Win32API のことかな

422 名前:デフォルトの名無しさん mailto:sage [2023/02/16(木) 17:21:05.96 ID:XEsPtkpG0.net]
セパレータに'は文字リテラルとの曖昧性でパースが面倒そうな…

0b表記はtccでさえサポートしてる(セパレータ_, 'は不可)し、俺の普段使いで0b表記を受け付けないのは多分pccくらい

C界隈では区切り文字と桁数はロケールの管轄(闇)という事になってるけど、簡潔に明示指定できるだけで単純にデバッグ出力も読みやすくなるよね?
オクテット区切りなら
ooo_ooo、xx_xxやbbbbbbbb_bbbbbbbb
ニブル区切りはbbbb_bbbb


先行例としてlisp系のformatディレクティブを参考までに
"~[:][base,wid,pad,delim,]R"
Rは専用のb,o,d,xか、rで任意進数を指定
:はデフォルト(wid=3, delim=',)
例: "~:d"→123,456,789

423 名前:デフォルトの名無しさん mailto:sage [2023/02/16(木) 17:37:10.74 ID:CsQoVivgd.net]
>>413
リテラル導入よりまずはprintf/scanfの強化が先かなと、コンパイラやプログラマがすり替えのも楽になるし

一々baseで割ってfputc、i%sep==0の時にはdelimを吐く、なんてコードを何回書捨てたか分からん

リテラル記法導入は文法に関わるので、あくまで標準は保守的に
formatディレクティブはもう既に混沌としてるから、独自拡張もサポート落とすも自由でいいかと

424 名前:デフォルトの名無しさん mailto:sage [2023/02/16(木) 18:37:34.78 ID:jE/BygjJ0.net]
2進表記は8進表記より使い道多いと思う

425 名前:デフォルトの名無しさん mailto:sage [2023/02/16(木) 19:38:40.25 ID:LB1U3BvE0.net]
>>419
printf はともかく scanf なんて使わんだろ

426 名前:デフォルトの名無しさん mailto:sage [2023/02/16(木) 19:40:44.28 ID:LB1U3BvE0.net]
>>420
てか8進表記なんてun*xのファイルモードでしか使ったことないわ
しかも普通はdefineされたやつ使うから直接書くことはないし

427 名前:デフォルトの名無しさん (ワッチョイ 6a36-D0vN) mailto:sage [2023/02/17(金) 10:35:53.81 ID:49a3FDgU0.net]
8進数なんて8bitPC時代のグラ512色関連以外で使用する場面あるのかと思ってたけど・・・そうか、アレか。

428 名前:デフォルトの名無しさん mailto:sage [2023/02/17(金) 11:02:28.45 ID:DgZQWw4l0.net]
octal(リテラル表記)はutf-8の台頭でCで使う機会はかなり増えたと思うが
陽に扱うならだけど

msb2つを多バイト文字の継続フラグ等に割いてるから本質的には6bitで、hexだと人力では読むのも書くのも厳しい

429 名前:デフォルトの名無しさん mailto:sage [2023/02/17(金) 11:27:19.29 ID:DgZQWw4l0.net]
xx表示だとffbb_bbbbの上4bitに対応するx=ffbbが任意な値に化ける
ooo表記だとff_bbb_bbbで良い感じ

430 名前:デフォルトの名無しさん mailto:sage [2023/02/17(金) 13:16:42.61 ID:w2wgHjMGM.net]
10進数のテーブルデータ記述するのに桁合わせのつもりで先頭に0を書いた苦い思い出



431 名前:デフォルトの名無しさん mailto:sage [2023/02/17(金) 13:53:50.60 ID:2H95YDcjr.net]
なんで8進定数のプレフィックスは0oじゃなくて0なんかね?

432 名前:デフォルトの名無しさん mailto:sage [2023/02/17(金) 14:15:10.27 ID:fMLNQIVeM.net]
人間の指が4本だったら、普段使う数字が8進数になって、コンピューターとの相性も良かったのになw

433 名前:デフォルトの名無しさん mailto:sage [2023/02/17(金) 14:24:53.50 ID:vP8p7Q2U0.net]
>>422
システムコールを使ったちょっとしたコーディングの場合、オープンモードはdefineされたやつ使うけど、ファイルモードは8進の値を直接指定することが多かった
open("foo", O_CREAT|O_RDWR, 0644)
ここに S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH なんて書いたことはないな
ちゃんとしたコーディングの場合にはファイルモードを指定する別途関数なり定数定義を用意してたりするからそっちの定義ではdefineされた値を使うことはあったけど

434 名前:デフォルトの名無しさん mailto:sage [2023/02/17(金) 14:44:42.94 ID:vP8p7Q2U0.net]
直接openシステムコール使ってるオープンソースのプログラム、シェルあたりならやってそうだと思って簡単にアクセスできそうなソースコード探してみた
bash見つからなくてzshは見つかったので見てみたらやっぱり直接0600とか書いてるな
https://sourceforge.net/p/zsh/code/ci/master/tree/Src/utils.c#l2216
その上でumask(0177)とかもやってる

435 名前:デフォルトの名無しさん mailto:sage [2023/02/17(金) 18:22:15.54 ID:G6mVZKAVd.net]
ESCシーケンスを使うときは¥033

436 名前:デフォルトの名無しさん mailto:sage [2023/02/17(金) 20:16:44.94 ID:KJxAAApA0.net]
>>430
まあ、コピーライト見たらわかる通りそういう時代だったしね
> * Copyright (c) 1992-1997 ポール・ファルスタッド
マジックナンバー警察じゃないけど流石に今時0777なんて書いてたらレビューで指摘するわ

437 名前:デフォルトの名無しさん mailto:sage [2023/02/17(金) 20:50:25.13 ID:vP8p7Q2U0.net]
>>432
git のソースコードのリポジトリを clone したのがあったので、git grep O_CREATとかgit grep umask とかするとみんな0600とか書きまくりだった
git blame してみると2021年とか最近でもやりまくり
66e905b7dd0 (XXX 2021-08-25 22:16:46 +0200 82) fd = xopen(index_name, O_CREAT|O_EXCL|O_WRONLY, 0600

438 名前:);
66e905b7dd0 (XXX 2021-08-25 22:16:46 +0200 252) fd = xopen(rev_name, O_CREAT|O_EXCL|O_WRONLY, 0600);
[]
[ここ壊れてます]

439 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 09:01:47.10 ID:4a504/qwa.net]
C#について教えてください! https://smartlabo-hp.com/login-intermediate/ 上記ページを見てログインボタンを作成しました。 このページ内にあるcsvファイルの内容に加えて同csvファイルの[2]にログイン状態という列を足したいです。 ログインしてない状態では[2]は常に0、ログイン成功したら[2]に1が書かれるようにするにはどうすればいいのでしょうか? ご教授よろしくお願いします。

440 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 09:17:57.34 ID:/Gi8XN260.net]
>>434
スレ違い

こっちでやれ
https://mevius.5ch.net/test/read.cgi/tech/1669349768/



441 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 09:20:32.20 ID:/rOnqr64d.net]
ハノイの塔 再帰のアルゴリズムがさっぱりわからない

442 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 09:21:30.09 ID:/rOnqr64d.net]
ハノイの塔 再帰のアルゴリズムがさっぱりわからない

443 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 09:36:15.97 ID:AfjXtSgB0.net]
スタックから覚えようね

444 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 10:11:08.15 ID:4a504/qwa.net]
>>435
すいません

445 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 12:46:07.82 ID:/8v09ncn0.net]
>>426
8進数なのに8と9が使える驚異の仕様だよ

446 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 12:50:39.59 ID:/Gi8XN260.net]
ctype.hに
isdigitとisxdigitがあるのに
isodigitがないというのが
その問題の根にある

447 名前:デフォルトの名無しさん (ワッチョイ 1501-rc3u) mailto:sage [2023/02/18(土) 13:42:13.38 ID:c4QxGie20.net]
>>433
何を必死になってるのかよくわからんが老害の悪癖は治らないってだけの話かと

448 名前:デフォルトの名無しさん (ワッチョイ 1501-rc3u) mailto:sage [2023/02/18(土) 13:44:46.64 ID:c4QxGie20.net]
>>440
規格では使えないことになってるしまともなコンパイラならエラーにすると思うぞ

449 名前:デフォルトの名無しさん (ワッチョイ a397-vL47) mailto:sage [2023/02/18(土) 14:09:47.51 ID:BJBnPVcc0.net]
>>440
規格決めた人に問題がある
ゼロは避けるべきだった

450 名前:デフォルトの名無しさん (ワッチョイ 3d12-+91A) mailto:sage [2023/02/18(土) 14:13:43.35 ID:/Gi8XN260.net]
みんな日常的によく使う8進定数「0」



451 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 15:46:52.83 ID:ke/LtjiK0.net]
そうか、オレは二進数の0をよく使う

452 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 16:01:46.62 ID:/Gi8XN260.net]
ソースコード上での記数法と
実行環境での表現を混同してる?

453 名前:デフォルトの名無しさん [2023/02/18(土) 16:04:29.75 ID:dElKqib40.net]
>>444
じゃあ8で。

454 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 16:16:07.43 ID:/Gi8XN260.net]
なんでオーにしなかったのかとは俺も思う
特に小文字オーなら誤読しにくいし

455 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 16:31:09.02 ID:nz9Z1NDi0.net]
1文字でもキーワードを少なくしたかった当時のお洒落だったんだよ
8進表記はunix系OSが全滅すれば廃止でもいいと思うね

456 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 16:35:07.64 ID:ke/LtjiK0.net]
全滅するのに数百年はかかりそう

457 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 16:40:17.45 ID:/Gi8XN260.net]
キーワードつーてもサフィックスだからね
繋がった単語の中の部分なわけで
他の識別子との衝突の虞はない

458 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 16:42:06.93 ID:/Gi8XN260.net]
あ、しかし
int o33 = o33;
みたいになったらマズいのか
英字サフィックスは

459 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 16:47:35.72 ID:J9rEVsST0.net]
>>442
gitのソースコード、openだけじゃなくてファイルモードを引数に取る関数なんかもあるけど、誰もマクロ定数なんて使って無いや
全員老害か

460 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 16:47:37.88 ID:ke/LtjiK0.net]
"%05d" こんな風な指定して出力した10進数を、読み取らせても大丈夫だろうか?



461 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 16:49:48.25 ID:c4QxGie20.net]
>>453
馬鹿なの?
普通に 0o01234567 だろ

462 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 16:50:05.14 ID:FZadOySQ0.net]
>unix系OSが全滅すれば
泥もiOSもunix系だよね?
ゲーム機も基本OSは・・・

463 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 16:52:50.83 ID:6dDb+no40.net]
(8じゃなく)6の倍数bitワードのマシンで産まれた痕跡だっけか

>>443
8と9が混じってるかどうかで8進か10進か勝手に解釈を変える方がよっぽど厄介だから、不正として弾くのが正しいね
俺は8進が好きだし、幸いやらかした経験も無いけど
他言語では明示的な0oプレフィックスもよく見掛けるし、もちろん使えるなら使おう

464 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 17:02:18.46 ID:c4QxGie20.net]
>>454
しつこいね
具体的にどのコードの話でそいつがいつから作られてるのか書いてみ

465 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 17:08:03.05 ID:QF/qRD4Qd.net]
>>443
bad numberとか言われて
なんで特定の数字を差別するのか?キリスト教のなんかか?とまじで悩んだw

466 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 17:13:05.59 ID:nz9Z1NDi0.net]
IT業界でもwhitelist→allowlistとか言葉狩り起きてるしそのうち言語にまでLBGT配慮()きそうだわな
int ニガー = 07214545;
エラー:差別用語です

467 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 17:15:09.07 ID:J9rEVsST0.net]
>>459
例えばリポジトリ直下の copy.c で定義されている copy_file(dst,src,mode) その関数自身の定義に 0666 とか直接使っている
まあこの関数は 2008 年とかに作られたものだけど、その関数を使うコードが今月コミットされていて引数に 0666 直指定
a5792e9d092 xxxxxxxxxx 2023-02-06 20:08:11 +0100 2293) if (copy_file(dest, rebase_path_squash_msg(), 0666)) {
他 copy_file 使っているところも全部直指定

468 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 17:19:06.07 ID:c4QxGie20.net]
>>460
確かに最初見た時は俺も はあ?ってなったわw

469 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 17:19:18.78 ID:J9rEVsST0.net]
>>442
比較的新しめ?のnginxなんかは流石に関数の引数に 0600 とか書いてないけど、それでもOSのヘッダファイルの定数定義は使ってないな
自前の定義に #define NGX_FILE_DEFAULT_ACCESS 0644 とかだ
これも老害になっちゃう?

470 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 17:26:26.26 ID:c4QxGie20.net]
>>462
git は 15年以上前に初版が作られたソフトだしリーナスはもっと前からソフト開発してるだろ
ポリシーによるけどソースコードのコーディング方法を変えないことは珍しくないよ

>>464
nginx も 18年前のソフトだし作者のイーゴリ・ウラジーミロヴィチ・シソエフ
50歳超えな



471 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 17:27:46.90 ID:nz9Z1NDi0.net]
>>464
OS側の定義を使わないのは特定のOS依存をしたくないか見切りを付けてるからだな
むしろ老害避けなんじゃないの

472 名前:デフォルトの名無しさん mailto:sage [2023/02/18(土) 19:21:30.21 ID:hE3AXWNH0.net]
0x 0o 0b (0d)

473 名前:デフォルトの名無しさん mailto:sage [2023/02/19(日) 06:15:13.00 ID:B9Nm4zxk0.net]
否定から入ったり無礼な言葉ばかり使う人って他人から相談されなくなるよね

474 名前:デフォルトの名無しさん mailto:sage [2023/02/19(日) 10:30:13.08 ID:85faJvYM0.net]
それって思いっきりアスペの特徴なんだよな

475 名前:デフォルトの名無しさん mailto:sage [2023/02/19(日) 10:43:35.95 ID:xrmlsZvMa.net]
だからネットでイキってるんだろ

476 名前:デフォルトの名無しさん mailto:sage [2023/02/19(日) 10:58:14.43 ID:5TCni8wB0.net]
ダヴィンチもエジソンもアインシュタインもモーツァルトもイチローも
みなアスペルガーなんだ

477 名前:デフォルトの名無しさん mailto:sage [2023/02/19(日) 11:07:26.13 ID:xSIr/CQB0.net]
>>471
まあ、それはそうだと思うよ
長嶋(一茂じゃねーぞ)なんかもそうだと思う

478 名前:デフォルトの名無しさん mailto:sage [2023/02/19(日) 12:33:47.26 ID:rUsPVZJ7a.net]
ダヴィンチもエジソンもアインシュタインもモーツァルトもイチロー並みの才能があれば煙たがられることなく受け入れられるということよ。

479 名前:デフォルトの名無しさん mailto:sage [2023/02/19(日) 12:50:21.37 ID:oybarVkGd.net]
無知丸出しはこっちでやれ
https://mevius.5ch.net/test/read.cgi/tech/1427572389/

480 名前:デフォルトの名無しさん [2023/02/19(日) 12:53:18.65 ID:F5EkyCpBH.net]
ムチムチ



481 名前:デフォルトの名無しさん [2023/02/19(日) 13:01:28.32 ID:yOeRloac0.net]
>>449
英語では 0 (ゼロ) と書いて o (おー) と読むこともあるので、それが影響したのかも知れないね。

482 名前:デフォルトの名無しさん mailto:sage [2023/02/19(日) 14:04:50.86 ID:xSIr/CQB0.net]
>>476
printf("%o\n", 1234);
とかできるからその説はちょっと弱いかな

483 名前:デフォルトの名無しさん mailto:sage [2023/02/19(日) 14:48:58.38 ID:5TCni8wB0.net]
アスペルガーは自分に対しても他人に対しても容赦しないから
凡人に嫌われる
才能のせいではない

484 名前:デフォルトの名無しさん mailto:sage [2023/02/19(日) 14:55:52.34 ID:BF2g/YB8d.net]
ギフテッドは必ずしも自閉症を伴わない

485 名前:デフォルトの名無しさん mailto:sage [2023/02/20(月) 04:15:44.39 ID:+uPK1ifA0.net]
>>436
再帰をしないなら、コードを書けるの?

486 名前:デフォルトの名無しさん mailto:sage [2023/02/20(月) 09:47:26.91 ID:N/iEiUCGd.net]
>>480 チャレンジしたことはないけど、たぶん再帰なしでも書けません。どうか御教示をお願いします。

487 名前:デフォルトの名無しさん mailto:sage [2023/02/20(月) 09:50:41.85 ID:N/iEiUCGd.net]
ハノイの塔は再帰でしか解けない

488 名前:デフォルトの名無しさん mailto:sage [2023/02/20(月) 09:51:19.24 ID:cTmdkEXkd.net]
んなこたあない

489 名前:デフォルトの名無しさん mailto:sage [2023/02/20(月) 09:57:18.63 ID:KyZtaEjed.net]
待ち行列やLIFOは再帰的な処理を非再帰にするときの友

490 名前:デフォルトの名無しさん mailto:sage [2023/02/20(月) 11:00:02.06 ID:Htkx1bCsd.net]
再帰呼び出しする所をpushに変えてgoto最初
returnの所をpopに変えてgoto最初
時間があればそこからgotoを取り除く
gotoが輝く場面



491 名前:デフォルトの名無しさん mailto:sage [2023/02/20(月) 11:21:38.14 ID:N/iEiUCGd.net]
>>485 goto文を使うのですね 覚えておきます

492 名前:デフォルトの名無しさん mailto:sage [2023/02/20(月) 11:58:19.08 ID:KyZtaEjed.net]
アンチgoto教信者は近頃減ってきているが
絶滅はまだ先のようだな

493 名前:デフォルトの名無しさん mailto:sage [2023/02/20(月) 12:38:57.43 ID:sAm6cEmU0.net]
スパゲティGotoをたんと召し上がれ!

494 名前:デフォルトの名無しさん mailto:sage [2023/02/20(月) 13:04:25.72 ID:Htkx1bCsd.net]
再帰からループへの変換はgotoのある言語なら機械的にできるからね
存在すら許さない言語は発想を阻害してると言える

495 名前:デフォルトの名無しさん mailto:sage [2023/02/20(月) 13:35:56.24 ID:JqcJZDsUd.net]
while(スタックが空になるまで){
  pop();
  ...
}
って書き始めるけどな

496 名前:デフォルトの名無しさん mailto:sage [2023/02/20(月) 21:19:52.57 ID:I5iz8R+L0.net]
>>490
戻りのpopはそれでいいけど呼び出しのpushは処理がぶった切れるから
gotoがないとかなりややこしい変換になるよ

497 名前:デフォルトの名無しさん mailto:sage [2023/02/20(月) 23:51:00.80 ID:7qph/rf50.net]
>>485
push/pop はルール違反
それに二方向、多方向への再帰はそう簡単じゃないですけどね
二分木の全要素を列挙する非再帰プログラムを書いてください

498 名前:デフォルトの名無しさん mailto:sage [2023/02/21(火) 00:08:57.34 ID:Cn1Xq+JJ0.net]
がんばってgoto無しで作ったりしてたなあ

499 名前:デフォルトの名無しさん mailto:sage [2023/02/21(火) 06:59:46.53 ID:1n1W4gUgd.net]
push/popはルール違反て何それ?

500 名前:デフォルトの名無しさん mailto:sage [2023/02/21(火) 09:59:11.37 ID:MGN7/c1b0.net]
「俺がルールブックだ」



501 名前:デフォルトの名無しさん mailto:sage [2023/02/21(火) 10:33:24.95 ID:5S8ZyEUUd.net]
「ウリが蟹飯リッチニダ」

502 名前:デフォルトの名無しさん [2023/02/21(火) 10:51:10.49 ID:NudgdpLh0.net]
豪華な蟹飯が思い浮かんだ

503 名前:デフォルトの名無しさん (スプッッ Sd43-avQ1) mailto:sage [2023/02/21(火) 13:43:23.05 ID:1n1W4gUgd.net]
苫小牧だっけ?

504 名前:デフォルトの名無しさん (アウアウエー Sa13-1XUy) mailto:sage [2023/02/21(火) 16:27:46.36 ID:dWpsoJfPa.net]
>>436
>>481
テスト
https://ideone.com/iPWHR0

505 名前:デフォルトの名無しさん (ワッチョイ 755f-rVJW) mailto:sage [2023/02/21(火) 16:50:09.17 ID:ncQgkmT30.net]
チャットジピティれカ

506 名前:X []
[ここ壊れてます]

507 名前:デフォルトの名無しさん (スププ Sd43-CAVk) mailto:sage [2023/02/21(火) 17:05:45.18 ID:j4WOJdo9d.net]
>>499 見事です 私はまだ初級なのでvectorだのcstdioなど見たこともありません

508 名前:デフォルトの名無しさん (スップ Sd43-Tk/Z) mailto:sage [2023/02/21(火) 17:54:02.02 ID:5S8ZyEUUd.net]
>>499
お、動いた動いた!

509 名前:デフォルトの名無しさん (ワッチョイ cb63-BTrK) mailto:sage [2023/02/21(火) 17:55:02.20 ID:MGN7/c1b0.net]
goto が一つもない・・・

510 名前:デフォルトの名無しさん (アウアウウー Sa49-UkxH) mailto:sage [2023/02/21(火) 19:30:27.79 ID:oAMbgY5Ra.net]
goto文は禁じてではないかな?
C言語では



511 名前:デフォルトの名無しさん (スプッッ Sd43-avQ1) mailto:sage [2023/02/21(火) 19:48:08.10 ID:1n1W4gUgd.net]
俺様ルールは興味ないから

512 名前:デフォルトの名無しさん (ワッチョイ cb63-BTrK) mailto:sage [2023/02/21(火) 19:50:05.73 ID:MGN7/c1b0.net]
CPUレベルまで行くと、GOTOは使いまくりだろう

513 名前:デフォルトの名無しさん (スプッッ Sd43-avQ1) mailto:sage [2023/02/21(火) 19:57:40.07 ID:1n1W4gUgd.net]
機械語1命令ごとにPCを更新するのもgotoかw

514 名前:デフォルトの名無しさん (テテンテンテン MMcb-7AbM) mailto:sage [2023/02/21(火) 20:39:53.11 ID:pHGJPw2cM.net]
gotoなんて所詮関数内にしか飛べない
関数が小さければなんて事はない
巨大な関数はgoto以前に悪

515 名前:デフォルトの名無しさん (ワッチョイ cb63-BTrK) mailto:sage [2023/02/21(火) 21:02:34.32 ID:MGN7/c1b0.net]
昔いた現場は、1関数ごとに設計書を何枚も書かされてたな
それでみんな、関数の数を極力減らしてた
行き着くところ初期とメインと終了の三つ
それぞれが何百行にもなってしまったw

516 名前:デフォルトの名無しさん (ワッチョイ 2379-u8a6) mailto:sage [2023/02/21(火) 22:12:19.48 ID:QJTSRl8U0.net]
そういうのいいから

517 名前:デフォルトの名無しさん (ワッチョイ e379-+91A) mailto:sage [2023/02/21(火) 22:59:26.21 ID:fpEKur8e0.net]
硬直化して目的を忘れた「管理」に泣かされたもんだけど
それは昭和も今も変わっとらんだろ

518 名前:デフォルトの名無しさん (ワッチョイ cb63-BTrK) mailto:sage [2023/02/21(火) 23:48:29.43 ID:MGN7/c1b0.net]
プロジェクト管理はそのうちAIがやるようになるんだろうか

519 名前:デフォルトの名無しさん mailto:sage [2023/02/22(水) 03:11:04.32 ID:ZjvNTHuW0.net]
AI「壊れるまで働け、人間共よ」

520 名前:デフォルトの名無しさん mailto:sage [2023/02/22(水) 06:39:57.73 ID:6aYkdgkrd.net]
>>491
continueを知らないのか?



521 名前:デフォルトの名無しさん mailto:sage [2023/02/22(水) 15:13:03.32 ID:rwr+6TWF0.net]
>>415
やはり構文解析器(プリプロセッサ含む)に手を入れないとデリミタに'は難しそうに思うの

暇だったので>>413を(ナイーブに)
# define b(n) (strint(#n, 1u))
# define t(n) (strint(#n, 2u))
# define o(n) (strint(#n, 3u))
# define x(n) (strint(#n, 4u))
unsigned
strint(const char cs[], const unsigned wt){
long d;
unsigned u=0;
do { // valid digis: ascii '0'..'^'
if((d=*cs)<0||d>'_'-'0'+1) continue;
u<<=wt, u+=d;
} while(*cs++)
return u
}

b('1100'1010'1111'1110)
b(1100_1010_1111_1110)
o(145;366)
x(<:!?>)
全て0xCAFEに等しい、ただし' が奇数個のケース、 b(1100'1010'1111'1110)
マクロ引数を区切る,の使用はプリプロセッサがエラー吐く(cc -Eの段階)
missing terminating '/" character
too much argument
etc. (pcc/tcc)

ex/m4とか外部ツールでプリプロセスするなら別だけど、c/cプリプロセッサの構文内では不可能に思う(当然リテラルとして自然な仕様拡張も)

522 名前:デフォルトの名無しさん mailto:sage [2023/02/22(水) 15:22:17.41 ID:mafEi4nvd.net]
>>467
アセンブリやいにしえの言語は明示的なdecimal prefixを持ってるね
forthだと#123と変種?の&123
#の方がthe (decimal) 123と読めて個人的に好み

523 名前:デフォルトの名無しさん mailto:sage [2023/02/22(水) 15:23:53.30 ID:mafEi4nvd.net]
the (decimal) number 123です

524 名前:デフォルトの名無しさん mailto:sage [2023/02/22(水) 15:28:02.92 ID:mafEi4nvd.net]
299,792,458と書けたら素敵だけど
ds(299,792,458)が引数を区切る,と区別出来ないから無理だね

525 名前:デフォルトの名無しさん mailto:sage [2023/02/22(水) 16:23:34.63 ID:GDrSYSMbM.net]
ほかの言語では、123_456_789の様にアンダーバーで区切るのが多い
Cでも出来たと思うけどなぜか'なんだよな…
アンダーバーが良かった

526 名前:デフォルトの名無しさん mailto:sage [2023/02/22(水) 16:41:13.08 ID:3MJ5isf30.net]
C++に合わせたんでしょその方が都合がいいだろうし

527 名前:デフォルトの名無しさん mailto:sage [2023/02/22(水) 16:52:25.15 ID:3MJ5isf30.net]
規格の紹介をしてる>>415に対してそれは解析器を変えないと難しいとか言ってる>>515は何なんだ?
C23でこうなります、なんだから難しいもクソもないと思うんだが笑

528 名前:デフォルトの名無しさん mailto:sage [2023/02/22(水) 18:12:39.68 ID:/HhOnmf9d.net]
規格を批判してるんだが

529 名前:デフォルトの名無しさん mailto:sage [2023/02/23(木) 02:20:36.04 ID:zOdHjjZs0.net]
まだワーキングドラフトだから対応するもしないのも自由だと思うし、c2xはアトリビュート関連くらいしか追ってないが、一応意見を

せめて不正なトークンとして弾ける約物にしてほしいな
0b10101011未対応(0cでも何でも)は不正な8進
トークン構成文字0b1010_1011なら不正な型サフィックスとして不正なトークンを報告できるので、ユーザに手直しさせるのも自明
パース状態をトグルする'はEOFまで食うので、エラーが報告されたとしてもcryptic

頻用したと仮定すれば、1/2の確率で釣り合うって字句解析をパスしてしまうのも厄介

530 名前:デフォルトの名無しさん mailto:sage [2023/02/23(木) 04:08:08.64 ID:zOdHjjZs0.net]
>>416
俺は16bit程度なら一行で書いてしまうけど、より大きい整数型なら行を分けて書いてるな
(u)int64/128_tなんかで二次元データエンコードする時はこんな感じで

uint64_t plaid = 0b\
01010101\
10101010\
...\
;

ゲーム盤、行列、画像、畳み込みカーネル、マスク等、重宝する機会は多い

pbmそのままだからstatic変数にスクリプトでブチ込むのも楽で非常に重宝
普通(2)/8/10/16のみで任意進数(ビット深度)を指定できないのが歯痒いところ



531 名前:デフォルトの名無しさん mailto:sage [2023/02/25(土) 15:46:50.99 ID:2A7WVGnna.net]
C++におけるユーザー定義の接尾辞で
_数字 みたいな奴を許可していなかったら桁区切り文字はアンダースコアになってた

532 名前:デフォルトの名無しさん mailto:sage [2023/02/26(日) 07:07:10.46 ID:Gr0Cvu5K0.net]
だな

533 名前:デフォルトの名無しさん mailto:sage [2023/02/26(日) 07:37:36.32 ID:oQAKiXWbd.net]
自己参照構造体を、テキストのコードが難しくて理解できない

534 名前:デフォルトの名無しさん mailto:sage [2023/02/26(日) 07:49:42.99 ID:ymHOkbuH0.net]
>>525
まさか4567_8(→4567 of type "8")?
珍妙な…

535 名前:デフォルトの名無しさん mailto:sage [2023/02/26(日) 07:58:07.27 ID:ymHOkbuH0.net]
extern "C"で混ぜるにはもう違いが多過ぎるし、c++と足並み揃えるのやめればいいのに

536 名前:デフォルトの名無しさん mailto:sage [2023/02/26(日) 08:42:57.62 ID:Gr0Cvu5K0.net]
C++が流行りだした当時のCの財産を捨てずに済むってだけの話で
これから新しく作るものの足かせになるのは本末転倒だよな

537 名前:デフォルトの名無しさん mailto:sage [2023/02/26(日) 12:16:51.44 ID:0OyaNSrI0.net]
C言語で構造体の双方リンク理解する前にテキストエディタ作るようなことあったら
激重エディタつくってただろうなぁと経験してもないことを妄想。

1文字挿入→その後ろの文章を全部コピーでずらして・・・

538 名前:デフォルトの名無しさん mailto:sage [2023/02/26(日) 18:12:24.76 ID:zCQzTRZzM.net]
>>531
emacs なんかは1文字挿入のたびに後ろ全部コピーしなくても良いようにギャップバッファという手法を使っていた

539 名前:デフォルトの名無しさん mailto:sage [2023/02/26(日) 18:34:27.49 ID:akN/HRard.net]
>>532
emacs!
Esc x compile
に何度も助けられた
一人で五万行くらいのコードを書いてたからな
ヘッダーファイルだけで50くらいあった

540 名前:デフォルトの名無しさん (テテンテンテン MM0e-CSgJ) mailto:sage [2023/02/26(日) 20:20:17.76 ID:Qgs0XTsDM.net]
>>532
過去形だけど今もだぞw
ギャップバッファは、最近流行りの複数カーソル使って離れた複数箇所を一気に編集すると、大量にコピーが発生して重くなる可能性がある
なのでこれからテキストエディタを実装するには、Piece Tableを使う方がいいと思われる



541 名前:デフォルトの名無しさん (ワッチョイ 76cf-okFi) mailto:sage [2023/02/26(日) 20:22:02.57 ID:OdlyZwjm0.net]
Slackware+JEに入ってたMuleを3年くらい使ってたけど別のエディタに移っちゃったな
悪くないと思うんだけど時代に合ってないというか、貧相な環境の方が使い出があるエディタだったな

542 名前:デフォルトの名無しさん (テテンテンテン MM0e-CSgJ) mailto:sage [2023/02/26(日) 20:31:33.93 ID:Qgs0XTsDM.net]
EmacsとかVimを貧相と思うのは、端末内で動かせるようになってるからだ
GUIはオマケみたいな扱いだ
でも、それはそれで存在意義はある

543 名前:デフォルトの名無しさん (ワッチョイ da79-Arif) mailto:sage [2023/02/26(日) 20:37:35.64 ID:gahU4Yv80.net]
viは来世紀にも残ってそうだから最初に覚えたなあ
eなんとかはデベロッパーのオナニーが透けて見えて気持ち悪すぎた

544 名前:デフォルトの名無しさん (ワッチョイ 7663-W5vA) mailto:sage [2023/02/26(日) 21:16:43.25 ID:fbmwPkIL0.net]
viの様にコマンド覚えなくても使えたから便利だったぞ

545 名前:デフォルトの名無しさん (ワッチョイ 76cf-okFi) mailto:sage [2023/02/26(日) 22:04:54.83 ID:OdlyZwjm0.net]
>>536
ちゃう、Emacsを貧相だと思ってるんじゃなくて計算機資源が豊かでない環境の方が使い出があるって言ってるんだよ

546 名前:デフォルトの名無しさん (ワッチョイ 7db3-sBbk) mailto:sage [2023/02/26(日) 22:36:28.47 ID:0m6hfJUV0.net]
最初に使い込んだエディタの話?
俺はVZだったな

547 名前:デフォルトの名無しさん mailto:sage [2023/02/27(月) 04:08:09.05 ID:naBje3l2d.net]
スレちがいだし
わりとしょうもないレベルの自慢話になってることを警告しておくぞ

548 名前:デフォルトの名無しさん mailto:sage [2023/02/27(月) 07:30:50.50 ID:U2h1s9M4d.net]
ダム端末使ってた頃はviが有り難かったけど
今となっては当時慣らした人はともかく
若いやつにお奨めするもんじゃない
と俺は思うな

549 名前:デフォルトの名無しさん mailto:sage [2023/02/27(月) 09:43:18.06 ID:jlyK/+pC0.net]
>>531
素のCだと何もないからデータ型を一つ一つ自分で理解していけていいという意味?
例えばC++ならlistがあるから理解しないままになる?
でもlistとvectorの違いを知らなければ結局

550 名前:デフォルトの名無しさん mailto:sage [2023/02/27(月) 12:21:44.99 ID:3zla3lE+0.net]
>543
Cやる前はアセンブラだったからねぇ。アセンブラでの処理方法をそのままC言語に持ち込んでた。
当時はでっかく領域確保したらその領域で全部処理するって思考しか無かった(自動変数って概念も無し)。



551 名前:デフォルトの名無しさん mailto:sage [2023/02/27(月) 12:29:45.17 ID:U2h1s9M4d.net]
ダミーセクションは使ってたけどね

552 名前:デフォルトの名無しさん mailto:sage [2023/02/27(月) 17:11:48.94 ID:3MgFEhuya.net]
>>543
そこはdequeですよ常考

553 名前:デフォルトの名無しさん mailto:sage [2023/02/28(火) 10:24:33.59 ID:7/0mM3ia0.net]
>>544
>自動変数って概念も無し

自分はデバッグでディスアセンブルを読むぐらいしか用事がないんだけど、
ゼロからアセンブリを書く場合はスタックの操作で領域管理したりはしないと?

554 名前:デフォルトの名無しさん mailto:sage [2023/02/28(火) 10:32:54.86 ID:7/0mM3ia0.net]
>>546
listやvectorはほとんど使わない感じ?

555 名前:デフォルトの名無しさん mailto:sage [2023/02/28(火) 12:10:45.99 ID:dNNgH11Kd.net]
スタックはレジスタのバックアップが主な用途で
メモリ変数はグローバルがデフォだった
だから変数表を作ってた

556 名前:デフォルトの名無しさん mailto:sage [2023/02/28(火) 16:07:40.92 ID:Ki6W+L2N0.net]
あの 先頭に戻って検索 するかどうかを維持する変数名ってどんなのがいい?

557 名前:デフォルトの名無しさん mailto:sage [2023/02/28(火) 16:44:22.88 ID:295BsPXb0.net]
>スタックの操作で領域管理
8086系だとスタックレジスタ直接使うと遅いんじゃなかったっけ?
MOV AX、[SP+10]
とかやるより
MOV AX、[TEMP]
...
TEMP: DW 0000h

ってやる方が速いとか。



BASIC時代のマシン語CALL時のレジスタエリアは16バイトってトラウマが・・・。

558 名前:デフォルトの名無しさん [2023/02/28(火) 21:38:56.96 ID:EshvOxGGa.net]
ダミーセクションって、IBMのメインフレームのアセンブリ言語の DSECTですか?

559 名前:デフォルトの名無しさん mailto:sage [2023/02/28(火) 21:47:36.63 ID:svcsEAcG0.net]
うん

560 名前:デフォルトの名無しさん mailto:sage [2023/03/01(水) 20:42:10.06 ID:fErXdR4ud.net]
>>550
auto_reverse
絶対これにしなさい



561 名前:デフォルトの名無しさん mailto:sage [2023/03/01(水) 23:36:37.44 ID:5C60qBo90.net]
>>550
cyclic

562 名前:はちみつ餃子 mailto:sage [2023/03/02(木) 00:05:39.48 ID:pZfd6NSK0.net]
そういうのはいわゆる自転車小屋の議論になりがち。
そこそこ盛り上がりはすることもあるかもしれないけどあまり意味のある結論は出ないよ。

563 名前:デフォルトの名無しさん mailto:sage [2023/03/02(木) 03:04:30.24 ID:eGjuMjwU0.net]
するか否か、1ビットのフラグの命名に他者を巻き込む議論が本当に必要ですかということか
すなわち名前はflagとかで変数宣言部に日本語コメントでも添えた方が建設的ということだな?違うか?

564 名前:デフォルトの名無しさん mailto:sage [2023/03/02(木) 07:06:54.36 ID:xa7MSIOTd.net]
変数名の付け方は案件による
無論、一般論などない
主観と思い込みで強弁するやつはいるけどね

565 名前:デフォルトの名無しさん [2023/03/02(木) 09:03:08.54 ID:GoAAqo+J0.net]
C-gengo wa mada nihon-go kakenai no?

bool 先頭に戻って検索 = 真 ;

566 名前:デフォルトの名無しさん mailto:sage [2023/03/02(木) 16:32:03.69 ID:N0PfEOQ90.net]
質問の仕方でどういうコード書いてるか垣間見えるのはあるな
int searchtype = FROM_TOPとかBOTTOMとかBACKWARDみたいな持ち方ならそんな質問出ないだろうし

567 名前:デフォルトの名無しさん mailto:sage [2023/03/02(木) 17:21:24.58 ID:y83mRLNqd.net]
>>551
どのCPUでもダイレクト指定が速いに決まっとりまんがな
レジスタ相対はレジスタにディスプレースメントを加算してからアドレス出力するんだから

568 名前:はちみつ餃子 mailto:sage [2023/03/03(金) 01:19:24.14 ID:5ZXS0iFm0.net]
>>561
個々の命令の速度で考えればその通りだが今どきの CPU だと
パイプラインに隠れて差が出ない (差があっても観測不能なほどの極小) ってことも普通にあるんじゃないの?

569 名前:デフォルトの名無しさん mailto:sage [2023/03/03(金) 08:02:43.32 ID:an7QtCXRd.net]
1Hzぐらいの速度で計測すれば何かわかるかもしれない

570 名前:デフォルトの名無しさん mailto:sage [2023/03/03(金) 08:14:12.93 ID:jW6Dg0m70.net]
1Hzだと速度的には1秒周期なので測定の意味がない



571 名前:デフォルトの名無しさん (ワッチョイ 7663-W5vA) mailto:sage [2023/03/03(金) 22:40:53.27 ID:1TAJ9GtV0.net]
もしかするとCPUクロックをそこまで落としてデバッグしたいとかw

572 名前:デフォルトの名無しさん mailto:sage [2023/03/04(土) 06:01:07.88 ID:2lfmGWRw0.net]
[sp+10]はメモリアクセス1回だが
[temp]は2回だな
8086だとキャッシュないからメモリのウエイト数の影響をモロに受ける
どciscでパイプラインなんかないし

573 名前:デフォルトの名無しさん (スッププ Sd33-0t2P) mailto:sage [2023/03/04(土) 19:01:51.83 ID:siYz8HOgd.net]
Cのコードを書くのにアセンブラまで意識するのか、、
立派な心がけあるな
精進しなされ

でも、CPUやコンバイラで違うじゃん、、、

574 名前:デフォルトの名無しさん [2023/03/04(土) 21:31:31.02 ID:mhQJa69K0.net]
>>566
勘違いしてない?

575 名前:デフォルトの名無しさん mailto:sage [2023/03/04(土) 21:33:37.98 ID:K3zEUrJN0.net]
[sp+10]が1回なら[temp]も1回じゃね
命令のフェッチは数えないんでしょ?

プリフェッチはパイプラインみたいなもんじゃね?

576 名前:デフォルトの名無しさん mailto:sage [2023/03/04(土) 23:58:44.62 ID:D8X7oasM0.net]
素の8086にsp使えるアドレッシングはないのでbpで…
mov ax, [bp+disp] 命令3~4バイト 8+9クロック
mov ax, [TEMP] 命令4バイト 8+6クロック
と実効アドレスの計算時間に差があったという大昔のお話

577 名前:デフォルトの名無しさん mailto:sage [2023/03/05(日) 06:15:37.72 ID:nSao/Dea0.net]
>>568
何が?

578 名前:デフォルトの名無しさん mailto:sage [2023/03/05(日) 06:58:01.26 ID:94fNx05VM.net]
8086には現在のような深いパイプラインは無いがそれでもEU(Execution Unit : 実行ユニット)とBIU(Bus Interface Unit : バスインタフェースユニット)は独立しており
メモリアクセスと内部のALUはそれぞれ別々に動作する
ある意味初歩的な2段パイプラインとも言える構造で単純なクロックサイクルの加算とはならない

579 名前:デフォルトの名無しさん [2023/03/05(日) 07:13:34.61 ID:cmZGkkdl0.net]
>>571
>[temp]は2回だな
なぜ2回?

580 名前:デフォルトの名無しさん mailto:sage [2023/03/05(日) 08:11:12.86 ID:nSao/Dea0.net]
>>573
temp: dw 0000h
つまりtempはメモリに置かれている
tempのREADで1回、
[]によるインダイレクトでもう1回
だろ



581 名前:デフォルトの名無しさん (ワッチョイ 13ad-NCuH) mailto:sage [2023/03/05(日) 12:43:47.21 ID:nmaj3sub0.net]
>>567
昔昔はそういうものだったんよ。
Cは、
・プログラマの責任において何でもできる
・コンパイラはプログラマの意思に忠実であれ(余計な最適化なんかするんじゃねえ!)
ってこと。だから、
a=a+1;と、a++;は違う。
前者は加算命令、後者はインクリメント命令になってほしいというのが、プログラマの意志。
ただ、Cが色々な場で広く使われるようになって、最適化を進めるしかなくなったから、そんなのどうでもいいことになったけど。

582 名前:デフォルトの名無しさん (ワッチョイ 1969-zdzo) mailto:sage [2023/03/05(日) 12:47:05.12 ID:s1YdjeUN0.net]
>>574
だからさ……それを2回っていうなら、[sp+10]も2回だろ

583 名前:デフォルトの名無しさん (ワッチョイ d163-PMd1) mailto:sage [2023/03/05(日) 13:30:59.36 ID:nSao/Dea0.net]
>>576
何で?
即値はフェッチ時点で取り込まれているのに

584 名前:デフォルトの名無しさん (ワッチョイ 1969-zdzo) mailto:sage [2023/03/05(日) 15:05:57.71 ID:s1YdjeUN0.net]
>>577
tempもtemp自体は即値だよ
[sp+10]と[temp]の違いはレジスタ相対かどうかだけ

585 名前:デフォルトの名無しさん (ワッチョイ 13ad-Qpn1) [2023/03/05(日) 15:07:29.13 ID:YlwUczDE0.net]
>>575
ま、しかし、昔はコンパイラの最適化がしょぼかったというのもあるな。
CPU (特に 8 bit CPU とか) がC言語等のいわゆる高級言語を全く意識して作られていないというのが最大の問題だったのかも知れないが。

586 名前:デフォルトの名無しさん (ワッチョイ d163-PMd1) mailto:sage [2023/03/05(日) 15:41:40.37 ID:nSao/Dea0.net]
>>578
DWディレクティブで定義してるんだからリテラルの類だよ
命令コードと一緒にフェッチされる即値とは根本的に違う

587 名前:デフォルトの名無しさん mailto:sage [2023/03/05(日) 16:48:35.64 ID:0aHQQO/od.net]
>>577
CPU仕様によるが
68000では8ビット範囲以内のディスプレースメントは命令中に含まれてたが
8086はどうだっけ…

588 名前:デフォルトの名無しさん mailto:sage [2023/03/05(日) 17:03:05.50 ID:nSao/Dea0.net]
>>581
いやここはCPU仕様には関係ないぞ
68kにしたってdc.lディレクティブで置いた定数はディスプレースメントじゃないし

589 名前:デフォルトの名無しさん mailto:sage [2023/03/05(日) 17:27:59.49 ID:0aHQQO/od.net]
間違い、>>581は6809の話だった…


ややこしくなってるが
MOV AX、[SP+10]
がspレジスタから10バイト後を読むなら
MOV AX、[TEMP]
はアドレスTEMPを読む意味だろ

8086ニーモニックをよく知らないが

590 名前:デフォルトの名無しさん mailto:sage [2023/03/05(日) 17:44:11.51 ID:nSao/Dea0.net]
>>583
6809にしたってFDBディレクティブで置いた定数はディスプレースメントじゃないし



591 名前:デフォルトの名無しさん mailto:sage [2023/03/05(日) 18:29:27.81 ID:On/jxRV/0.net]
#include <stdio.h>
#include <math.h>

void main(void){
double a, b, c;
double x1;

a = 4;
b = -3;
c = 1;
x1 = (-b + sqrt(pow(b,2) - 4*a*c)) / (2 * a);
printf("%f\n", x1);
}

printfが-nanて表示します。これはどういう意味でしょうか?

592 名前:デフォルトの名無しさん mailto:sage [2023/03/05(日) 18:43:57.85 ID:KnQWIUK4d.net]
>>585
コンバイラかて人間や
こんなつまらん二次方程式の解をなんぞ解きたくない

そう言う意思表示や

593 名前:デフォルトの名無しさん mailto:sage [2023/03/05(日) 18:53:30.15 ID:M62PQQGq0.net]
>>585

printf("(%f)\n",pow(b,2) - 4*a*c);

594 名前:デフォルトの名無しさん mailto:sage [2023/03/05(日) 19:03:21.29 ID:On/jxRV/0.net]
あー、なんかわかってきました
そういうことか
サンクス

595 名前:はちみつ餃子 mailto:sage [2023/03/05(日) 19:07:20.35 ID:AE3nXsIn0.net]
>>585
sqrt に負数を渡した場合には定義域エラーとなり、定義域エラーのときは処理系定義の値を返す。
その処理系では処理系定義の値というのが nan だということになる。
言語仕様では詳細は規定されていないけれど
一般に浮動小数点の表現として使われる IEEE 754 などでは非数 (not a number) を表現のひとつとして持ち、
意味のある計算結果にならなかったときは非数がセットされる。
not a number の略で NaN 。

処理系によっては定義域エラーをハンドリングする方法を用意してあることもあるけど、
発生させないように事前にチェックしたほうが基本的には簡単だと思う。

596 名前:デフォルトの名無しさん mailto:sage [2023/03/05(日) 19:21:09.18 ID:0aHQQO/od.net]
よくわからないんだが
>>574が勘違いだな

TEMP: dw 0000h
はデータ0000hをメモリに置いてそのアドレスをTEMPと定義するという命令(アセンブラ疑似命令)

MOV AX,TEMP
はAXレジスタにそのアドレス値を入れる
MOV AX,[TEMP]
はAXレジスタにそのアドレスの内容(0000H)を入れる

さらに[0000H]の内容を読むにはもう1命令必要になる…はず

6809なら1命令で読めるがあまり使われなかったと思うどっちにしろ遅くなるので

597 名前:デフォルトの名無しさん mailto:sage [2023/03/05(日) 19:26:59.51 ID:eomhsMcE0.net]
6809の用語でいうとメモリ間接参照アドレッシングだな

598 名前:デフォルトの名無しさん mailto:sage [2023/03/05(日) 19:30:46.77 ID:eomhsMcE0.net]
ちなみに1命令で読むのはダイレクトページ参照アドレッシングな
6809ではあまり使われなかったけど、6502などではこれが使えないと実質何も出来ない

599 名前:デフォルトの名無しさん mailto:sage [2023/03/05(日) 23:40:03.63 ID:yUIw0mIIM.net]
>>585
nanは、何処かでnanになると、その後の演算全てがnanになる
なのでsqrtのnanが伝搬してprintfがnanを表示した
ゲーム(特に3D)は、油断するとnanを伝搬させてしまう事があって、キャラがグチャグチャに壊れて表示されるのは、それが原因
nanを伝搬させるとデバッグが大変なので、nanを出さないように細心の注意が必要だ
sqrtとか特に割り算(/)に気を付けないといけない

600 名前:デフォルトの名無しさん mailto:sage [2023/03/06(月) 02:42:50.81 ID:Ht1FmqqLd.net]
>>593
え、割り算でNaN出る?と一瞬思ったけど、0.0/0.0かな?多分
珍しいケースに思える

非ゼロ/0.0でinfが出るのは関数の根を簡易に求めるのに重宝するけど(逆数が極)、NaNが出る可能性にまでは気を配って無かったのでナイス指摘



601 名前:デフォルトの名無しさん mailto:sage [2023/03/06(月) 02:51:49.35 ID:Ht1FmqqLd.net]
>>589
IEEEはほぼCの為に制定されたようなものでは?
fpuなんて改造してナンボな本場のnumber cruncher達(ほぼFORTRAN/Fortran)は最近までIEEEなんて最近までガン無視だったわけで
今は標準モジュールにIEEEサポート入って普及してるけど

602 名前:デフォルトの名無しさん mailto:sage [2023/03/06(月) 02:52:25.09 ID:Ludh8Y7rM.net]
>>594
3Dだとベクトルのノーマライズをしょっちゅうするけど、これはベクトルの長さで割るけど、事前に長さのチェックが漏れてると、ゼロで割ることになる
そういう特殊な状況は確かに稀なんで、リリースに残ってしまうことがある

603 名前:デフォルトの名無しさん mailto:sage [2023/03/06(月) 03:02:31.96 ID:Ludh8Y7rM.net]
>>594
良く考えたら、rsqrtがnanを返してる気がする…

604 名前:デフォルトの名無しさん mailto:sage [2023/03/06(月) 03:14:56.83 ID:VyhKtCOB0.net]
>>596
俺環ではDBL_MIN/0.0でもちゃんとinf吐くから、ノーマライズされるべきベクトル(分母)が正確に0.0というのはdoubleでは考えにくいような…
3Dだとsingle以下のfloat16/8とか使うと聞くから、極端に精度が低過いと起きるのかしら?

605 名前:デフォルトの名無しさん mailto:sage [2023/03/06(月) 07:22:56.30 ID:VyhKtCOB0.net]
分子、でした

>>597
かもね

あと0.0/0.0以外の四則でもnanが出るケースは他にも思い付く(今思い付いた)
inf/infとか

まあ実数関数求根/方程式を解く目的なら(精度上での)解に達した証がinfだから、発生した時点で必ずbreakするし、事実上到達し得ない計算だけど

定義域がパッチワークみたいな複素関数で一々入力のチェックなんてやってられないし、nanには静かに伝播してもらわないと困るけど
とにかく欠損値の無い有限の実数値だけが欲しいだけ(例えばグラフィック)なら、fenv.h/signal.hで例外をヲチしてSIGFPE投げるとか、あるならsnanモードにするとか

606 名前:デフォルトの名無しさん mailto:sage [2023/03/06(月) 14:19:01.34 ID:+b36jU+h0.net]
この糖質3歩手前みたいな文章はいつもの彼かね
>>385とか>>523とかと雰囲気が同じだが

607 名前:デフォルトの名無しさん mailto:sage [2023/03/06(月) 22:43:56.50 ID:K6iDrUwm0.net]
このような状態を「思考障害」と呼び、Cプログラマの2割ほどが患っていると言われています

608 名前:デフォルトの名無しさん mailto:sage [2023/03/07(火) 07:51:33.34 ID:hIILJ8zA0.net]
次の議題は『gotoは活用すべきか全面廃止するべきか』でうわぁなにをするやめ・・・

609 名前:デフォルトの名無しさん mailto:sage [2023/03/07(火) 13:35:22.89 ID:914niPGe0.net]
行き先はhellで

610 名前:デフォルトの名無しさん mailto:sage [2023/03/07(火) 19:20:42.99 ID:L3ZoYgrgd.net]
いいか?C言語について俺に聞け
VAX11でcのコンバイラをcで作ろうとしたのはワシだ
当時のyacc lexに謎の挙動があって嫌気がさして失敗したが、、?



611 名前:デフォルトの名無しさん mailto:sage [2023/03/07(火) 19:38:38.87 ID:2Q8k5rzL0.net]
創造主を作ったのは、オレだ、みたいな

612 名前:デフォルトの名無しさん [2023/03/07(火) 22:59:35.82 ID:s3GtgFEy0.net]
インド料理屋で、NANを頼みました。

613 名前:デフォルトの名無しさん [2023/03/07(火) 23:06:20.52 ID:s3GtgFEy0.net]
>>605
そういえばID論ってのがあって、何か高度な存在が人間や宇宙を作ったってやつだが(昔ながらの神が作ったというのと似ているが神ではない)、
それならばその高度な存在はどのようにして作られたのか?それはまた別の高度な存在によって作られたのか?
とするとその存在も別のもっと高度な何かに作られたのか?という具合に無間ループになってしまう。

614 名前:デフォルトの名無しさん mailto:sage [2023/03/07(火) 23:18:55.74 ID:aKlG86O40.net]
ID論てのは地球のたった数億年で生命が生まれたのが信じがたいってだけで、
元の生命はどこかでもっと時間をかけて生まれたんじゃないかという話。

615 名前:デフォルトの名無しさん mailto:sage [2023/03/08(水) 00:40:31.06 ID:diq3Y+zm0.net]
興味深いお話ですがスレ違いです

616 名前:デフォルトの名無しさん mailto:sage [2023/03/08(水) 08:33:16.96 ID:qdKF3wc3d.net]
Cインタプリタなら昔作った
当時こういうの流行ってたし
いくつか書籍化もされてる

617 名前:デフォルトの名無しさん mailto:sage [2023/03/08(水) 08:47:42.99 ID:D4+z1pfo0.net]
どうせならB作ればよかったのに

618 名前:デフォルトの名無しさん mailto:sage [2023/03/08(水) 09:22:43.28 ID:fOZ1V1tZd.net]
>>607
ブートストラップローダという名前がついたのと似てるなw
コンピュータ起動時に次々と自分より大きいローダを読み込んで起動する様が「自分の靴紐を持ち上げて空を飛ぶ」ような無茶に思えるから

619 名前:デフォルトの名無しさん mailto:sage [2023/03/08(水) 12:12:57.95 ID:wYi2NpnKd.net]
鉄則

1 困った時のGOTO勝利
2 CALL関数はマクロ展開のヘッダファイル
3 SQL呼び出しはstructの前に敗北
4 while こそループの王 forは邪教
5 そこでbreakするな
6 switch文が見えたらバグの腐海

620 名前:デフォルトの名無しさん mailto:sage [2023/03/08(水) 12:52:17.24 ID:qdKF3wc3d.net]
でもswitchの巨大状態ループ便利なんよね
バグの温床かもしれんけどメンテは凄く楽



621 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 09:47:34.15 ID:rNyfncCj0.net]
あれやって 条件成立まって あれやって を 状態遷移しながらぶん回すときは
状態変数を int にして 巨大switch にしたくなる

けど こことここの間に新たな状態差し込みたいってときに 状態変数値どうしよう? っておよよする

622 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 09:53:04.07 ID:rH46BtzXM.net]
状態変数は列挙型にしておけば状態の追加や修正に合わせて具体的な値は勝手に変わる

623 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 10:05:04.42 ID:rNyfncCj0.net]
>>616
おおよそそれが一番良い解法なんだろうけど
次の状態へ ってのを同じ記述でいきたいよね と (return sts+1)

624 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 10:37:21.41 ID:zXViYC6t0.net]
FSMだね
古典的なハード設計では常套手段

625 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 10:42:55.43 ID:m8Mymp8XM.net]
状態マシンの欠点は割込みや並列処理の扱いが非常に厄介なところ
複数箇所から状態変数を更新される可能性を考慮すると泥沼に嵌る

626 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 10:48:34.22 ID:kE5o8bWH0.net]
更新処理は一カ所にして、順番待ちにするのが吉

627 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 10:54:14.30 ID:WaHsZI+cM.net]
通常処理のメインループと外部割込みの割込みハンドラ(特に緊急割込み処理)を同じキューで順番に更新すると処理が破綻しないか?

628 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 11:08:05.83 ID:zXViYC6t0.net]
ノンプリエンプティブなマルチは今でも

629 名前:普通にやる
問題なきゃそれが楽だから
[]
[ここ壊れてます]

630 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 11:12:46.89 ID:sK4pplDk0.net]
組込みではプリエンプティブが一般的
応答性最優先でCPUの実行権を強制的に奪わないと最悪の場合は事故に繋がる



631 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 13:56:50.62 ID:1gP/2BE4d.net]
問題なきゃって言ってるのに最悪の場合って・・・

632 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 14:41:35.25 ID:yDS62QUEM.net]
組込みシステムのタスクスケジューラーでノンプリエンプティブマルチタスクって地雷源もいいところだろ
自殺願望でもあるのか

633 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 16:23:16.50 ID:pN9rkknD0.net]
組み込みと一言で括られてプリエンティブで良い悪いの議論をされるの抵抗ある人がここにいるけど俺以外でもかなり多いんじゃないかな
プリエンティブはタスクスイッチ自体が割り込み禁止を伴うクリティカル処理だからそれが組み込みに適しているとはいい難い
タスクスイッチのレジスタ退避復帰で何十サイクルも消費して待ってる割り込みが処理できずにいるのが許容できかは案件により過ぎる
片やノンプリでは少なくとも割り込みを汚さない
従って俺はどんな案件でも通用するノンプリでまず検討する事を推奨したい。プリエンでもタイミング的に問題ないねとなったら移行すればいい
いきなりプリエンありきで作る方が自殺行為に見える

634 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 16:36:55.55 ID:StryrQ2LM.net]
タイミング的に問題ないという判断の前提が一定時間以内に必ず応答出来るという保証が必要
応答時間が保証されないノンプリエンプティブ環境でシステム設計とか殆ど不可能にしか思えない

635 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 16:39:33.97 ID:pN9rkknD0.net]
割り込みにも大別してすぐに応答が必要なもの、メインのキューに回してもよい優先度低のものの2種類存在する
プリエンティブを採用できるかどうかは前者の応答にどれだけの遅延が許容されるかという事になる
割り込みハンドラを普通にCで書くとハンドラ内で使用するレジスタの退避コードが適当に生成されるが、
許容時間によってはインラインアセンブラで最小限のレジスタで書かざるを得ない場合がある
そういう案件だとプリエンティブの採用はありえない

636 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 16:41:41.13 ID:pN9rkknD0.net]
あーこれってノンプリエンプティブを何か誤解してる奴が話に参加してるってだけか
理解したわぁ

637 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 16:45:38.25 ID:pN9rkknD0.net]
623 625 627 これ同じ人か
もうちょっと勉強してから参加しようね

638 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 16:48:44.72 ID:hgw38TJYM.net]
いやその通りだよ
保証出来るようにアセンブラすら併用せざるを得ないのが泥沼の組込み開発
それでも駄目ならソフトウェアでなく専用ハードで物理的に処置する方向を検討する

639 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 16:57:03.69 ID:EoI0IUhJM.net]
ちなみにとある産業用モータドライバー基板開発のお話し

640 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 17:02:44.72 ID:pN9rkknD0.net]
>>631
タイミング調整にアセンブラ併記は組み込み案件でなくても普通に行われてるでしょ
それと専用ハードって簡単に言うけど、大抵の組み込み案件ってハードの部品点数減らしていく傾向だから非現実的な提案にしか見えないよ
簡単に用意できるなら苦労しないし廃業だわ



641 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 17:08:56.67 ID:pN9rkknD0.net]
そもそも俺が今相手してる奴って全員ID変えてどちら様だよ
議論もまともにできず論点ずらしにも失敗してお前ほんと今みじめだぞ

642 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 17:11:58.61 ID:pN9rkknD0.net]
よくみたらこれワッチョイスレじゃん全部ばれてて草

643 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 17:14:52.84 ID:AnxNC5rK0.net]
623はともかく 625と627はワッチョイ同じじゃん

644 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 17:20:18.66 ID:iNLkXR0fM.net]
要はトータルコストの問題
この件は高価な材料(主にレアアース)を多量に使用したモーターを安価な代替品に置き換えて
同等の能力を発揮させるために高度な電子制御(いわゆるベクトル電流制御)で駆動するのが狙いだった
実際メインのマイコン処理だけでは追い付かずセンサ周りの処理は別チップのDSPを採用してる
結果的に制御系のコストは増加したが全体としては前システムの約7割程度の費用に抑えられた
長文失礼

645 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 17:22:17.10 ID:pN9rkknD0.net]
>>623も言ってることおかしいけど別回線か何かだろ
そもそも組み込みはその最悪ケースを見積もりながら設計していくって前提知識がないし

646 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 17:22:30.90 ID:kE5o8bWH0.net]
自動運転車での危険回避行動のロジックとか、聞けるのかと楽しみにしてたのに

647 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 17:34:00.29 ID:mZ/OHyfS0.net]
電気・電子
https://rio2016.5ch.net/denki/

648 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 17:41:37.81 ID:zXViYC6t0.net]
ハード絡みの話が出るのは仕方ないだろ
COBOLじゃないんだから

649 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 17:50:21.11 ID:pN9rkknD0.net]
>>637
これを1行で要約するとヤバいなあ…設計見積もりガバガバで採用したマイコンで処理できなくてハード追加調達して結果的に動いたわろたってことだろ
最近のH3失敗もだけど予算まともでもこういう経験値の奴らで作られる可能性を考えると寒いなあ
暖ったけえ話を知りたい

650 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 17:54:10.14 ID:zXViYC6t0.net]
若いのに頭固いっていうのかな
他人の言うことを聞く耳持たず自分の思い込みを自画自賛してるよな



651 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 18:26:27.17 ID:Dl2bLbopM.net]
このスレの年齢層はとても高い

652 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 18:29:05.52 ID:sK4pplDk0.net]
精神年齢は?

653 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 18:33:49.17 ID:sK4pplDk0.net]
疑心暗鬼で個人攻撃
プログラムではなくてワッチョイを語る
世も末だな

654 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 20:35:29.98 ID:pN9rkknD0.net]
最悪の場合は事故さん(>>623)がなんか被害妄想を始めてるけど
俺の主張は>>626以降で出してるから後は興味ないんだわ
反論があるならすればいいがせめてこのスレと関係ある技術的な話をしてね

655 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 20:49:30.54 ID:sK4pplDk0.net]
組込みマイコンでは常識的なレジスタバンク切替やコンテキストスイッチングのことに触れずに
レジスタ退避や復帰でサイクル消費するとか言ってる時点で組込み開発の経験が無いんだろうな
ということは分かる
余程の簡易的なものを除けばメインと割込みでいちいちスタック経由でレジスタ退避するような
間抜けなマイコンは無いだろ
それはx86のような汎用CPUの構造だ

656 名前:デフォルトの名無しさん mailto:sage [2023/03/09(木) 21:04:47.03 ID:VZ2yRc9EM.net]
似たような意見が出てきたので補足するとバンク切替なら大体2,3クロックでレジスタセット丸ごと切り替わるから割込みのオーバーヘッド自体は大した負荷にはならない
反面x86の様な大規模なレジスタ群は持てないのでそもそもの用途と構造が違う

657 名前:デフォルトの名無しさん mailto:sage [2023/03/10(金) 06:51:36.78 ID:wZRM+8gY0.net]
ドヤってるけど大したこと言ってないな

658 名前:デフォルトの名無しさん mailto:sage [2023/03/10(金) 07:19:22.02 ID:gnQ ]
[ここ壊れてます]

659 名前:OQJYP0.net mailto: そう言うなら後出しではなくて自分から大したこと語ってくれ []
[ここ壊れてます]

660 名前:デフォルトの名無しさん mailto:sage [2023/03/10(金) 07:50:43.93 ID:wZRM+8gY0.net]
マルチで何タスクを並行で動かすのかによるだろ裏レジスタだけで済むかどうかは



661 名前:デフォルトの名無しさん mailto:sage [2023/03/10(金) 07:56:30.74 ID:wZRM+8gY0.net]
無結合マルチCPUで楽々解決なんてこともあったな

662 名前:デフォルトの名無しさん mailto:sage [2023/03/10(金) 07:57:42.45 ID:gnQOQJYP0.net]
知ってる範囲では8レジスタ×4バンクというのがあった
日本製(現在は事業撤退済)

663 名前:デフォルトの名無しさん mailto:sage [2023/03/10(金) 08:08:15.26 ID:gnQOQJYP0.net]
そもそもマルチタスクのタイマ割込みの他に外部ポートからの多重割込みは
優先順位とレジスタ割当てをかなり慎重に検討するべき事項
並列処理の仕様はソフト設計の基本

664 名前:デフォルトの名無しさん mailto:sage [2023/03/10(金) 08:24:52.79 ID:wZRM+8gY0.net]
並列じゃないソフト設計も普通にあるんだが

665 名前:デフォルトの名無しさん mailto:sage [2023/03/10(金) 08:34:55.28 ID:gnQOQJYP0.net]
まあ外部割込みを一切禁止して常にポーリングでポート監視するシステムも無いことは無いが
ごく単純なパターンに限られるけどな
普通は外部からの入出力のトリガは割込みで受け付ける

666 名前:デフォルトの名無しさん mailto:sage [2023/03/10(金) 08:41:29.45 ID:wZRM+8gY0.net]
そもそもタイミングがシビアなところはハードでできるのはそうするし
かなり特殊なケースにもFPGAの対応力はありがたい

667 名前:デフォルトの名無しさん mailto:sage [2023/03/10(金) 08:47:32.61 ID:gnQOQJYP0.net]
そこまで行くとソフト設計者の範疇の外

668 名前:デフォルトの名無しさん mailto:sage [2023/03/10(金) 08:50:32.68 ID:wZRM+8gY0.net]
ハードソフト協調設計をする中でソフトでどこまでやるかってこと

669 名前:デフォルトの名無しさん mailto:sage [2023/03/10(金) 08:59:18.03 ID:OFFvcl9SM.net]
士農工商メカエレソフト
ソフト屋底辺の悲しさ
ハードソフト分担は大体は製品企画段階で決まる
メカ屋やエレキ(ハード屋)の尻拭いがソフト屋の仕事

670 名前:デフォルトの名無しさん mailto:sage [2023/03/10(金) 09:06:33.88 ID:+DlQ4xGFM.net]
DSPあたりまではソフトでカバー出来るけどFPGAにまでなるとハードの仕事



671 名前:デフォルトの名無しさん mailto:sage [2023/03/10(金) 09:17:19.56 ID:wZRM+8gY0.net]
CでROM焼きしてんのと
VerilogでFPGAやってんのは
遠くから見ても見分けがつかない

672 名前:デフォルトの名無しさん [2023/03/10(金) 16:29:37.22 ID:9R6reiLca.net]
>>644
映画Winny観て来た
時代考証が微妙なところもあったが
ノスタルジー感じたい人は逝ってヨシ

673 名前:デフォルトの名無しさん [2023/03/10(金) 16:33:31.81 ID:9R6reiLca.net]
ちなみに映画中に出て来たCのソースコードは
逆コンパイルしたようなコードで
変数名がめちゃくちゃだった

674 名前:デフォルトの名無しさん [2023/03/10(金) 16:35:25.12 ID:9R6reiLca.net]
local_001 とか
local_666 みたいな
ずらずら並んでた

675 名前:デフォルトの名無しさん mailto:sage [2023/03/10(金) 20:16:30.19 ID:EGVo42nQ0.net]
私を崇めよ
関数ポインタ配列が楽になる

676 名前: mailto:sage [2023/03/10(金) 23:25:55.00 ID:edbNYall0.net]
>>608
パン=スペルミア仮説ともいいますね

677 名前:デフォルトの名無しさん mailto:sage [2023/03/11(土) 10:14:57.49 ID:AyWAtMH4d.net]
>>665
オープンソースの何かのを借りてくればいいのにと思うが
正当な目的外だからだめかな

678 名前:はちみつ餃子 mailto:sage [2023/03/11(土) 10:33:06.84 ID:VCVl4BMy0.net]
実際に逆コンパイルされたものじゃないのか?
うろおぼえだが Winny の改造版 (?) を作ってた Lark 氏が逆コンパイルしたソースコードを放流していたような記憶がある。

679 名前:デフォルトの名無しさん [2023/03/11(土) 15:00:32.33 ID:R1SsWCE7d.net]
scanf関数もクセが強い

680 名前:デフォルトの名無しさん [2023/03/11(土) 18:34:55.65 ID:Hy+SW7JA0.net]
scanf の読み方は?



681 名前:デフォルトの名無しさん mailto:sage [2023/03/11(土) 18:46:17.31 ID:anM6KfKL0.net]
すきゃんふ

682 名前:デフォルトの名無しさん mailto:sage [2023/03/11(土) 19:06:51.49 ID:HIr/E9uU0.net]
すきゃんえふ

683 名前:デフォルトの名無しさん mailto:sage [2023/03/11(土) 19:36:37.96 ID:4mLQMbcb0.net]
当時、京都府警がソースコードを押収したとか言ってなかったっけ
だとすると今でもあるのかな

684 名前:デフォルトの名無しさん mailto:sage [2023/03/11(土) 20:41:12.44 ID:0fOr9zyF0.net]
そんな古いもんあんのかね
そもそも自分らの不手際で逮捕しなきゃいけない羽目になったんだから要らなくなったら即ポイ捨てだと思うけどね

685 名前:デフォルトの名無しさん mailto:sage [2023/03/12(日) 07:29:50.79 ID:WhaHkT9k0.net]
すきゃんてぃ

686 名前:デフォルトの名無しさん mailto:sage [2023/03/12(日) 12:04:15.69 ID:8DcR0+gea.net]
>>670
47氏本人が家宅捜査される場面で
編集中のソースコードって設定だから
本人がわざわざ逆コンパイルして使ってるのは可笑しい
仮に変数名自分で付けてたとしてもあんな名前でコード描いてたとは思えない

687 名前:デフォルトの名無しさん mailto:sage [2023/03/12(日) 12:07:04.69 ID:8DcR0+gea.net]
>>672
SNMPを「すぬんぷ」って発音してる人が居て
会話中に「えっ???」ってなった

688 名前:デフォルトの名無しさん mailto:sage [2023/03/12(日) 12:08:27.97 ID:8DcR0+gea.net]
あと別の人だけどswaponは「すわぽん」っていうのも
聴いてぎりぎり判るラインだったわ

689 名前:デフォルトの名無しさん mailto:sage [2023/03/12(日) 12:10:31.51 ID:8DcR0+gea.net]
>>676
ほんそれ
京都府警のチョンボ情報漏れが先で逮捕に至ったのに
映画では逆の展開にされていて引いたわ
圧力掛かったんかね

690 名前:デフォルトの名無しさん mailto:sage [2023/03/12(日) 12:11:07.17 ID:zZ3L0xxp0.net]
>>678
他のどんなコードを持ってきたとしても「あんなコードのはずがない」という突っ込みは受けそう。



691 名前:デフォルトの名無しさん mailto:sage [2023/03/12(日) 12:23:09.80 ID:/+cwNiL3d.net]
京都府警りょうのキンタマ

692 名前:はちみつ餃子 mailto:sage [2023/03/12(日) 14:34:58.81 ID:zw46Mo410.net]
使われているソースコードはおそらくこれということらしい。
https://github.com/loadletter/Winny-p2p

>>678
ちゃんと考証するならそりゃそうだが
重要でないところに小ネタを仕込むのもよくあることでしょ。

693 名前:デフォルトの名無しさん mailto:sage [2023/03/12(日) 14:38:15.75 ID:36zMid+Td.net]
>>682
有り得るね
https://engawa.5ch.net/test/read.cgi/poverty/1377775593/

694 名前:デフォルトの名無しさん mailto:sage [2023/03/13(月) 11:21:17.63 ID:bF2IN6wDa.net]
>あんなコードのはずがない

47氏死んでからの映画化ならではだな

695 名前:デフォルトの名無しさん mailto:sage [2023/03/13(月) 15:53:24.36 ID:gUMqyWwJd.net]
ジョブスの映画はもっと酷かったぞ
ウォズがこれがアップルIだ!っつってジョブズに見せると画面にアスキーコード順に文字が出てくるだけ
ジョブズがオオスゲーって顔するんだけどw

もっともそこですでにBASICやゲームの画面が出てくるのもおかしいんだけどな

696 名前:デフォルトの名無しさん mailto:sage [2023/03/13(月) 20:33:15.11 ID:ZWncv4YS0.net]
CALL -151

697 名前:デフォルトの名無しさん mailto:sage [2023/03/13(月) 21:56:22.40 ID:sKLW0uN10.net]
>>687
脇役で出てくるPCの時代考証がおかしかったりしたあれか

698 名前:デフォルトの名無しさん [2023/03/14(火) 01:18:17.67 ID:eWxvxvkk0.net]
>>687
その映画見てないので分からないが、もしや Apple ][ ではなく Apple I のこと?
だったらワンボードマイコンなのでテレビ画面に文字が出るだけでも当時は凄い事だったと思うが。
Apple I が作られたのは1976年だしな。

699 名前:デフォルトの名無しさん mailto:sage [2023/03/14(火) 03:06:45.91 ID:TJZO9aGD0.net]
もしやもクソも誰もApple2の話なんかしてないと思うがキミはいつもそんな調子なのかね

700 名前:デフォルトの名無しさん [2023/03/14(火) 09:46:34.46 ID:tHJOYlO8d.net]
ごく初歩的な質問です 変換して指定子を何にすればよいか教えてください

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void)
{
int id;
char ss[80];

strcpy(ss,"123");
id = atoi(ss);
printf("%d\n", ss);
return 0;
}
を実行するとでデタラメな数字が出力されます。
変換して指定子をなににすればよいのでしょうか?



701 名前:デフォルトの名無しさん [2023/03/14(火) 09:57:04.49 ID:tHJOYlO8d.net]
692です 解けました 寝ぼけていたみたいです

702 名前:デフォルトの名無しさん mailto:sage [2023/03/14(火) 10:05:55.26 ID:3kN/fw0O0.net]
%dとか%sとかの呼び方って、変換指定子、書式指定子、フォーマット指定子のどれがいいんすか?

703 名前:デフォルトの名無しさん [2023/03/14(火) 10:12:18.85 ID:tHJOYlO8d.net]
ある本によると、たんなる、「変換仕様」や「出力変換仕様」となってます

704 名前:デフォルトの名無しさん mailto:sage [2023/03/14(火) 10:34:18.75 ID:3kN/fw0O0.net]
printfで出力変換仕様ならscanfでは入力変換仕様になりそうっすね

705 名前:デフォルトの名無しさん mailto:sage [2023/03/14(火) 10:38:03.93 ID:3kN/fw0O0.net]
英語だとformat specifierなんすね
直訳ならformat→フォーマットか書式、specifier→指定子か仕様って感じすか

706 名前:デフォルトの名無しさん [2023/03/14(火) 11:19:53.02 ID:VNqhYyU8F.net]
>>690
>ワンボードマイコンなのでテレビ画面に文字が出るだけでも当時は凄い事

ほんそれ
現役体験世代しか持ち得ない臨場感ってこう言うもんよ

707 名前:デフォルトの名無しさん [2023/03/14(火) 11:22:04.60 ID:VNqhYyU8F.net]
>>692-693
いつのC使ってるのかしらんけど
警告出ないんだっけ

708 名前:デフォルトの名無しさん [2023/03/14(火) 13:01:28.77 ID:dwJIt/jSd.net]
>>699 警告出てました vscodeだと警告なしでバカ数字だけ出力される設定です

709 名前:デフォルトの名無しさん [2023/03/14(火) 13:07:48.27 ID:ZglUMoKma.net]
にぎりっ屁

710 名前:デフォルトの名無しさん mailto:sage [2023/03/14(火) 18:59:23.39 ID:4eLUupfkd.net]
>>692
なんとこのコード!
直値で領域確保など、神をも恐れぬ傍若無人
悪魔をも恐れぬ愚策の極み
とても合格点は出せない



711 名前:デフォルトの名無しさん mailto:sage [2023/03/14(火) 19:27:10.55 ID:1SjvDtDOM.net]
コンパイル時にエラーにならない可変個引数が悪い
ただ警告は出てるけどね
>>692はそれを無視してたんだろう
Cコンパイラーの警告は実質エラーだからな

712 名前:デフォルトの名無しさん mailto:sage [2023/03/14(火) 22:18:52.69 ID:xPBygAZk0.net]
> 警告は実質エラー

自分の頭で考えることを放棄したクルクルパーwww

713 名前:デフォルトの名無しさん mailto:sage [2023/03/15(水) 00:47:49.02 ID:q5LCzWGQM.net]
>>704
仕事でC使ってない素人は黙ってろよw

714 名前:デフォルトの名無しさん mailto:sage [2023/03/15(水) 00:50:40.37 ID:eS/lJ3n/0.net]
ワイは車載プログラマーだがwarningだらけやな

715 名前:デフォルトの名無しさん mailto:sage [2023/03/15(水) 00:51:38.54 ID:q5LCzWGQM.net]
>>704
こんな事言うやついるんだなw
そりゃ日本の競争力も低下するわけだ…

716 名前:デフォルトの名無しさん mailto:sage [2023/03/15(水) 06:54:14.38 ID:MuZQ71LVd.net]
>>704
「警告ね、ハイハイオッケー!」
思考放棄だろこれw

717 名前:デフォルトの名無しさん mailto:sage [2023/03/15(水) 07:36:21.87 ID:T1RUme5O0.net]
はははは、悔しそうだなw

718 名前:デフォルトの名無しさん mailto:sage [2023/03/15(水) 08:41:20.34 ID:MuZQ71LVd.net]
うわぁ…

719 名前:デフォルトの名無しさん mailto:sage [2023/03/15(水) 10:49:56.85 ID:U534XRL10.net]
JAXAのロケットが飛ばない理由はこれかも

720 名前:デフォルトの名無しさん mailto:sage [2023/03/15(水) 12:28:05.63 ID:0cl6W22rr.net]
ロケットの失敗は中抜きで必要なところにお金がまわらなかったからです



721 名前:デフォルトの名無しさん mailto:sage [2023/03/15(水) 13:20:32.86 ID:CD47sW3td.net]
>>712
へ?ロケットも元請けはデン2?

722 名前:デフォルトの名無しさん mailto:sage [2023/03/15(水) 13:31:23.12 ID:MuZQ71LVd.net]
うろ覚えのネット知識同志で問答するのはやめるんだ
ゴチャゴチャになるぞw

723 名前:デフォルトの名無しさん mailto:sage [2023/03/15(水) 13:38:30.28 ID:PyY+66E5M.net]
請け負ったのは三菱重工業だが、国産ジェットも失敗してるからな…
もうロケットはドラマの中でしか飛ばないw

724 名前:はちみつ餃子 mailto:sage [2023/03/15(水) 14:19:05.65 ID:ouX7yS+u0.net]
>>694
d や s の部分が変換指定子 (conversion specifier)。
%d や %s 、これに精度やフラグや長さ修飾子まで含めた実引数ひとつに対応する指定が変換指定 (conversion specification)。
更にこれらを含む文字列全体 (printf の第一引数や fprintf の第二引数など) が書式 (format)。
書式に含まれる普通の文字か変換指定のことを指令 (directive) という。
書式指定子 (format specifier) という用語は何を指すのか明確な説明がないのだけれど
形式としては変換指定から % を除いたものになってる。

以上の用語は JIS に基づくが K&R 第二版日本語版を見てみると
変換指定子ではなく変換文字と書かれていたり
変換指定ではなく変換仕様になっていたりする。

JIS は (ISO の規格の) 良い訳というわけではないけど
納得しようがしまいがとりあえず統一するのが規格ってものの役割なんで
より「正式」であることを指向するなら JIS に合わせるべきだと思う。
(他の用語が間違いというわけではない。)

725 名前:デフォルトの名無しさん mailto:sage [2023/03/15(水) 14:45:10.43 ID:T1RUme5O0.net]
腹いせのつもりが
またしても恥かいたなw

726 名前:デフォルトの名無しさん mailto:sage [2023/03/15(水) 15:41:59.18 ID:IBd2LSQOd.net]
>>716
翻訳入れた時点で訳者に依存する2次情報だからな
他国翻訳の後出し規格で特に用語に関しては参考に値しないよ

727 名前:デフォルトの名無しさん mailto:sage [2023/03/15(水) 15:50:17.02 ID:T1RUme5O0.net]
いやJISは一次情報だよ
何かを参考にしたとは書いてあるけどね
公文書としての責任は負うわけで

728 名前:デフォルトの名無しさん mailto:sage [2023/03/15(水) 19:38:30.28 ID:BZs4LmWfM.net]
JIS X3010は翻訳じゃなくて、プログラミング言語Cという規格だな
ま、ISOを基礎にしてるとは書いてあるがな
本質的な部分で違いがあるのかは分からない(多分無いだろうけど、有っても不思議ではない)

729 名前:はちみつ餃子 mailto:sage [2023/03/15(水) 20:45:39.37 ID:ouX7yS+u0.net]
JIS X3010:2003 内のサンプルコードのインデントが 7 なのはどういう意味があるんだろうな?
どうでもいいからこそあえて ISO と違える理由も思いつかない。

730 名前:デフォルトの名無しさん mailto:sage [2023/03/16(木) 10:34:04.56 ID:183yxeev0.net]
>>692
printf("%d\n", ss);



printf("%d\n", id);



731 名前:デフォルトの名無しさん mailto:sage [2023/03/16(木) 20:52:18.53 ID:awXg4DCe0.net]
VScodeで下記のようなMakefile作ってターミナル(PowerShell)で実行したのですが
ソースファイルを拾ってくれないです。
Makefileと同じディレクトリにsrcフォルダとその中にソースがあります。
SRC_DIRS = src
TEST := $(shell find $(SRC_DIRS) -name *.c)
test:
echo $(TEST)
エラーは「ファイルが見つかりません - *.c」と出ますがfindは使えないのですか?

732 名前:デフォルトの名無しさん mailto:sage [2023/03/17(金) 04:22:40.28 ID:1OmGmSd00.net]
>>723
nmake派だから自信ないが、ファイル内文字列検索の方のfindコマンドが呼ばれてるように見える、当たり前だけど存在しないファイルに対して文字列検索はできないので

引数的に多分findでなくgciが望みのコマンドでは
gci -file -inc *.cとかそんな感じでどうよ

733 名前:デフォルトの名無しさん [2023/03/17(金) 05:56:28.46 ID:F2H2paQ20.net]
>>723
PowerShellは知らないが、Unixだと括る。
find $(SRC_DIRS) -name *.c

find $(SRC_DIRS) -name '*.c'

734 名前:デフォルトの名無しさん mailto:sage [2023/03/17(金) 07:48:39.66 ID:FEpWoYhBd.net]
findなんて使わなくても

SRC_DIRS = src
TEST := $(wildcard $(SRC_DIRS)/*.c)

でいいだろ
つーかC言語の質問じゃねえw

735 名前:デフォルトの名無しさん mailto:sage [2023/03/17(金) 08:34:07.50 ID:FEpWoYhBd.net]
頭にsrc/がつくのが嫌なら
TEST := $(nodir $(wildcard $(SRC_DIRS)/*.c))

736 名前:デフォルトの名無しさん mailto:sage [2023/03/17(金) 11:21:24.24 ID:SxK7dSEV0.net]
うろ覚えだけど会社の入社前研修で
「UNIX OSでカレントにある*.txtファイルすべてをxxx(忘れた)するシェルスクリプトを作成しろ」
って課題出され、DOSのワイルドカードはアプリ内で処理するものだったんで
ファイル一覧のテキストファイル作ってそこから1行づつ読み込んで
".txt\n"って文字列見つけたら新たにスクリプトファイル作って実行するっての作った。

まさかシェル自体にワイルドカード処理する機能あるとは思ってなかった。

737 名前:はちみつ餃子 mailto:sage [2023/03/17(金) 11:53:15.99 ID:XLm6gsUd0.net]
>>726
C の質問ではないが Make の質問をするのに適切に思えるようなスレってなくない?
俺も困ったことがある。 (そのときは Cygwin スレかどっかで質問したけど過疎すぎて返答が付かなかった……)

C の話題ってのは言語仕様の話題だけってわけではなく開発環境の事情も含むだろうし
make も C の開発環境の一部という解釈で良いと思う。

738 名前:デフォルトの名無しさん mailto:sage [2023/03/17(金) 12:38:50.70 ID:3wI9Dhzj0.net]
なんじゃそりゃ
汎用の質問スレがあんだからそっちでいいよ

739 名前:デフォルトの名無しさん mailto:sage [2023/03/17(金) 13:26:15.13 ID:dYvRZpJb0.net]
はたらいたらmake

740 名前:デフォルトの名無しさん mailto:sage [2023/03/17(金) 13:29:23.63 ID:Oo1zHgPh0.net]
make
https://mevius.5ch.net/test/read.cgi/unix/1079538957/

最終レスが2018で、ボット臭いのを除くと2016だけど。



741 名前:デフォルトの名無しさん mailto:sage [2023/03/17(金) 13:56:33.41 ID:GNeva6hg0.net]
makeスレは昔から過疎スレだったよ
個人的にはCに関係するmakeの話はここでもいい気もするが
>>723みたいな環境や処理系すら書かないアホは相手したくないね
やはり専用スレだな

742 名前:デフォルトの名無しさん mailto:sage [2023/03/17(金) 14:16:14.65 ID:gUpaepT/d.net]
可変個引数なのか、はたまた可変長ひきすうなのか

743 名前:デフォルトの名無しさん mailto:sage [2023/03/17(金) 14:28:38.47 ID:Jukv8C3G0.net]
6.7.5.3 関数宣言子(関数原型を含む)
並びの最後が省略記号(, ...)の場合,そのコンマ以降の実引数の
個数及び型に関する情報はない(123)。

(123) <stdarg.h>ヘッダ(7.15 参照)で定義されるマクロを使えば,
省略記号に対応する引数へのアクセスが可能となる。

7.15 可変個数の実引数<stdarg.h> 

744 名前:デフォルトの名無しさん mailto:sage [2023/03/17(金) 15:06:41.64 ID:k0Wz885y0.net]
>>728
DOSをちゃんと使ったことないのだが、そバッチファイルとかいうやつの中では
ワイルドカードを使えるのとちがうの?

745 名前:デフォルトの名無しさん mailto:sage [2023/03/17(金) 15:07:17.42 ID:k0Wz885y0.net]
そ ってなんだよw

746 名前:デフォルトの名無しさん mailto:sage [2023/03/17(金) 15:09:54.39 ID:1OmGmSd00.net]
pwshは記法がmakeと被りまくっててエスケープ地獄で辛いな
特に@args | ...とか-split "a b c d "| ...のようなイディオムが

ビルトインコマンドの解決も時々失敗する怪しい挙動なので(g)makeをstraceしてみた
シェルを明示的に指定しても、makeがレシピをスキャンして展開の必要しと判定すると直接exec/CreateProcessを呼んでる様子
要するに実装の機嫌次第ですね

747 名前:デフォルトの名無しさん mailto:sage [2023/03/17(金) 16:26:27.08 ID:Jukv8C3G0.net]
>>737
「の」が抜けた脱字だろ

748 名前:デフォルトの名無しさん mailto:sage [2023/03/17(金) 16:40:16.98 ID:6pq6iSnCd.net]
>>736
じゃあDOSをちゃんと使え
以上

というか>>728が言ってるんはDOSではコマンドラインはそのままコマンドに渡されてコマンド側がワイルドカード展開しなければならないって事だと思うけど
for文を使えばバッチファイル中でワイルドカード展開できるけどな

749 名前:デフォルトの名無しさん mailto:sage [2023/03/17(金) 19:53:17.28 ID:k0Wz885y0.net]
>>740
> じゃあDOSをちゃんと使え
お断りしますw

>というか>>728が言ってるんはDOSではコマンドラインはそのままコマンドに渡されてコマンド側がワイルドカード展開しなければならないって事だと思うけど

そんな風になってるんだ。逆に目からウロコw

考えてみれば、コマンド引数は常にファイル(パス)とは限らないのだから
コマンドインタープリタ側でデフォでファイル名展開を使わない、という態度もアリなのかな

750 名前:デフォルトの名無しさん mailto:sage [2023/03/17(金) 21:22:13.62 ID:ap5J/Una0.net]
「ファイルが見つかりません - *.c」

今の話題はこれのことだろう



751 名前:デフォルトの名無しさん [2023/03/17(金) 22:10:24.98 ID:Pco9qL75d.net]
ワイルドカードで受け取ってアプリ内でいい感じに展開するのは結構負担大きいんだよな

MSDOSのシェル側の負担を減らしたいというのは発想としてはアリなんだけど、
ハードの性能が上がった現代では時代遅れになってしまった

752 名前:デフォルトの名無しさん mailto:sage [2023/03/18(土) 00:02:14.45 ID:W6y4Yh40d.net]
>>742
言えることは
普通にビルドで必要な機能は揃ってるからmakeの組み込み関数を使え
shellは最後の手段と思え
どこで展開が起こってるかエスケープ文字が食われているかを探してる時間のムダだ

753 名前:デフォルトの名無しさん [2023/03/18(土) 05:53:53.69 ID:zRF+ruu+d.net]
/* データ型が混在した可変個引数をもつ関数の例 */
#include <stdio.h>
#include <stdarg.h>

void unidisp(char *fmt, ...);

int main(void)
{
unidisp("iii",100, 200, 300); // 3つのデータ表示
unidisp("idsids", 11, 22.22, "aaaa", 33, 44.44, "bbbbb") // 6つのデータ表示
return 0;
}
/* fmt内容 → i:int値表示 d:double値表示 s:文字列表示 */
void unidisp(char *fmt, ...)
{
va_list ap; // 構造体オブジェクトを確保
va_start(ap,fmt); // 最終引数を指定してapを設定
while (*fmt) {
if (*fmt == 'i') printf("%d\n", va_arg(ap, int)); // int値表示
if (*fmt == 'd') printf("%f\n", va_arg(ap, double)); // double値表示
if (*fmt == 's') printf("%s\n", va_arg(ap, char *)); // 文字列表示

++fmt;
}
va_end(ap); // 後処理
}

上記コードのメカニズムがよくわかりません

754 名前:デフォルトの名無しさん mailto:sage [2023/03/18(土) 06:00:42.41 ID:l7CGioJ10.net]
>>745

va_argマクロの実装を読むとわかるぞ
ちとしんどいが頑張るんだ

755 名前:デフォルトの名無しさん [2023/03/18(土) 06:46:59.63 ID:zRF+ruu+d.net]
745です >>746 ありがとうございます あとで確認してみます

756 名前:デフォルトの名無しさん mailto:sage [2023/03/18(土) 07:24:12.42 ID:pLAb7CSJ0.net]
普通は関数の引数が型を指定してユーザはそれに従うところを
とりあえずすべてアドレスで渡して、ユーザが自分で「そのアドレスは何を指しているか」を明示すると言うことだよ

va_list ap;
これの実体はただのアドレス
void *p; みたいなものだね
va_argの第二引数で型を指定しているが(int,double,char*)、その型のサイズに合わせてapを進めている
以下確認のコード

printf("[0x%08X] " , *(int*)ap); でapの中身が va_argで指定した型のサイズ分だけ移動しているのが分かると思う

757 名前:デフォルトの名無しさん mailto:sage [2023/03/18(土) 07:24:33.20 ID:pLAb7CSJ0.net]
void __fastcall PrintBuffer(va_list *ap)
{
int i;
char *buf = (char*)ap;
int len=sizeof(va_list);
for(i=0;i<len;i++) printf("%02X ", buf[i] & 0xFF);
printf("[0x%08X] " , *(int*)ap);

}
/* fmt内容 → i:int値表示 d:double値表示 s:文字列表示 */
void unidisp(char *fmt, ...)
{
va_list ap; // 構造体オブジェクトを確保
va_start(ap,fmt); // 最終引数を指定してapを設定
while (*fmt) {
PrintBuffer(&ap);
if (*fmt == 'i') printf("%d sizeof(int) = %d\n", va_arg(ap, int) , sizeof(int)); // int値表示
if (*fmt == 'd') printf("%f sizeof(double) = %d\n", va_arg(ap, double) , sizeof(double)); // double値表示
if (*fmt == 's') printf("%s sizeof(char *) = %d\n", va_arg(ap, char *) , sizeof(char *)); // 文字列表示

++fmt;
}
va_end(ap); // 後処理
}

int main(void)
{
unidisp("iii",100, 200, 300); printf("\r\n"); // 3つのデータ表示
unidisp("idsids", 11, 22.22, "aaaa", 33, 44.44, "bbbbb"); // 6つのデータ表示
return 0;
}

758 名前:デフォルトの名無しさん mailto:sage [2023/03/18(土) 07:25:30.63 ID:pLAb7CSJ0.net]
あ、__fastcall は見なかったことにして
いつもの癖で……

759 名前:デフォルトの名無しさん [2023/03/18(土) 13:17:28.44 ID:fSPMk7mFa.net]
ap++ とか ++ap してないのに
どうやって進むのか興味あるわ

760 名前:デフォルトの名無しさん mailto:sage [2023/03/18(土) 13:55:06.64 ID:RZJZ36we0.net]
va_argの出番って書式出力持たないMsgBoxとかにprintf書式を渡したい時ぐらいだからfmt側の解析なんてやった覚えないな
言語処理系なんかを作る時にCのコンテキスト上で可変引数を渡したい場合にfmt部分を個数にするような特殊なケースは考えられるが



761 名前:デフォルトの名無しさん mailto:sage [2023/03/18(土) 15:27:28.06 ID:utkGGsyod.net]
>>751
apは構造体の実体だぞ
多分ポインタはその中にあってマクロva_argでインクリメントされてる

762 名前:デフォルトの名無しさん [2023/03/18(土) 15:46:47.90 ID:fSPMk7mFa.net]
>>753
>>748 観ての感想を描いただけ
>printf("[0x%08X] " , *(int*)ap); でapの中身が va_argで指定した型のサイズ分だけ移動しているのが分かると思う

763 名前:デフォルトの名無しさん mailto:sage [2023/03/18(土) 16:47:24.17 ID:F6WTPPiM0.net]
スタックに積まれたfmtのアドレスをベースになぞっていってるだけじゃないの?

764 名前:デフォルトの名無しさん mailto:sage [2023/03/18(土) 18:29:38.46 ID:a5YJoFt5d.net]
>>754
じゃあどうやって進むのかもうわかってるんじゃん
構造体やマクロ使ってるのはその中身は考えなくてもよくするため
別の言い方すればライブラリのほうが実装を変えてもソースは変更なしでコンパイルするだけで済ますため
もう実装変えることもないだろうけど…

765 名前:デフォルトの名無しさん [2023/03/18(土) 19:31:55.62 ID:YIU3ErvV0.net]
>>741
cmd.exe の場合は MS-DOS の頃の command.com との互換性を持たせたかったためか、何故か引数のファイル名展開はやらない。
command.com がやらなかった理由は CP/M の CPP (コンソールコマンドプロセッサ) を拡張した仕様で作ったからだと思う。
それと当時はメモリ少なかったしディスクも遅いしあまり複雑な事をさせたくなかったんだろうと思う。

766 名前:デフォルトの名無しさん mailto:sage [2023/03/18(土) 22:34:01.09 ID:mRvYwteE0.net]
C言語の話題に戻していくと、
VCの場合は、setargv.objをリンクしないと、
コマンドラインで指定されたワイルドカードを
ファイルに展開できなかったと思う

767 名前:デフォルトの名無しさん [2023/03/18(土) 23:08:40.43 ID:VxZ5Gdt+0.net]
ワイルドカード展開の話をするにはC言語だけじゃ済まないでしょ

Windowsの場合、シェル(cmd.exe)は
1. ワイルドカードを展開をせずにCreateProcessでプログラムにコマンドラインを1本の文字列として渡す
2. setargvがリンクされてるならワイルドカードをファイル名展開する
3. コンパイラが暗黙のうちに生成したコード部が1本の文字列をargvに渡せるようにchar**に分割する

プログラムに渡された文字列自体はタスクマネージャーからコマンドラインの項目から確認できる

768 名前:デフォルトの名無しさん [2023/03/19(日) 10:06:46.77 ID:fPDrKYk/a.net]
>>757
PHP (言語じゃない方の) 0x80 から始まるやつか

769 名前:はちみつ餃子 mailto:sage [2023/03/19(日) 10:39:51.37 ID:6gmOWdI+0.net]
>>760
ワイが持っとる資料やと PSP (Program Segment Prefix) と書いてあるんやが PHP という用語もあるんか?
実際のところ用語の混乱はかなりあるのでどれが公式なんかようわからん……。

770 名前:デフォルトの名無しさん [2023/03/19(日) 14:19:25.25 ID:j+ABECd6d.net]
>>481
https://youtu.be/a999bvLqcik



771 名前:デフォルトの名無しさん [2023/03/20(月) 14:09:31.85 ID:uf3XtkTY0.net]
やがて「ハノイの塔解いて」と一声AIに言えばAI自身が自分でハノイの塔をやって解いてしまうようになり一々プログラミング言語で出力する必要がなくなる。そして何でもやっといてとAIに頼むとAIがやってしまうようになり、ロボットのコントロールもできるので人間の代わりは何でもできるようになり全ての人間は不要になる。1万年後、AIによって飼育されていた最後の人間が死亡して人類は絶滅。その時銀河系全体を支配しているのはAI。



772 名前:デフォルトの名無しさん mailto:sage [2023/03/20(月) 14:37:20.82 ID:ZfW6Hudb0.net]
ハノイの塔解くと、その瞬間に世界は消滅する
1万年も待つ必要は無い

773 名前:デフォルトの名無しさん mailto:sage [2023/03/20(月) 14:42:36.37 ID:2uty+vYkM.net]
量子コンピュータが実用化されるまでは脅威にはならないだろ

774 名前:デフォルトの名無しさん mailto:sage [2023/03/20(月) 18:27:48.49 ID:GQGgQXaMa.net]
PHP
PSP
PNP
PIP
P2P
PAP^-1

775 名前:デフォルトの名無しさん mailto:sage [2023/03/20(月) 21:42:59.73 ID:E+Gjka8id.net]
>>764
時空が不安定になると塔が4本に増えたりするからその時どんどん進むんだよ

776 名前:デフォルトの名無しさん mailto:sage [2023/03/20(月) 21:58:40.01 ID:ZfW6Hudb0.net]
>インドのガンジス河の畔のヴァラナシ(ベナレス)に、世界の中心を表すという巨大な寺院がある。
>そこには青銅の板の上に、長さ1キュビット、太さが蜂の体ほどの3本のダイヤモンドの針が立て
>られている。そのうちの1本には、天地創造のときに神が64枚の純金の円盤を大きい円盤から順
>に重ねて置いた。これが「ブラフマーの塔」である。司祭たちはそこで、昼夜を通して円盤を別の
>柱に移し替えている(移し変えのルールが後述)。そして、全ての円盤の移し替えが終わったとき
>に、世界は崩壊し終焉を迎える。

たった64枚のハノイの塔で世界の寿命が決まる。長いのか、短いのか、微妙。

777 名前:デフォルトの名無しさん mailto:sage [2023/03/20(月) 22:09:26.36 ID:jcm8mWW1M.net]
アルゴリズム自体は既に確立しているので解決できることは証明されてる
問題は非現実的な

778 名前:r方もない回数を繰返す時間が障害となること
少なくとも現在のコンピュータでは現実的な時間で解くことは出来ない
件の64枚の円盤でも反復回数は2の64乗回で約1844京を超える
[]
[ここ壊れてます]

779 名前:デフォルトの名無しさん mailto:sage [2023/03/21(火) 12:00:15.67 ID:IwTPG7510.net]
関係ないけど

>件の64枚の円盤でも反復回数は2の64乗回で約1844京を超える

桁数多い計算はアラビア数字じゃなく、漢字で表示する電卓があってもいいんじゃないかって思えた。

780 名前:デフォルトの名無しさん mailto:sage [2023/03/21(火) 12:25:10.48 ID:UyD8IPHr0.net]
8888無量大数8888不可思8888議那由他8888阿僧祇8888恒河沙8888極8888載8888正8888澗8888溝8888穣8888??8888垓8888京8888兆8888億8888万8888

こういう7セグ液晶があればってこと?



781 名前:デフォルトの名無しさん mailto:sage [2023/03/21(火) 12:37:14.08 ID:AYNSF4vg0.net]
位取りのゼロを省けるってことが言いたいんだろう
1,000,000,000,004と一兆四みたいな

782 名前:デフォルトの名無しさん mailto:sage [2023/03/21(火) 13:02:27.49 ID:1LNxuhQm0.net]
KとかMとかでもいいんじゃね

783 名前:デフォルトの名無しさん [2023/03/21(火) 15:14:15.74 ID:icU0z8mba.net]
議那由他

784 名前:デフォルトの名無しさん [2023/03/21(火) 18:19:21.45 ID:5/U/DT+Ta.net]
そもそも3桁毎にカンマを入れるから分かりづらくなる。4桁にしなさい。

785 名前:デフォルトの名無しさん mailto:sage [2023/03/21(火) 19:53:44.07 ID:rSG8VZ2l0.net]
電卓で一兆四みたいな表示だとキー入力と表示が一致しないのが問題
1 0000 0000 0004と併記ならよいかな

786 名前:デフォルトの名無しさん mailto:sage [2023/03/21(火) 20:37:03.57 ID:AlGpjgGZ0.net]
電卓でそんな計算するな
パソコンでやれ

787 名前:デフォルトの名無しさん mailto:sage [2023/03/21(火) 20:47:39.08 ID:UyD8IPHr0.net]
excelにはsi接頭辞サポートすらないという呆れ果てた状況

788 名前:デフォルトの名無しさん mailto:sage [2023/03/21(火) 20:55:06.42 ID:P4ncG2CK0.net]
C言語でプログラム組んでみてください

結果が1844京... になることを示してください

789 名前:デフォルトの名無しさん mailto:sage [2023/03/21(火) 21:08:27.55 ID:SAsicGRC0.net]
1TBとか兆が出てくるから
電卓でやりたいという気持ちはわかる

790 名前:デフォルトの名無しさん mailto:sage [2023/03/21(火) 21:11:11.69 ID:dGZfvl2z0.net]
>771
ttps://i.imgur.com/WG6470C.jpeg
こんなかんじでゆるしたるわ。



791 名前:蟻人間 mailto:sage [2023/03/21(火) 23:01:15.49 ID:J5OkhG96d.net]
https://katahiromz.fc2.page/calc-h/
ひらがな電卓

792 名前:デフォルトの名無しさん mailto:sage [2023/03/21(火) 23:52:32.18 ID:VH9D4S5b0.net]
チャットGPTに書かせてみた
https://ideone.com/n5FOpB

793 名前:デフォルトの名無しさん mailto:sage [2023/03/23(木) 12:13:56.39 ID:AQHpwrnPa.net]
PじゃなくてEだけで良くね?への回答
https://www.youtube.com/watch?v=G9sQJKWtIyY
https://pc.watch.impress.co.jp/docs/news/1467839.html

794 名前:デフォルトの名無しさん mailto:sage [2023/03/23(木) 17:44:43.43 ID:jkM8aKTm0.net]
チャットGPTに聞けばこのスレイランな

795 名前:デフォルトの名無しさん mailto:sage [2023/03/23(木) 17:59:55.15 ID:iGp/2pYiM.net]
C言語でハノイの塔を解く方法をAIに尋ねると単純な再帰を利用したコードが回答で示された
64枚だと2^64回関数呼出しされるのでスタックが溢れてエラーになると思うけど…

796 名前:デフォルトの名無しさん mailto:sage [2023/03/23(木) 18:52:56.54 ID:idQN1Zf4a.net]
>>786
再帰を使うなと指示すると?

797 名前:デフォルトの名無しさん mailto:sage [2023/03/23(木) 20:11:19.63 ID:SbTLzylyd.net]
>>785
使い方わからないのバレバレだぞ

798 名前:デフォルトの名無しさん mailto:sage [2023/03/23(木) 20:15:11.71 ID:zF57gPzV0.net]
>>723を聞いたらこうなった

Makefileの変数展開は、シェルの変数展開とは異なり、特殊文字の処理を行います。したがって、$(shell find $(SRC_DIRS) -name .c)の.cは、Makefileの展開により、現在のディレクトリにある*.cとして解釈されてしまいます。

そのため、正しいファイルを検索するためには、*.cをクォートする必要があります。具体的には、以下のようにしてください。

TEST := $(shell find $(SRC_DIRS) -name '*.c')

また、echo $(TEST)は、Makefileのルールではありません。Makefileルールにするには、次のようにしてください。

test:
echo $(TEST)

これで、make testコマンドを実行すると、$(SRC_DIRS)ディレクトリ以下のすべての.cファイルが出力されるはずです。

799 名前:デフォルトの名無しさん [2023/03/23(木) 23:34:17.83 ID:bSG3NjS70.net]
>>789
「*.c」を勝手に「.c」と解釈してはいけない。
testターゲットのくだりは何を言いたいのかわからない。

800 名前:デフォルトの名無しさん mailto:sage [2023/03/24(金) 01:40:52.79 ID:fdUS3d7o0.net]
どうせコピペミスでタブが消えたりしてるんだろう。



801 名前:デフォルトの名無しさん mailto:sage [2023/03/24(金) 01:47:36.96 ID:+5hIDmAP0.net]
ChatGPTに聞いたことそのままを得意げにレスする無能はこの世から退場してほしいよマジで

802 名前:デフォルトの名無しさん (アウアウウー Sa95-preR) [2023/03/24(金) 02:25:05.15 ID:OLNVz4ZMa.net]
という事らしいけどこのコマンドだとワイルドカードの展開後にスペースが入るとダメになるのか?
https://i.imgur.com/q27hlri.jpg

803 名前:デフォルトの名無しさん (ワッチョイ d12d-a1qf) mailto:sage [2023/03/24(金) 07:44:01.08 ID:3nCdLXbn0.net]
>>764
奥村先生のアルゴリズム事典読んでないのか

(前略)
完成したときには塔は崩れ、世界の終わりが来る。
以上はEdouard Lucasによる作り話である。
Recreations mathematiques, four volumes,

804 名前:デフォルトの名無しさん mailto:sage [2023/03/24(金) 08:07:45.16 ID:H5Ma0rS5M.net]
単純計算で5000億年以上未来の話
ちなみに宇宙の歴史は現在約137億年

805 名前:デフォルトの名無しさん [2023/03/24(金) 08:12:52.05 ID:5/LG9PJA0.net]
Windowsでのfindといえば「指定ディレクトリ以下のファイルを列挙する」じゃなくて「標準入力から検索パターンにマッチした行を出力する(grepみたいな感じ)」だぞ

shellはpowershell.exeだし(shではない)、
gnuコマンドはわざわざ入れないと使えない。
同名のDOSコマンドがあるから紛らわしい。

gnu-makeを1つ持ってきただけでlinuxと同じように使えると思うなよ

806 名前:デフォルトの名無しさん mailto:sage [2023/03/24(金) 08:58:21.29 ID:BXtHk51Qd.net]
だからmakeの組み込み関数使えって
unix系とDOS系で外部コマンドの仕様も挙動も違うので呼び出しに失敗する可能性が高いから

もっともmakeの関数も微妙に違うけどなw

807 名前:デフォルトの名無しさん mailto:sage [2023/03/24(金) 12:34:44.06 ID:Z+lkBBvAd.net]
>>794
なんだ嘘だったのかー
俺の時間を返せよー

808 名前:デフォルトの名無しさん mailto:sage [2023/03/24(金) 16:39:40.70 ID:jOUoDADO0.net]
君の人生は三枚分くらいだ

809 名前:デフォルトの名無しさん (スッップ Sd62-gKT6) mailto:sage [2023/03/25(土) 13:09:54.16 ID:LtI+pZf0d.net]
DOS用にリメイクしたのがNMAKE

810 名前:デフォルトの名無しさん (アウアウウー Saa5-tUaT) [2023/03/28(火) 17:18:26.98 ID:hvNFNzxEa.net]
NMAKEとnmakeは別物
CMAKEとcmakeも別物



811 名前:デフォルトの名無しさん mailto:sage [2023/03/28(火) 21:32:09.46 ID:b9xJHTM00.net]
NMAKEとnmakeって区別つくのか?

812 名前:デフォルトの名無しさん mailto:sage [2023/03/29(水) 01:50:54.12 ID:SUmt67gz0.net]
言われてみればひつまぶしとひまつぶしとか区別難しいよね。

813 名前:デフォルトの名無しさん mailto:sage [2023/03/29(水) 06:33:27.98 ID:/YP4UcCE0.net]
なおざりとおざなりとか

814 名前:デフォルトの名無しさん [2023/03/29(水) 07:35:43.16 ID:aVGT5NH20.net]
K&RとK&K缶つまは区別が難しい。

815 名前:デフォルトの名無しさん mailto:sage [2023/03/29(水) 08:00:28.55 ID:KlLOEDO70.net]
ビットAND

816 名前:デフォルトの名無しさん mailto:sage [2023/03/29(水) 10:38:44.75 ID:i2Cmbqbld.net]
>>802
UNIXのファイル名は大文字小文字を区別する

817 名前:デフォルトの名無しさん mailto:sage [2023/03/29(水) 10:52:21.31 ID:G1cQpJHKd.net]
UNIX版のNMAKEってあるの?

818 名前:デフォルトの名無しさん mailto:sage [2023/03/29(水) 19:37:12.44 ID:UTBm5KT2d.net]
コンパイルすること
ウニツクスにできないことは「出来ましえーん」と言う言葉

819 名前:デフォルトの名無しさん mailto:sage [2023/03/29(水) 19:37:56.22 ID:A5Sld2vWd.net]
ユニクズ

820 名前:デフォルトの名無しさん mailto:sage [2023/03/29(水) 21:42:59.38 ID:lgv9dsNdd.net]
UNIXがクズというならC言語使うなよw



821 名前:デフォルトの名無しさん mailto:sage [2023/03/29(水) 21:45:20.51 ID:KlLOEDO70.net]
Multics -> Unics -> UNIX

822 名前:デフォルトの名無しさん mailto:sage [2023/03/29(水) 21:53:54.36 ID:IqGKKWkZ0.net]
昔リモートでろ具インする際に、迂闊にもユーザー名を大文字で入力してしまったことがあったが
そのまま通してくれたが、その端末の入力文字が全て大文字で扱われてしまったw

823 名前:デフォルトの名無しさん (ワッチョイ 5902-hP/J) mailto:sage [2023/03/31(金) 05:41:00.80 ID:oqvq/yKq0.net]
そんな仕様ってあったっけ?

824 名前:デフォルトの名無しさん (ワッチョイ e510-uluY) mailto:sage [2023/03/31(金) 07:47:26.16 ID:qPx00nGL0.net]
もしかしたらULTRIXの独自仕様かな?

825 名前:デフォルトの名無しさん (ワッチョイ 4910-3uzD) mailto:sage [2023/03/31(金) 07:53:00.14 ID:FWT7xs5+0.net]
昔FreeBSDかなんかで入力ミスでファイル名が空白入りだか通常ファイル名に使用できないはずの文字が使われて消すのに難儀した記憶があるなぁ。
"で囲って解決できたけど、UNIX歴1年(+大学のFortran 講義4年)の若造にはすぐに思いつかんかった。

826 名前:デフォルトの名無しさん (ワッチョイ 4d63-QuRV) mailto:sage [2023/03/31(金) 09:44:55.95 ID:RwPszGx50.net]
remove()を使うって発想もなかったん?

827 名前:デフォルトの名無しさん (ワッチョイ 2e63-3uzD) mailto:sage [2023/03/31(金) 10:06:11.78 ID:ZGSDW47D0.net]
以前の職場、頭に”-”付いたファイルがよく放置されてたな

828 名前:デフォルトの名無しさん (アウアウウー Saa5-3uzD) mailto:sage [2023/03/31(金) 12:22:34.54 ID:EpaLX3NUa.net]
getopt()の仕様がわかってないと削除できないやつね

829 名前:デフォルトの名無しさん (スップ Sdc2-BuZC) [2023/03/31(金) 16:04:12.84 ID:VmvJgfTvd.net]
-rfという名前のファイル置いときますね

830 名前:デフォルトの名無しさん (スッププ Sdd6-wCIk) mailto:sage [2023/03/31(金) 16:20:13.87 ID:N/uv7Ri4d.net]
*で全部消える



831 名前:デフォルトの名無しさん (ワッチョイ ff9a-Pd8U) mailto:sage [2023/04/01(土) 04:36:47.77 ID:TiOY9/eM0.net]
>>813
ttyに「大文字だけの端末」みたいのをサポートするモードがあったはず
今でもsttyにolcucとかオプションがある

832 名前:デフォルトの名無しさん mailto:sage [2023/04/01(土) 08:01:57.89 ID:JdkGmPlI0.net]
>>786
手順が2⁶⁴-1回なだけで2⁶⁴段スタックがたまるわけじゃないぞ?

833 名前:デフォルトの名無しさん mailto:sage [2023/04/01(土) 08:28:02.36 ID:RFr3BRPJ0.net]
その手順ごとに自身が呼ばれるから64回の再帰ってことじゃないの?

834 名前:デフォルトの名無しさん (ワッチョイ ffda-no2l) mailto:sage [2023/04/02(日) 05:17:00.30 ID:raeheLh20.net]
>>823
実際にスタックに積まれる段数の最大値は最後の1枚分を除いた直前のすべての移動枚数分
要するに一番下の円盤の移動の直前にそれまでの移動分がすべてスタックに積まれる

835 名前:デフォルトの名無しさん (ワッチョイ 7ffb-Z8D1) [2023/04/02(日) 05:25:52.58 ID:t6gv1L3z0.net]
この手のスタックに積まれるのが最大になるタイミングって実装依存になるような気がするが

俺の場合だと1番上に置いてある最初の1枚を動かすタイミングでスタックに64段積まれる

836 名前:デフォルトの名無しさん (スッププ Sd8f-Yz/h) mailto:sage [2023/04/02(日) 09:45:46.28 ID:NRuCP2qfd.net]
>>786
2^64回ではなくて64!回じゃないのか?

837 名前:デフォルトの名無しさん (ラクッペペ MM4f-+zBY) mailto:sage [2023/04/02(日) 10:09:18.45 ID:tfS01X/KM.net]
>>827
正確には、最短で(2^64-1)回

1枚 1回
2枚 3回
3枚 7回
4枚 15回
・・・
n枚 (2^n-1)回

考え方としては、1回前までの円盤を一時的に順に積み上げて最後の1枚を目標に移動し
その後その円盤の上に全く同じ手順で直前までの手順を復元する

要するに、n枚の時の回数をA(n)回とすると、(n+1)枚の時の回数はA(n+1)=A(n)*2+1
この漸化式の一般解を求めると上の回数になる

その結果、繰返し回数の見積りは
O(n)=2^n
となる

838 名前:デフォルトの名無しさん (スッププ Sd8f-Yz/h) mailto:sage [2023/04/02(日) 10:39:38.37 ID:NRuCP2qfd.net]
いや一枚動かすごとに再帰呼び出す必要ない
n枚動かすならパラメータをn-1枚にして自分自身を再帰呼び出し
そうしてn=1になればもう呼び出す必要はない
結果的にスタックはn段で足りる
再帰呼び出しの利点はまさにそれだから

839 名前:デフォルトの名無しさん (ワッチョイ ff63-kVuH) mailto:sage [2023/04/02(日) 10:39:44.95 ID:vuecyBii0.net]
俺の頭は3枚のスタックで溢れる

840 名前:デフォルトの名無しさん (スッップ Sd9f-V10A) mailto:sage [2023/04/03(月) 07:29:00.64 ID:LcmFFSdCd.net]
難しいニダ



841 名前:デフォルトの名無しさん (ササクッテロロ Sp33-W4em) mailto:sage [2023/04/03(月) 10:36:24.87 ID:rxZSmkg/p.net]
リカーシブル禁止な

842 名前:デフォルトの名無しさん (ワッチョイ dfc9-Cn9/) mailto:sage [2023/04/03(月) 10:54:13.61 ID:amgtJnTb0.net]
https://ideone.com/BGn4Ew
ChatGPT が示したコード
最初は n 段積まれるけど 途中で積足しがおきてるね
前の再起と後ろの再起

843 名前:デフォルトの名無しさん (ワッチョイ dfc9-Cn9/) mailto:sage [2023/04/03(月) 11:17:01.50 ID:amgtJnTb0.net]
すまね n == 1 でデクリメントしてないがな

844 名前:デフォルトの名無しさん (ワッチョイ dfc9-Cn9/) mailto:sage [2023/04/03(月) 11:20:49.83 ID:amgtJnTb0.net]
https://ideone.com/FKX7i6
なおしたし
nやし

845 名前:デフォルトの名無しさん mailto:sage [2023/04/03(月) 19:50:55.17 ID:FTaZkaBO0.net]
(いつまでこの話題続けるんだろう・・・)

846 名前:デフォルトの名無しさん mailto:sage [2023/04/03(月) 20:00:28.42 ID:GTpIFgvQ0.net]
ただいま32個目のスタックに到達

847 名前:デフォルトの名無しさん (ワッチョイ a9b3-udcE) mailto:sage [2023/04/08(土) 20:36:00.74 ID:SFpZqjEH0.net]
なんか、
for(size_t i=0...
と書く人いません?
for(int i=0ではなくsize_tを使う意味はなんでしょうか?

848 名前:デフォルトの名無しさん (ワッチョイ a169-/aea) mailto:sage [2023/04/08(土) 20:53:31.67 ID:wgIhukY00.net]
strlen()やsizeofはsize_tなんだわこれが

849 名前:蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd22-6PIS) mailto:sage [2023/04/08(土) 20:55:09.41 ID:3OtdrBzyd.net]
size_tはintよりサイズが大きいかも知れないし、符号なし整数なんだよね。

850 名前:デフォルトの名無しさん (ワッチョイ bd02-oFYy) mailto:sage [2023/04/08(土) 21:16:04.49 ID:rjC7aYJI0.net]
そのiを主にsize_tとして使う用があるから
もし質問がsize_tとして使う用がないのにiをsize_tにするのか?ということなら、そう書いて



851 名前:デフォルトの名無しさん (ワッチョイ 6ecf-Rzwh) mailto:sage [2023/04/08(土) 21:21:03.16 ID:tM+hyW0O0.net]
>>838
Cにおいて自然数で表されるべきものには全てsize_tを使うべきだと信じてる人達が一定数いる
大きさ、長さ、個数、順番、回数なんかが該当し、そこにはループカウンタも含まれる
意味の問題ではなく教義や主義の問題なんで、自分の考えと違うコードを見かけてもそういうもんだで済ますのがいい

852 名前:デフォルトの名無しさん (ワッチョイ 495f-MO2j) mailto:sage [2023/04/08(土) 21:22:33.45 ID:9tIz9OW00.net]
ほとんどの場合はどっちでもいいかと

853 名前:デフォルトの名無しさん (アウアウウー Sa05-Ay2p) mailto:sage [2023/04/08(土) 21:37:43.61 ID:vkc2i7uPa.net]
size_t と off_t

854 名前:ョらいは使えよ []
[ここ壊れてます]

855 名前:デフォルトの名無しさん (ワッチョイ 0279-90pI) mailto:sage [2023/04/08(土) 21:42:59.63 ID:ymsLMaB30.net]
終端ヌル文字列の長さが符号ビット分まであったらそれは異常ではなかろうか
オンメモリで処理できるデータじゃないから見直すべき

856 名前:デフォルトの名無しさん (テテンテンテン MM66-xOzU) mailto:sage [2023/04/08(土) 22:47:03.50 ID:iv8dl0Z8M.net]
>>845
んなこたーない
巨大なファイルを扱う時にはそういうこともあり得る

857 名前:デフォルトの名無しさん (ワッチョイ 424b-jq58) mailto:sage [2023/04/09(日) 01:33:51.48 ID:hSdkmotY0.net]
2.2GBのテキストファイル

858 名前:デフォルトの名無しさん (スッププ Sd22-QGEt) mailto:sage [2023/04/09(日) 09:21:07.72 ID:J2NWn1GHd.net]
>>846
そんなもんstrlenで処理するなw
いちいち数えてるのアホらしい
長さを別に持つべき

859 名前:デフォルトの名無しさん (テテンテンテン MM66-xOzU) mailto:sage [2023/04/09(日) 10:02:17.83 ID:mGUCWnYwM.net]
>>848
100Bだろうが4GBだろうが、テキストファイルをロードする時にはゼロ終端文字列にするだろ
それをstrlenするかどうかは俺の知ったことではない
4GBのゼロ終端文字列が異常ではないというだけだ

860 名前:デフォルトの名無しさん (アウアウウー Sa05-l3hZ) mailto:sage [2023/04/09(日) 10:03:11.35 ID:Lsx68Nkda.net]
ファイルから読むこんで文字列処理する場合とかINT_MAXサイズ以上になる可能性もあるけどINT_MAXの範囲までしか処理しちゃいけないの?



861 名前:デフォルトの名無しさん (ワッチョイ 495f-MO2j) mailto:sage [2023/04/09(日) 10:23:33.31 ID:S22RS/pW0.net]
シークしなよ

862 名前:デフォルトの名無しさん (アウアウウー Sa05-l3hZ) mailto:sage [2023/04/09(日) 10:29:43.09 ID:Mq6Pc04Ma.net]
一方向のみに進むだけならシークでいいけど、対応する値を探したりするには場所情報もいるから

863 名前:デフォルトの名無しさん (スッププ Sd22-QGEt) mailto:sage [2023/04/09(日) 10:55:25.78 ID:SXWU02gid.net]
>>849
なんで?
サイズわかってるのに終端つける意味がないわ

>>852
場所を自分で保持してればいいだけだろ

864 名前:デフォルトの名無しさん (アウアウウー Sa05-l3hZ) mailto:sage [2023/04/09(日) 11:20:12.19 ID:JaCyVsO8a.net]
その場所情報を残すためにintじゃ足りないから大きな型を使ったりするけど
シークじゃ戻って対象の文字列の間の処理を再起やってまた進んでってのが面倒くさい

865 名前:デフォルトの名無しさん (ワッチョイ 6e63-Ay2p) mailto:sage [2023/04/09(日) 11:36:10.69 ID:aX3VhQL60.net]
面倒くさがる人はプログラムに向いていません

866 名前:デフォルトの名無しさん (アウアウウー Sa05-l3hZ) mailto:sage [2023/04/09(日) 11:49:17.45 ID:K99TBVjYa.net]
やりやすい方法があるのに複雑にして分かりにくくするのがプログラマーならプログラマーじゃなくていいや

867 名前:デフォルトの名無しさん (ワッチョイ 6e63-Ay2p) mailto:sage [2023/04/09(日) 12:08:18.91 ID:aX3VhQL60.net]
あるならそれを使えば良いだろ
相談するまでもない

868 名前:デフォルトの名無しさん (テテンテンテン MM66-xOzU) mailto:sage [2023/04/09(日) 12:24:20.87 ID:mGUCWnYwM.net]
>>853
LoadTextFile()っていう関数を作ったら戻り値は何だ?
const char*だろ
ゼロ終端文字列が返ると思うだろ
もちろん追加でサイズも引数経由で返しても良い
悔しいからって屁理屈をこねるな

869 名前:デフォルトの名無しさん (ワッチョイ 2d63-r2C4) mailto:sage [2023/04/09(日) 12:31:45.31 ID:kBYq2/2r0.net]
>>853
mainは第1引数がサイズで、第2引数の指す先はNULL終端されてるね

870 名前:デフォルトの名無しさん (スッププ Sd22-QGEt) mailto:sage [2023/04/09(日) 13:05:09.35 ID:bTpPccPGd.net]
>>858
例えば
終端に移動するとき
サイズと比較して超えていたらエラーか終端に切り詰める
データを追加する場合
終端まで移動
こういった普通の作業するのにいちいちstrlenを呼び出すとかありえないからサイズはどこかに保持する必要がある
よって終端記号はムダだよ



871 名前:デフォルトの名無しさん (スッップ Sd22-VdbI) mailto:sage [2023/04/09(日) 13:39:50.90 ID:8g05NYDAd.net]
>>858
すげー、なんでそんなの決められるの?
サイズ最適なロードしたデバイス名とか途中で割り込まれた回数とかカウントしないんだ、、、

872 名前:デフォルトの名無しさん (テテンテンテン MM66-xOzU) mailto:sage [2023/04/09(日) 14:32:05.77 ID:FxGMQKOnM.net]
>>860
strlenを使うかどうかは関知しないと言ってるだろ
それでもゼロ終端文字列を返すんだよ
それがC言語のプロトコルだ
1byteケチって何がしたいんだよw
だから屁理屈をこねるなと言ってる

873 名前:デフォルトの名無しさん (エムゾネ FF22-QGEt) mailto:sage [2023/04/09(日) 14:42:47.16 ID:LpKuKnylF.net]
>>862
そんなプロトコルはないよ
例えばread() は読み込んだバイト数を返す
妄想プログラムは程々にな

874 名前:デフォルトの名無しさん (エムゾネ FF22-QGEt) mailto:sage [2023/04/09(日) 14:44:30.71 ID:LpKuKnylF.net]
>>859
mainの第一引数はargvの個数であってサイズじゃないよ

875 名前:デフォルトの名無しさん mailto:sage [2023/04/09(日) 15:09:35.01 ID:zFNH8tsS0.net]
>こういった普通の作業するのにいちいちstrlenを呼び出すとかありえないからサイズはどこかに保持する必要がある
“こういった普通の作業”をしない場合はstrlenで良いってことだろ?

なんでもかんでもstrlenを使うって話じゃないし
なんでもかんでもサイズはどこかに保持する必要があるわけじゃなくて
用途に合わせて使い分けるのがプログラマーじゃないの?

876 名前:デフォルトの名無しさん (ワッチョイ 495f-MO2j) mailto:sage [2023/04/09(日) 15:13:43.40 ID:S22RS/pW0.net]
小生はゴミを分別できるプログラマーになりたい

877 名前:デフォルトの名無しさん mailto:sage [2023/04/09(日) 15:20:34.92 ID:zFNH8tsS0.net]
いちいちstrlenを呼び出す、と言っているけど
ゼロ終端文字列を返す関数はあるしゼロ終端文字列からサイズを得るためstrlenは呼び出すよね?
その後は処理を高速にするためにそのサイズを維持しつつというのはあると思うよ
けどその後呼び出す文字列処理関数があるとして、その関数が削除した文字数や追加した文字数を返してくれるとは限らないわけで
その場合、その都度strlenを呼び出さなきゃいけない場合もあり得るよね?

それぞれが想定する状況がかみ合っていないだけとも思うんだけどね
結局自分が想定する状況なら自分の意見が良い言っているだけで、じゃあ相手の言う状況でも自分の言っているのが正しいかということ自体を否定しているわけではないでしょ?

878 名前:デフォルトの名無しさん mailto:sage [2023/04/09(日) 15:21:53.57 ID:zFNH8tsS0.net]
最後変だわ

×結局自分が想定する状況なら自分の意見が良い言っているだけで、じゃあ相手の言う状況でも自分の言っているのが正しいかということ自体を否定しているわけではないでしょ?

〇結局自分が想定する状況なら自分の意見が良い言っているだけで、じゃあ相手の言う状況でも自分の言っているのが正しいと言いたいわけではないでしょ?

879 名前:デフォルトの名無しさん (ワッチョイ 495f-MO2j) mailto:sage [2023/04/09(日) 16:50:03.25 ID:S22RS/pW0.net]
小生だって燃えないゴミを燃えるゴミと言いたいわけじゃないさ

880 名前:デフォルトの名無しさん (ワッチョイ 0279-90pI) mailto:sage [2023/04/09(日) 18:08:42.61 ID:I9Qf3W7D0.net]
環境商法は嘘でも乗っからないと文句言われるからつれーよな



881 名前:デフォルトの名無しさん (ワッチョイ 6e63-Ay2p) mailto:sage [2023/04/09(日) 18:17:37.00 ID:aX3VhQL60.net]
同じプラスティックを、燃えるゴミ、燃えないゴミ、分別込み、どれで出してもOKらしい
あれはやってますアピールなんだとか

882 名前:デフォルトの名無しさん (ワッチョイ 6e63-Ay2p) mailto:sage [2023/04/09(日) 18:24:47.66 ID:aX3VhQL60.net]
分別よりも、粗大ゴミ、家電ゴミなどの有料ゴミは厳格に扱われる
迂闊に持ち帰ると大目玉食らうらしい

883 名前:デフォルトの名無しさん mailto:sage [2023/04/09(日) 18:45:27.28 ID:zFNH8tsS0.net]
問題があるからそうしているわけじゃなくて限りある資源をリサイクルだからそうしている
「どれで出してもOKらしい」と言うのは論点が間違ってる

あと指定された場所にあるゴミは所有権の放棄じゃなくて自治体への譲渡みたいなモノだから持ち帰りは窃盗になる

884 名前:デフォルトの名無しさん (ラクッペペ MM66-DefY) mailto:sage [2023/04/09(日) 18:45:49.74 ID:qh8VxmjLM.net]
条例と法令の違い

885 名前:デフォルトの名無しさん (ワッチョイ 6e63-Ay2p) mailto:sage [2023/04/09(日) 18:49:28.88 ID:aX3VhQL60.net]
いや実際そうだぞ
汚れているプラスティックを分別ゴミに混ぜられると迷惑なんだそうだ
洗剤でゴシゴシ洗って綺麗にしてから出せだとさ

886 名前:デフォルトの名無しさん (ワッチョイ 6e63-Ay2p) mailto:sage [2023/04/09(日) 18:51:41.97 ID:aX3VhQL60.net]
実際PETボトルは回収しても資源として再利用するのに手間が掛かる
だから、飲料メーカーもPETからアルミ容器に切り替えている
アルミはリサイクルが簡単なんだそうだ

887 名前:デフォルトの名無しさん (ワッチョイ 6e63-Ay2p) mailto:sage [2023/04/09(日) 19:02:34.53 ID:aX3VhQL60.net]
迂闊に持ち帰ると大目玉、はゴミ収集業者の話な

888 名前:デフォルトの名無しさん (ワッチョイ 0279-90pI) mailto:sage [2023/04/09(日) 19:07:33.05 ID:I9Qf3W7D0.net]
基本リサイクルはコスト的にデメリットしかない
一部ではやってますよアピールをしつつ、大半は分別したのをわざわざまとめて燃やしたり他所に押し付けるのが現実
環境商法は理想アピールとかけ離れた現実が弱みになって反社が入り込みやすいジャンルになってるから関わると危険だよ

889 名前:デフォルトの名無しさん (テテンテンテン MM66-xOzU) mailto:sage [2023/04/09(日) 19:12:09.18 ID:ONc2duBhM.net]
>>863
お前の大好きなstrlenがそれだろw
支離滅裂過ぎてもはや自分が何言ってるか分かってなさそうw
お大事に…

890 名前:デフォルトの名無しさん (テテンテンテン MM66-xOzU) mailto:sage [2023/04/09(日) 19:15:10.49 ID:ONc2duBhM.net]
文字列とストリームの区別が付いてないアホに付き合わないといけないとはな…
そういう奴のコードはバグだらけだろうなw



891 名前:デフォルトの名無しさん (テテンテンテン MM66-xOzU) mailto:sage [2023/04/09(日) 19:22:58.30 ID:ONc2duBhM.net]
ま、Cの文字列はバグり易いのは間違いないがな
特にmmapを使うと悲劇が起こりやすい
なのでテキストファイルの読み込みには、LoadTextFileの様な明確な名前を付けて専用に用意するのが常套手段
もちろんゼロ終端文字列を返す

892 名前:デフォルトの名無しさん (スッップ Sd22-VdbI) mailto:sage [2023/04/09(日) 19:27:24.15 ID:8g05NYDAd.net]
strlenとか使う馬鹿がいるのか
ラベル低すぎ

893 名前:デフォルトの名無しさん (テテンテンテン MM66-xOzU) mailto:sage [2023/04/09(日) 20:52:59.04 ID:ONc2duBhM.net]
Linux Kernelでも使われてるけど、ラベル低すぎとは知らなかったw

894 名前:デフォルトの名無しさん mailto:sage [2023/04/09(日) 23:27:25.54 ID:rzCgDpP30.net]
strlen strcpy strcatのストラ三兄弟は使うな
普通はマクロ定義でスピードアップ

895 名前:デフォルトの名無しさん mailto:sage [2023/04/10(月) 00:09:17.40 ID:IbkX37li0.net]
どんなマクロなんだい

896 名前:デフォルトの名無しさん mailto:sage [2023/04/10(月) 05:24:42.66 ID:hibmPNuj0.net]
>>864
データサイズの話じゃなかったのかよ?
なんで配列のサイズかどうかになるんだ

897 名前:デフォルトの名無しさん (スッププ Sd22-QGEt) mailto:sage [2023/04/11(火) 00:17:24.82 ID:KrSp3HQhd.net]
>>883
なんかこの人おかしくないか?ラベル…?
>>884も変だけど…ストラ3兄弟って…ギャグか?w
最終的に関数名をちゃんとすればどうにかなるみたいだし
そんな話誰が信じるんだよw


>>886
859に言ってくれ
明らかな誤りが含まれていたので訂正した

898 名前:デフォルトの名無しさん (テテンテンテン MM66-xOzU) mailto:sage [2023/04/11(火) 02:28:47.80 ID:MidqBNVpM.net]
>>887
>>882に言えよ

899 名前:デフォルトの名無しさん (ワッチョイ 2d63-r2C4) mailto:sage [2023/04/11(火) 06:49:02.21 ID:dFL5vcfn0.net]
>>887
訂正ってどこ? 具体的なレス番plz

900 名前:デフォルトの名無しさん (ワッチョイ a910-Ay2p) mailto:sage [2023/04/11(火) 07:47:26.88 ID:lpXrKUt40.net]
Cを捨ててCStringを使うC++へ行けってことだろ。



901 名前:デフォルトの名無しさん (ワッチョイ 2d63-r2C4) mailto:sage [2023/04/11(火) 08:08:42.83 ID:dFL5vcfn0.net]
std::stringではなくCStringな変人きたな

902 名前:デフォルトの名無しさん (スッップ Sd22-QGEt) mailto:sage [2023/04/11(火) 08:55:39.31 ID:ozkx3imqd.net]
>>889
訂正は>>864だが>>859を読んですぐおかしいと思わなかったなら理解できないと思う

903 名前:デフォルトの名無しさん (ワッチョイ 495f-/aea) mailto:sage [2023/04/11(火) 09:23:43.71 ID:Q4R/j+cb0.net]
>>859 の言ってるのは argv[argc] == NULL となる規定のことでしょ。
それ自体は正しいので訂正することも無い。

904 名前:デフォルトの名無しさん (ワッチョイ 495f-MO2j) mailto:sage [2023/04/11(火) 09:41:53.28 ID:7OwUdYTT0.net]
MFCに帰ろう

905 名前:デフォルトの名無しさん (スッップ Sd22-QGEt) mailto:sage [2023/04/11(火) 09:52:04.87 ID:ozkx3imqd.net]
>>893
文字列サイズの話をしているのに文字列配列の要素数の話で「サイズ」と言うのは不自然
859はargvについて誤解してると思う

906 名前:デフォルトの名無しさん (ワッチョイ 2d63-r2C4) mailto:sage [2023/04/11(火) 15:56:45.30 ID:dFL5vcfn0.net]
>>895
残念ながら俺は文字列サイズとかいう造語の話はしてない
853曰く
> サイズわかってるのに終端つける意味がないわ
に対してあえて冗長な設計にする場合があると指摘したまで

>>864もそうだがどうもおまえさんサイズという語の意味を都合良く変動させているようだな

907 名前:デフォルトの名無しさん mailto:sage [2023/04/11(火) 19:04:39.28 ID:7OwUdYTT0.net]
小生は文字列の長さを表すとき、strlenに習ってlengthという語を用いますん

908 名前:デフォルトの名無しさん mailto:sage [2023/04/11(火) 19:20:48.37 ID:1aMyTP0X0.net]
文字列サイズなんて聞くと、配列要素数かと受け取ってしまう

909 名前:デフォルトの名無しさん mailto:sage [2023/04/11(火) 19:50:55.63 ID:ozkx3imqd.net]
>>896
くだらない言い訳だ
文字列をロードしたサイズの話をしているのにコマンドラインの引数の個数の話にするのは不自然だと感じた

どうでもいいが文字列の終端までの長さをなんと呼ぶのかね

910 名前:デフォルトの名無しさん mailto:sage [2023/04/11(火) 20:01:03.76 ID:eL0kPSHK0.net]
文字列長
文字の長さ
文字列の長さ
長さ



911 名前:デフォルトの名無しさん mailto:sage [2023/04/11(火) 20:41:17.09 ID:1aMyTP0X0.net]
あと、文字数というのも入れてあげて

912 名前:デフォルトの名無しさん [2023/04/12(水) 02:49:44.30 ID:1sJZVfCp0.net]
文字の長さ 3m
重さ 5kg

913 名前:デフォルトの名無しさん [2023/04/12(水) 02:52:08.54 ID:1sJZVfCp0.net]
https://www.shinjuku-i-land.jp/assets/img/art/img_art-list_3.jpg

914 名前:デフォルトの名無しさん [2023/04/12(水) 02:53:14.30 ID:1sJZVfCp0.net]
とても長くて太くて大きくて重そう

915 名前:デフォルトの名無しさん mailto:sage [2023/04/12(水) 06:48:43.44 ID:NgkNjGWQ0.net]
>>899
それってあなたの感想ですよね

916 名前:デフォルトの名無しさん mailto:sage [2023/04/12(水) 08:59:58.23 ID:HQz+hF5G0.net]
もうそれ秋田

917 名前:デフォルトの名無しさん [2023/04/12(水) 11:42:14.25 ID:+8HledSTa.net]
0終端の良い所は可変長でどんなに長い文字列でもメモリが許す限り文字列を続けられる
もちろんデメリットは長さがすぐに判らない
逆に長さを持って struct {size_t len; char hoge[0]} Str; みたいな構成にするのもありだが
例えば Str *s = (Str *)malloc(len + sizeof(Str)); で確保して使う
後者のデメリットは size_t len の最大値までしか文字を格納出来ないこと
struct {short len; char hoge[0]} Str; みたいな実装もたまに観るからあなどれない

918 名前:デフォルトの名無しさん [2023/04/12(水) 11:51:49.32 ID:+8HledSTa.net]
>>838
C++だと
vector の size() が size_t を還して
for(int i = 0; i < v.size(); ++i)
って描くと警告出るので
for(int i = 0; i < (int)v.size(); ++i)
にするとさらに警告出て鬱陶しいから
for(size_t i = 0; i < v.size(); ++i)
にするアホな例はよく観るってどっかのサイトに描いてあった

919 名前:デフォルトの名無しさん (テテンテンテン MM66-xOzU) mailto:sage [2023/04/12(水) 12:32:16.29 ID:81IdaWl4M.net]
C++ならイテレーター使えよ…

920 名前:デフォルトの名無しさん (ワッチョイ 495f-cPl8) mailto:sage [2023/04/12(水) 12:42:43.03 ID:Q+QfGKpq0.net]
vectorはランダムアクセスがウリだからイテレータ使わないこともよくあるね



921 名前:デフォルトの名無しさん mailto:sage [2023/04/12(水) 13:01:34.03 ID:N6w93SJGd.net]
>>899
「文字列の終端までの長さ」ですが何か?

922 名前:デフォルトの名無しさん mailto:sage [2023/04/12(水) 13:23:26.32 ID:3jp3M04i0.net]
(文字列の)文字数

923 名前:デフォルトの名無しさん mailto:sage [2023/04/12(水) 13:42:24.69 ID:dS1BcMQZ0.net]
>>909
コードによってはインデックスでアクセスしたいこともあるから...

924 名前:デフォルトの名無しさん mailto:sage [2023/04/12(水) 13:57:15.96 ID:gJHWYvs7a.net]
「アホな例」と書く意味が分からん
ちゃん型を使うべきだろ

925 名前:デフォルトの名無しさん mailto:sage [2023/04/12(水) 13:57:40.50 ID:gJHWYvs7a.net]
ちゃんと型を使うべきだろ

926 名前:デフォルトの名無しさん mailto:sage [2023/04/12(水) 13:59:47.55 ID:gJHWYvs7a.net]
そもそも「アホな例」じゃないとLP64でおかしなことになるよね

927 名前:デフォルトの名無しさん mailto:sage [2023/04/12(水) 14:05:32.31 ID:NgkNjGWQ0.net]
struct X;
void func(struct X[]); //error

struct Y { int a; };
void func(struct Y[]); //ok

不完全型の場合、仮引数の[]はポインタにならない??
ちな、gccではエラー、clでは通る

928 名前:デフォルトの名無しさん [2023/04/12(水) 14:17:34.62 ID:mayblUPzd.net]
C++だと通ったね
gcc/clangのCだとX[]は許されないけどX*は許される

関数宣言より前にX型の定義がないとコンパイルが通らなかった

929 名前:デフォルトの名無しさん (ワッチョイ 2d63-r2C4) mailto:sage [2023/04/12(水) 14:55:48.73 ID:NgkNjGWQ0.net]
どっちが正しいのかね

930 名前:デフォルトの名無しさん mailto:sage [2023/04/12(水) 15:04:32.82 ID:219MxBT/0.net]
>>907
馬鹿な私に少しだけアドバイスを

それってsize_tのビット幅 < システム(OS)のビット幅と言う条件下での話なんでしょうか?
size_tがシステム(OS)のビット幅と同じならメモリで管理できるものは必然的にsize_tでも表現できると思うのですが
メモリ上で管理できているゼロ終端文字列をsize_tで表現できない場合ってあるんですか?
まあ一部の組み込みとかならあるかも知れませんが……
けどそういう環境の場合strlenなどのsize_tで返す場合でも表現できなくなるわけで、結局size_tに依存することになってどっちでも同じじゃないかと思うんですがどうなんでしょうか?



931 名前:デフォルトの名無しさん (ワッチョイ 6ecf-Rzwh) mailto:sage [2023/04/12(水) 15:07:46.44 ID:gccG0Jwg0.net]
>>919
規格は知らんけど配列とポインタは違うんだからエラーで弾くのは正論だと思うけどね
通す処理系はその後の整合性をユーザーが担保する前提の思想なんでしょ

932 名前:デフォルトの名無しさん (ワッチョイ 2d63-r2C4) mailto:sage [2023/04/12(水) 15:09:16.06 ID:NgkNjGWQ0.net]
>>921
仮引数に限っては*と[]は同じはず
不完全型だけ例外というのは気持ち悪い

933 名前:デフォルトの名無しさん mailto:sage [2023/04/12(水) 15:15:29.08 ID:219MxBT/0.net]
>>908
もう一つ無知なる私にアドバイスをお願いします

size_t len までは文字を格納出来ると>>907から読み取りましたが
sizeof(size_t)==sizeof(int) の場合
vector v のサイズがINT_MAX以上だった場合、 i < (int)v.size() ではプログラマーが予期しない動作になりませんか?

934 名前:デフォルトの名無しさん (ワッチョイ 412d-dXWb) mailto:sage [2023/04/12(水) 15:27:40.89 ID:7SV2gFKB0.net]
size_t が符号なし整数型
int が符号付き整数型

935 名前:デフォルトの名無しさん (ワッチョイ 6ecf-Rzwh) mailto:sage [2023/04/12(水) 15:34:06.47 ID:gccG0Jwg0.net]
>>922
はずだかなんだか知らねーけど、そんなことはどうでも良くてサイズの分からないオブジェクトの配列は作れんって言ってんだよ
操作上の違いはともかく配列として宣言したんなら関数内では配列として扱うってことを示唆してるわけだろ
仮にそのfuncだかって名前の関数の中にX[3]とかX+5って書かれたらどうやってアドレス出すんだってことよ
動作に違いがあるってことは規格がそれを許してる箇所なんだろうけど弾いてる処理系はそういう考えなんだろう

936 名前:デフォルトの名無しさん (ワッチョイ 2d63-r2C4) mailto:sage [2023/04/12(水) 15:53:08.00 ID:NgkNjGWQ0.net]
>>925
仮引数はその場に配列を作り出したりはしないという基本が合意できない以上
これ以上おまえさんと話すのは無駄だな

937 名前:デフォルトの名無しさん (ワッチョイ 2d63-r2C4) mailto:sage [2023/04/12(水) 15:53:49.38 ID:NgkNjGWQ0.net]
> 規格は知らんけど

この時点で気付くべきだった

938 名前:デフォルトの名無しさん (ワッチョイ a910-Ay2p) mailto:sage [2023/04/12(水) 15:55:21.15 ID:1mphmeyq0.net]
Cはアセンブラの代用言語。

939 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 423e-/aea) mailto:sage [2023/04/12(水) 16:36:09.61 ID:bThMVtxz0.net]
>>917
規格的には (関数定義の一部ではない) 宣言の段階なら不完全型であることを許しているように読める。
C99 だと 6.7.5.3 の第 12 段落に書かれている。

> If the function declarator is not part of a definition of that function,
> parameters may have incomplete type and may use the [*] notation in their sequences of
> declarator specifiers to specify variable length array types.

> 関数宣言子が関数定義の一部ではない場合,仮引数の型は不完全型でもよく,
> また宣言指定子列に [*] を使って可変長配列型を指定してもよい。

ちなみに GCC だと以下のようなものもエラーだが MSVC だと通る。

struct X;
typedef struct X Y[10];

940 名前:デフォルトの名無しさん (ワッチョイ 2d63-r2C4) mailto:sage [2023/04/12(水) 16:59:41.80 ID:NgkNjGWQ0.net]
>>929
㌧X

安心した



941 名前:デフォルトの名無しさん (ワッチョイ 495f-/aea) mailto:sage [2023/04/12(水) 23:57:31.43 ID:ysjFLZAD0.net]
>>917
Cではエラーになるのが規格準拠の動作。
ただし宣言の形式を変えるだけで通る理不尽な制約でありC++では許されるように改められている。
https://stackoverflow.com/questions/50503501/an-error-about-c-struct-array-in-formal-parameter

942 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 423e-/aea) mailto:sage [2023/04/13(木) 00:37:34.59 ID:y5cvZaYN0.net]
>>931
そこでも言及されてるけど
型調整 (配列がポインタに読み替えられる) が優先されるか配列宣言子としての解釈が優先されるかって曖昧じゃない?
読み替えより先に配列宣言子として解釈すべきと確信できるような記述ってある?
常識的には曖昧なら厳しい側の制約で解釈すべきだわなーとは思うけど陽には書かれてないように思う。

943 名前:デフォルトの名無しさん (ワッチョイ 02ad-Ay2p) [2023/04/13(木) 02:04:44.32 ID:o3x890Fi0.net]
>>907
昔々の PASCAL はそんな感じだったな。先頭1バイトに文字列のバイト数が入っていてその後に文字列がある。
当然それだと255バイトまでしか入らないのでもっと長い文字列を扱いたい時に苦しむことになる。
まあでも 8 bit とか 16 bit CPU のマイコンやパソコンにそういう高い要求は最初の頃はあまりなかったのでなんとかなっていた。

944 名前:デフォルトの名無しさん (ワッチョイ 495f-/aea) mailto:sage [2023/04/13(木) 02:23:46.11 ID:jklAk1E50.net]
>>932
プログラム内に制約 (constraint) 違反がある状態なので、前後関係がどっちだろうと
少なくとも制約違反について診断メッセージを出力しないと規格準拠とは言えない。
> A conforming implementation shall produce at least one diagnostic message ...
> ... if a preprocessing translation unit or translation unit contains a violation
> of any syntax rule or constraint, ...

「通る」が警告も出ずプログラム実行までできる状態と解釈してたけど、
エラーにはならないものの警告が出ているならそれも規格準拠とは言えそう。

945 名前:デフォルトの名無しさん (ワッチョイ 2d63-r2C4) mailto:sage [2023/04/13(木) 08:28:10.40 ID:zEEI4t8g0.net]
https://www.open-std.org/jtc1/sc22/wg14/www/docs/dr_047.html

仮引数の[]は、一旦は配列として受理し、その後でポインタに調整されるってことか

946 名前:デフォルトの名無しさん (ワッチョイ 2d63-r2C4) mailto:sage [2023/04/13(木) 08:28:50.25 ID:zEEI4t8g0.net]
VCで通るのは、VLAがないからってこと?

947 名前:デフォルトの名無しさん (スップ Sd82-VdbI) mailto:sage [2023/04/13(木) 23:35:55.91 ID:DvwX4ZoKd.net]
間違ってる

948 名前:デフォルトの名無しさん (ワッチョイ 6e63-Ay2p) mailto:sage [2023/04/13(木) 23:48:57.98 ID:wWKtbXV/0.net]
マスク無死でラーメン食いたい奴は、まず住所を書いて見てよ
その場所にノーマスクで食えるラーメン屋作らないといけないんだろ?
政府が作るのかな?

949 名前:デフォルトの名無しさん (ワッチョイ 6e63-Ay2p) mailto:sage [2023/04/13(木) 23:55:11.99 ID:wWKtbXV/0.net]
ごめん、誤爆

950 名前:デフォルトの名無しさん (ワッチョイ 02ad-Ay2p) [2023/04/13(木) 23:55:19.80 ID:o3x890Fi0.net]
はあ



951 名前:デフォルトの名無しさん (ワッチョイ 424b-jq58) mailto:sage [2023/04/14(金) 01:01:11.22 ID:E99e4anP0.net]
そのキモいレスをどこで発表するつもりだったのか

952 名前: mailto:sage [2023/04/15(土) 19:42:43.70 ID:JbgATxBi0.net]
最近のLANカードで他力給電のものばかりのようですね、クロスケーブルでピアツーピアできるPCIe のカードって存在しないものですかね…
結局 hub を使っちまった、もったいないなあ

953 名前:◆QZaw55cn4c (ワッチョイ bfba-DPrL) mailto:sage [2023/04/16(日) 20:11:08.29 ID:4UlFU6Wr0.net]
chatGPTって面白いね…もうgoogle はいらないや

954 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5f3e-S3w6) mailto:sage [2023/04/16(日) 21:13:37.76 ID:Ot5nnykg0.net]
C スレで言うことか?

955 名前:デフォルトの名無しさん (ワッチョイ 2763-2Cuq) mailto:sage [2023/04/16(日) 21:23:02.75 ID:H2kHWHvu0.net]
人工知能とはなんたるや、これがわかってないやつ多いのは仕方ないけど
ム板でこれは由々しきことだな

956 名前:デフォルトの名無しさん (ワッチョイ 7f63-sFbk) mailto:sage [2023/04/16(日) 21:48:52.61 ID:zHRI9OsR0.net]
煽ってるだけやろ

957 名前:◆QZaw55cn4c (ワッチョイ bfba-sFbk) mailto:sage [2023/04/16(日) 22:57:10.75 ID:4UlFU6Wr0.net]
スレ終盤恒例のウダウダ話ですよ、たまにはいいじゃあ、ありませんか!

958 名前:デフォルトの名無しさん (ワッチョイ 7f63-sFbk) mailto:sage [2023/04/16(日) 23:00:41.18 ID:zHRI9OsR0.net]
chatGPT関連のスレは6本も立ってるので、好きな場所でやってください

(盛り上がったら誘導してくれてもいいです)

959 名前:デフォルトの名無しさん (ワッチョイ c7b3-5oiz) mailto:sage [2023/04/17(月) 02:44:28.44 ID:PilU+QdE0.net]
数値の各桁を足す関数を考えました
100点中何点?
(引数nが2023なら2+0+2+3で7を返す)

int chg(int n)
{
int a;
char s[32], tmp[2];

memset(s, 0, sizeof(s));
sprintf(s, "%d", n);

a = 0;
for(int i=0; i<strlen(s); i++){
memset(tmp, 0, sizeof(tmp));
tmp[0] = s[i];
a += atoi(tmp);
}
return a;
}

960 名前:デフォルトの名無しさん (ワッチョイ 5f79-uE6i) mailto:sage [2023/04/17(月) 02:47:29.33 ID:dBG5z/eM0.net]
数値計算なのにmemsetを使ってる時点で0点



961 名前:デフォルトの名無しさん mailto:sage [2023/04/17(月) 03:00:26.88 ID:2drVnpNQ0.net]
int chg(int n)
{
int a;
for(a=0;0<n;n/=10) a+=n%10;
return a;
}

962 名前:デフォルトの名無しさん (ワッチョイ 5fad-sFbk) [2023/04/17(月) 03:01:25.01 ID:g2jYQi3l0.net]
>>949
それわざわざ文字列にしてからやる必要ないよね。
10で割った余りを足して10で割るのを繰り返せば良いだけだし。
仮に(宿題や問題の都合で)どうしても文字列に直してやらなければならないのだとしても文字列として使う char 配列の
初期化で全部0で埋めるのは処理の無駄だしそんな事をするのはC言語における文字列の扱いについてよく分かって
いないことの現れだと思う。

963 名前:デフォルトの名無しさん (ワッチョイ a702-em59) mailto:sage [2023/04/17(月) 03:41:54.19 ID:fyienZF80.net]
30点
みんなもっと優しくしてあげなよ。ゴキブリだって生きてるんだぞ

964 名前:デフォルトの名無しさん (ワッチョイ 4702-1OZE) mailto:sage [2023/04/17(月) 06:01:50.96 ID:WvGymo4J0.net]
あかん!
マイナスの場合はどうするねん

965 名前:デフォルトの名無しさん (ワッチョイ a702-em59) mailto:sage [2023/04/17(月) 06:38:08.16 ID:fyienZF80.net]
>>951
nが負の場合は?

966 名前:デフォルトの名無しさん (ワッチョイ 67c9-ieXZ) mailto:sage [2023/04/17(月) 08:14:09.28 ID:TjOyN7pL0.net]
if (n < 0) n = -n;

967 名前:デフォルトの名無しさん (ササクッテロロ Spfb-tEYI) [2023/04/17(月) 09:53:06.18 ID:MNSyV7UUp.net]
文字列で与えなきゃデカい数字が扱えないやん

968 名前:デフォルトの名無しさん (ワッチョイ c75f-nEk4) mailto:sage [2023/04/17(月) 10:26:43.64 ID:jOIYUxZw0.net]
int chg(int n)
{
int a=0,b;
while(n) {
b=n/10;
a+=n-b*10;
n=b;
}

969 名前:デフォルトの名無しさん (ワッチョイ 67c9-ieXZ) mailto:sage [2023/04/17(月) 10:57:06.60 ID:TjOyN7pL0.net]
>>957
int で受けて 文字列化してるからちょっと
最初から文字列で受けてるなら一考の余地はあるかもね

970 名前:デフォルトの名無しさん (ワッチョイ 2763-2Cuq) mailto:sage [2023/04/17(月) 10:57:27.95 ID:I3IibvEZ0.net]
957涙目だなw



971 名前:デフォルトの名無しさん (テテンテンテン MM8f-/v6j) mailto:sage [2023/04/17(月) 12:21:07.80 ID:sfjAbensM.net]
プログラミングには最低限の数学的な素養が必要な事が証明された…
科学技術計算を扱わないとしても、計算論とか数学とは切っても切れない関係にある

972 名前:デフォルトの名無しさん (ワッチョイ 5f97-3fkD) mailto:sage [2023/04/17(月) 12:50:21.20 ID:9nZn/y+b0.net]
銀行の勘定系でも四則演算の知識は必要だし

973 名前:デフォルトの名無しさん (ワッチョイ 67c9-ieXZ) mailto:sage [2023/04/17(月) 12:56:30.89 ID:TjOyN7pL0.net]
文字列を受ける場合
int chg(const char* s)
{
 int ret = 0;
 char tmp[2] = { 0 };
 while (*s && !isdigit(*s)) s++; /*数字じゃないところは飛ばす */
 if (*s) {
  while (*s && isdigit(*s)) { /* 数字が連続している間だけ */
   tmp[0] = *s; ret += atoi(tmp);
   s++;
  }
 }
 return ret;
}

環境依存で
 isdigit(*s) を ('0'<=*s && *s <='9') に
 tmp[0] = *s; ret += atoi(tmp); を ret += s[0] - '0'; に
置き換えることもできるかもしれない

974 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5f3e-S3w6) mailto:sage [2023/04/17(月) 13:07:40.29 ID:FYaudfJt0.net]
>>963
> 環境依存で

数字に対応する文字コードが連続で昇順に並んでいることは
言語仕様で保証されている。

975 名前:デフォルトの名無しさん (ワッチョイ 67c9-ieXZ) mailto:sage [2023/04/17(月) 13:15:24.09 ID:TjOyN7pL0.net]
>>964
さんきゅう 数字は保障されてたか

976 名前:デフォルトの名無しさん (ワッチョイ 67c9-ieXZ) mailto:sage [2023/04/17(月) 13:21:38.21 ID:TjOyN7pL0.net]
次の while (*s && isdigit(*s)) と意図の一部は重なるし if (*s) はいらんかったね

977 名前:デフォルトの名無しさん (スプッッ Sdff-wBI8) mailto:sage [2023/04/17(月) 15:25:15.58 ID:DnqfCfHpd.net]
今のモダンな言語からしたら一見して下らないやり取りだけど
これがC言語なんよね・・・

978 名前:デフォルトの名無しさん (ワッチョイ c75f-nEk4) mailto:sage [2023/04/17(月) 15:50:16.10 ID:jOIYUxZw0.net]
ハードとアプリのあいだに多くの計算を必要とするソフトの層があるからね
OSやらで全部カバーするのは無理だからCは死なない

979 名前:デフォルトの名無しさん (アウアウウー Sacb-/q5i) mailto:sage [2023/04/17(月) 15:51:50.57 ID:kmcXsww3a.net]
>>964
漢数字も並んでたら嬉しかったと思いませんか

980 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5f3e-S3w6) mailto:sage [2023/04/17(月) 16:54:39.89 ID:FYaudfJt0.net]
>>969
現実には JIS は読みの順序で Unicode は部首の画数の順序が原則。
漢数字を例外にしたらそれはそれで不格好だし嬉しくない人もいるだろう。

まあ Unicode は後から追加した分だのなんだのでそんなに綺麗に並んでいるわけでもないので
どうせぐちゃぐちゃなら数字くらいは並べても良かったんちゃうかなというのは気持ちはわかる。



981 名前:デフォルトの名無しさん (テテンテンテン MM8f-/v6j) mailto:sage [2023/04/17(月) 17:19:21.10 ID:tJ5lxHq2M.net]
一二三四…Why Japanese people!

982 名前: []
[ここ壊れてます]

983 名前:デフォルトの名無しさん (スッププ Sd7f-1OZE) mailto:sage [2023/04/17(月) 19:13:46.43 ID:92m0URlPd.net]
>>967
くくく、、愚かな、、

984 名前:デフォルトの名無しさん (スッププ Sd7f-1OZE) mailto:sage [2023/04/17(月) 19:21:15.62 ID:92m0URlPd.net]
>>954
アンサインドイントで受けたれや!

985 名前:デフォルトの名無しさん (アウアウウー Sacb-/q5i) mailto:sage [2023/04/17(月) 20:38:59.46 ID:RKcegE7fa.net]
壱<弐<参<死<伍<碌<質<八<苦<拾<

986 名前:百<銭<萬
ですね判ります
[]
[ここ壊れてます]

987 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5f3e-S3w6) mailto:sage [2023/04/18(火) 08:26:27.42 ID:aNj1uNjV0.net]
>>971
英語の綴りの不規則さも大概やないけ! と突っ込んで完成するネタだと個人的には思ってる。

988 名前:デフォルトの名無しさん (スフッ Sd7f-fSvC) mailto:sage [2023/04/18(火) 14:58:32.85 ID:aePy3OZ8d.net]
未初期化の自動変数には「不定値」が割り当てられる、と調べるたり自分が学んでいる本でも書いていますが、自分のコンパイラは常に「0」になっているようです 
なぜでしょうか? 
ちなみにgcc-10です gcc-11だと「不定値」になります

989 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5f32-iKPJ) [2023/04/18(火) 15:29:21.41 ID:rjFDtS/R0.net]
不定の値とは「未規定の値又はトラップ表現」と規定されてる。
常に 0 であってもこの規定に反しないよ。

990 名前:デフォルトの名無しさん (スフッ Sd7f-7nfa) [2023/04/18(火) 16:27:26.25 ID:U9oAz8h1d.net]
>>977 ありがとうございます
ちなみに「トラップ表現」とはなんでしょうか?



991 名前:デフォルトの名無しさん (スフッ Sd7f-foDO) [2023/04/18(火) 16:57:48.54 ID:U9oAz8h1d.net]
976です chatgptで調べました
C言語の仕様では、自動変数を初期化しない場合、その値は不定とされています。これは、コンパイラがメモリ上で変数を割り当てる際に、その領域が以前に使用されていたデータを含んでいる可能性があるためです。

しかしながら、一部のコンパイラでは、自動変数を0で初期化することがあります。これは、セキュリティ上の理由から、またはコードの可読性を向上させるために行われることがあります。

ただし、コンパイラが自動変数を0で初期化することが保証されているわけではありません。したがって、プログラマは自動変数を使用する前に必ず初期化するように注意する必要があります。

992 名前:はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 5f32-iKPJ) [2023/04/18(火) 17:04:00.61 ID:rjFDtS/R0.net]
>>978
トラップ表現は「オブジェクト型の値を表現しないオブジェクト表現」ということになってる。
その型としてあり得ないビットパターンってこと。
オブジェクトとして格納されたトラップ表現を文字型ではない左辺値式として読みだした場合の結果は未定義となる。
副作用としてそのような表現が生成される場合も未定義。

C の仕様でいう未定義というのは「何が起きても (たとえば暴走しても) 良い」という意味なので実質的に禁止だと思ってもいいよ。

とはいえ整数型でトラップ表現があるアーキテクチャを私は見たことが無いけどな。

993 名前:デフォルトの名無しさん (スプッッ Sdff-ZLJR) [2023/04/18(火) 18:20:39.02 ID:Qric2C4Yd.net]
トラップ表現を調べてみたけどほぼほぼ処理系定義絡みなのね

signed int16の0x8000は-32768かもしれないし、トラップ表現かもしれない
1の補数系でsigned int16の0xffffは0かもしれないし、トラップ表現かもしれない
int32* の4バイト境界に合ってないポインタ(int* p=0x0001)は、強制的に4バイト境界に直されるかもしれないし、トラップ表現かもしれない

994 名前:デフォルトの名無しさん (スフッ Sd7f-foDO) [2023/04/18(火) 19:26:15.76 ID:U9oAz8h1d.net]
>>980 ありがとうございます 勉強になりました

995 名前:デフォルトの名無しさん (テテンテンテン MM8f-/v6j) mailto:sage [2023/04/19(水) 02:26:26.48 ID:Nl7uhZkpM.net]
自分のコンパイラってのを明らかにしてくれ
どうしても言えないってならしょうがないが…

996 名前:デフォルトの名無しさん (ワッチョイ 6746-KCd8) [2023/04/19(水) 02:43:50.96 ID:MHEst9B30.net]
>>983
> ちなみにgcc-10です
と書かれている。

997 名前:デフォルトの名無しさん mailto:sage [2023/04/19(水) 06:44:34.46 ID:Dcht9s5K0.net]
>>983
バーカ(笑)

998 名前:デフォルトの名無しさん [2023/04/19(水) 06:59:06.58 ID:twYHK80b0.net]
983息してるか?www

999 名前:デフォルトの名無しさん mailto:sage [2023/04/19(水) 07:47:07.07 ID:BpfZGgoRd.net]
かてなおったかな

1000 名前:デフォルトの名無しさん mailto:sage [2023/04/19(水) 10:03:53.18 ID:rE0e6VM+0.net]
自作コンパイラの話する?



1001 名前:デフォルトの名無しさん mailto:sage [2023/04/19(水) 10:43:43.68 ID:m2bdQTksd.net]
いいぜ?お前からな?

1002 名前:デフォルトの名無しさん mailto:sage [2023/04/19(水) 11:58:53.24 ID:rE0e6VM+0.net]
ぼくはLex&YACCでPL/0を作って満

1003 名前:足しました。おわり []
[ここ壊れてます]

1004 名前:デフォルトの名無しさん mailto:sage [2023/04/19(水) 13:12:38.94 ID:IP5wt1Fbd.net]
夜中に路地から飛び出て来たら俺もびびる
でも >>991 では語れんわ!

1005 名前:デフォルトの名無しさん mailto:sage [2023/04/19(水) 20:04:36.21 ID:3t8AIZsr0.net]
C言語のソースコードを検査して処理系依存や未定義動作等の環境によって
結果が変わりうる可能性のある部分を見つけてくれるツールってどんなのがありますか?
コードエディタはvscodeなのでこれと連携できるとなおよいです

1006 名前:デフォルトの名無しさん mailto:sage [2023/04/20(木) 08:07:01.48 ID:B156zYN00.net]
lintでググれ

1007 名前:デフォルトの名無しさん mailto:sage [2023/04/20(木) 08:23:22.20 ID:3as2C0030.net]
BingAIに聞け

1008 名前:デフォルトの名無しさん [2023/04/20(木) 09:13:39.09 ID:EuuMXrfTa.net]
とにかくggr

1009 名前:デフォルトの名無しさん mailto:sage [2023/04/20(木) 16:00:12.38 ID:ZTK8T1RQd.net]
チャットジーピーテー

1010 名前:デフォルトの名無しさん (ラクッペペ MM8f-bKDU) mailto:sage [2023/04/20(木) 23:37:04.36 ID:BN6x5ZIFM.net]
さすがに検査対象としてソースコードそのものをchatGPTに丸投げするのはマズイ
個人情報や機密情報をそのまま入力するのは止めるように開発元のopenAIが忠告してたはず



1011 名前:デフォルトの名無しさん mailto:sage [2023/04/21(金) 06:41:53.06 ID:NmcLOv2EM.net]
>>993
よさそう。サンキュー

1012 名前:デフォルトの名無しさん mailto:sage [2023/04/21(金) 13:41:26.17 ID:cgpIrgwq0.net]
次スレどこ?

1013 名前:デフォルトの名無しさん mailto:sage [2023/04/21(金) 14:06:43.23 ID:rqj2HSDF0.net]
次スレ

https://mevius.5ch.net/test/read.cgi/tech/1682053520/

1014 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 114日 3時間 26分 13秒

1015 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






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

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

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