◎正当な理由による書き込みの削除について:      生島英之とみられる方へ:

C言語なら俺に聞け 154 YouTube動画>16本 ->画像>6枚


動画、画像抽出 || この掲示板へ 類似スレ 掲示板一覧 人気スレ 動画人気順

このスレへの固定リンク: http://5chb.net/r/tech/1578997950/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

1デフォルトの名無しさん (ワッチョイ bf63-lB9F)
2020/01/14(火) 19:32:30.16ID:SgRnb4BR0
!extend:checked:vvvvv:1000:512
(新スレ立ての際上記コマンドを2行書き込んでください)
C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
http://codepad.org/

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

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

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

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

※前スレ
C言語なら俺に聞け 153
http://2chb.net/r/tech/1566050562/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2デフォルトの名無しさん (ワッチョイ 7f14-t8Ak)
2020/01/14(火) 19:44:25.29ID:Xjyusg2Z0
3デフォルトの名無しさん (ワッチョイ 5f02-tgR8)
2020/01/14(火) 20:20:26.03ID:Ae/uveiQ0
前スレのこれに質問です。
32bitアプリだとmallocで確保していくと2GB近くでエラーになりませんか?
頑張って色々施しても4GB近くが32bitだと限界じゃないんですかね?
もし回避策があるなら教えてください。

999デフォルトの名無しさん (ワッチョイ 7f36-///2)2020/01/14(火) 19:45:37.22ID:MAaOflfD0
>>978
ちょっと待てや
おまえ単一仮想記憶を前提に話してるか?
今や多重仮想記憶が当たり前で単一仮想記憶はかなり特殊な存在だぞ
4デフォルトの名無しさん (ワッチョイ 7f36-///2)
2020/01/14(火) 20:30:37.98ID:MAaOflfD0
前スレ999本人だが
議論できるやついる?
5デフォルトの名無しさん (ブーイモ MM9f-0qp1)
2020/01/14(火) 20:44:32.62ID:XPzaribqM
paeのことかしら。それでもアプリが使えるメモリは4gb以下に制限されるみたいだけど
6デフォルトの名無しさん (ワッチョイ 7f36-///2)
2020/01/14(火) 20:57:35.59ID:MAaOflfD0
paeじゃない
オーバープロセスのことだよ
7デフォルトの名無しさん (ワッチョイ df73-AxFo)
2020/01/14(火) 20:59:32.15ID:vjAz2zAO0
アドレスを保持する変数が32bitなんだから
どう頑張っても4GBまで
実際は32bit Windowsの制約で2GBまで

あとは前スレ >>982 の方法しかない
8◆QZaw55cn4c (ワッチョイ 7f47-soYg)
2020/01/14(火) 21:02:41.42ID:m9Mcjsqu0
http://2chb.net/r/tech/1566050562/982
>FARポインタを扱えるようにするか

馬鹿いってんじゃないよ!このニワカ!死ね!百遍死ね!
「far/near ポインタ」は 16bit リアルモードでの用語だ
9デフォルトの名無しさん (ワッチョイ 5f02-tgR8)
2020/01/14(火) 21:13:14.20ID:Ae/uveiQ0
しかし別プロセスにしようとどうしようと
結局データのアドレスは受けないといけないので
そのポインタ自体が32bitで管理されてる以上
その限界はどうしようもないような。
10デフォルトの名無しさん (ワッチョイ df73-AxFo)
2020/01/14(火) 21:21:42.62ID:vjAz2zAO0
>>8
セグメントレジスタとセットで48bitで処理するって意味
(書かなきゃわからないですか?)

CPU的には可能だけどOS的にもコンパイラ的にも不可能だから実質不可能
11デフォルトの名無しさん (ワッチョイ df73-AxFo)
2020/01/14(火) 21:22:29.52ID:vjAz2zAO0
ニワカはどっちだwww
12デフォルトの名無しさん (ワッチョイ 7fa6-uXf3)
2020/01/14(火) 21:31:07.55ID:S6Ak+Pxt0
32ビットだと大きいメモリは最初の方で確保して最後の方で解放するなぁ
あるいはプロセスを分けるか
13◆QZaw55cn4c (ワッチョイ 7f47-soYg)
2020/01/14(火) 21:32:43.12ID:m9Mcjsqu0
>>10-11
ではお聞きいたしますが、セグメントレジスタ16ビット+レジスタ32ビットのペアで指定した先は何ビット空間ですか?
IA-32 アーキであるかぎり、どうあがいても32bit 空間ではないでしょうか?PAE 搭載であってもユーザーからみえるのはやっぱり32ビットなのでは?
14デフォルトの名無しさん (ワッチョイ df73-AxFo)
2020/01/14(火) 21:34:48.26ID:vjAz2zAO0
>>13
知らないなら黙ってろよ
15デフォルトの名無しさん (ワッチョイ 7f01-qx2z)
2020/01/14(火) 21:40:51.41ID:RxBpnTJ90
多重仮想記憶ってプロセス毎に同じアドレス空間を提供するだけの話
(逆に単一仮想記憶はプロセッサのアドレス空間を分割してプロセスに提供する)
http://yougo.ascii.jp/caltar/多重仮想記憶
前スレの質問はアプリの話だからあんまり関係ないよ
オーバープロセスとか言うオレオレ用語はよくわからんけど…
オーバーコミットの話じゃないよね?
16◆QZaw55cn4c (ワッチョイ 7f47-soYg)
2020/01/14(火) 21:41:08.27ID:m9Mcjsqu0
>>14
私の質問に回答できないのですね…
IA-32 では、それが PAE を搭載していたとしても、ユーザーが一度に扱えるのは32ビットどまりですよ

>>10
>CPU的には可能だけど
CPU的にも不可能です
17デフォルトの名無しさん (ワッチョイ 7fa6-uXf3)
2020/01/14(火) 21:56:01.45ID:S6Ak+Pxt0
windows依存なら CreateFileMapping MapViewOfFile で32ビットより大きいのをやりくり
18デフォルトの名無しさん (ワッチョイ df2d-G18V)
2020/01/14(火) 21:57:06.89ID:jSZPoIDP0
今、話題になっているのは32bitOSの場合であって、IA-32 どうこうは微妙に違う話にも思えるのは内緒。
ということで話を戻すと、例えば32bit版Windowsには、OS管理外メモリとして8Gだの16Gだの扱うことができるRAM-DISKアプリがあるわけで。
32bitアプリでも、セグメントレジスタに正しいセレクタ値をセットできるのであれば、4G超のメモリ空間を扱える、と言えなくもない予感がする。
19デフォルトの名無しさん (ワッチョイ df73-AxFo)
2020/01/14(火) 22:02:55.12ID:vjAz2zAO0
386の時代から仮想アドレス空間は64TBだってのに
20デフォルトの名無しさん (ワッチョイ 7fa6-uXf3)
2020/01/14(火) 22:04:06.75ID:S6Ak+Pxt0
>>18
RAM-DISK使わんでもAPIには上位32ビット下位32ビットの64ビット指定できるから
21デフォルトの名無しさん (ワッチョイ 5f02-tgR8)
2020/01/14(火) 22:05:55.54ID:Ae/uveiQ0
話の前提は、64bitOSで32bitプログラムを動作させる場合ですね。
22デフォルトの名無しさん (ワッチョイ 5f63-hsX7)
2020/01/14(火) 22:09:55.66ID:iQtyfXTR0
できるならやり方を具体的に提示してくれよ
罵り合ってる内容が一切質問者に有益な情報じゃない
23デフォルトの名無しさん (ワッチョイ df73-AxFo)
2020/01/14(火) 22:15:15.91ID:vjAz2zAO0
64bitOSなら32bitアプリで4GiBまで扱える(ように出来る)
これでいくらかは改善するのでは?
24デフォルトの名無しさん (ワッチョイ df2d-G18V)
2020/01/14(火) 22:16:39.36ID:jSZPoIDP0
>>17 >>20
http://2chb.net/r/tech/1566050562/986
25デフォルトの名無しさん (ワッチョイ 5f02-tgR8)
2020/01/14(火) 22:16:46.27ID:Ae/uveiQ0
>>23
確かにオプション指定でそれが出来ますね。
やっぱりそれが限界でしょうかね。
26デフォルトの名無しさん (ワッチョイ df73-AxFo)
2020/01/14(火) 22:18:31.70ID:vjAz2zAO0
それでもダメなら
DLLを扱う用の32bitプロセスと
多量のメモリを扱う64bitプロセスに分けて
プロセス間通信でデータをやり取りする
27◆QZaw55cn4c (ワッチョイ 7f47-soYg)
2020/01/14(火) 22:31:10.88ID:m9Mcjsqu0
>>19
80386 に関していえば、その記述「386の時代から仮想アドレス空間は64TB」はわりとデマ的に流布されていることは理解します。手元の本
https://www.あまぞん.co.jp/dp/4756101305/
にも載っていました、確かに紛らわしい記述だとは思います
セグメントレジスタが指す「セレクタ値」は8バイトごとである、という事実から、セレクタ値のアドレスを意味する部分を16-2=14ビットとして、これと一般レジスタ32ビットとの直積から
46ビット=64T 分のアドレス空間が取れる、という計算だとは思いますが、この記述は不正確であり実情からは程遠いと思います

80386 では、セグメントレジスタが指すセレクタ値にひも付けられているセグメントベースはやはり32ビット空間の中なんです。32ビット空間の外に出ることはありません。
28デフォルトの名無しさん (ワッチョイ df73-AxFo)
2020/01/14(火) 22:34:42.75ID:vjAz2zAO0
Pentium Pro の時代から64GiB扱えるわけですが
Windows Server系は32bitでも64GiB使える(ものもある)わけですが
問題はフラグメントなのでアドレス空間が広がれば解決するわけですが
29デフォルトの名無しさん (ワッチョイ df73-AxFo)
2020/01/14(火) 22:36:48.89ID:vjAz2zAO0
コテのくせにド素人だな
30◆QZaw55cn4c (ワッチョイ 7f47-soYg)
2020/01/14(火) 22:55:14.31ID:m9Mcjsqu0
>>29
セグメントレジスタが指すグローバルディスクリプタテーブル(GDT)中の一つ一つのエントリー(セレクタ値)に含まれる情報の配置状況が 80386 から変わっておれば、あなたのおっしゃることは理解できます
pentium を例にそれを示せますか?
31デフォルトの名無しさん (ワッチョイ df73-AxFo)
2020/01/14(火) 23:11:55.67ID:vjAz2zAO0
>>14
32デフォルトの名無しさん (ワッチョイ e101-muX5)
2020/01/15(水) 00:13:17.27ID:SlSlX/cQ0
仮想86EMSが使われていた頃
33デフォルトの名無しさん (ワッチョイ ae0d-sHAu)
2020/01/15(水) 03:41:15.35ID:7yCfF8ki0
>>6
ググっても出てこないので、正確な技術用語を教えてください
34デフォルトの名無しさん (ワッチョイ 8236-HLSl)
2020/01/15(水) 07:36:38.25ID:6QOzbNpL0
ファイルマッピング
でいいか?
35デフォルトの名無しさん (ワイーワ2 FF4a-otum)
2020/01/15(水) 13:40:12.09ID:eUr1BYr3F
リソースの再利用について

@YouTube

36デフォルトの名無しさん (ワッチョイ 02a6-pREH)
2020/01/15(水) 13:56:26.73ID:+l1Z2xEr0
大きいメモリをできるだけ上位のアドレスで割り当てる
普通のメモリ割り当てなら下位のアドレスになるから
使い分けで断片化の影響を減らせる

VirtualAllocの MEM_TOP_DOWN
37デフォルトの名無しさん (ワッチョイ 8261-frEi)
2020/01/15(水) 14:03:29.42ID:60b3MtID0
XPで付属のIMEだかuxtheme.dllあたりが中途半端なbaseaddress指定してあって1ブロックとしては700MBくらいまでしか確保できなかった思い出
38デフォルトの名無しさん (ワッチョイ bd02-otum)
2020/01/16(木) 23:59:28.03ID:n2KajW3z0
2つスレッドがあってサブの方を使わない時は
こんな感じで待機してるんだけどやっぱマヌケかな?w
その都度作った方がやっぱいいの?
while(flag){ Sleep(1000); }
39デフォルトの名無しさん (ワッチョイ 02ad-nP71)
2020/01/17(金) 00:38:20.87ID:VVaP2eJK0
間抜けというか、完全に寝かせてしまえばいいのでは?
40デフォルトの名無しさん (ワッチョイ 4263-A78j)
2020/01/17(金) 00:42:06.99ID:Ed4nA3uH0
>>38
環境を書かないと
WindowsならDefWindowProc呼び出すとか
Unixならselectでイベント発生を待っているとか
41デフォルトの名無しさん (ワッチョイ 412d-6zBS)
2020/01/17(金) 01:14:24.13ID:rOjn9SwA0
>>38
それは簡単のように見えて、実は奥深いプログラミングのテーマの1つかもだけど。
問題がないのであれば、そのコードはマヌケでもないし悪くもないので、そのままでいいと思うよ。
42デフォルトの名無しさん (ワッチョイ bd02-otum)
2020/01/17(金) 01:18:32.17ID:e4Iv2ZR10
>>39-41
環境はWindowsです。
スレッドは二つだけでサブも結構使ってるので
flagで管理して動かしたい時だけTRUEにしてる感じです。
特に動作に問題はないのでこのままでいいんでしょうかね。
43デフォルトの名無しさん (ブーイモ MMe5-4X0p)
2020/01/17(金) 01:31:08.41ID:uTUiG7kHM
リソースの競合がないんなら好きにすればいいけど、
あるなら、動いているように見えて低い確率で破綻するってのもあるよ
44デフォルトの名無しさん (ワッチョイ 412d-6zBS)
2020/01/17(金) 01:37:20.83ID:rOjn9SwA0
>>42
問題がない以上、NGにする理由もないわけで、このままでいいです。
言い換えると、何か問題があるなら、それに応じた修正や変更の必要ありかもです。
45デフォルトの名無しさん (ワッチョイ bd02-otum)
2020/01/17(金) 02:10:16.80ID:e4Iv2ZR10
>>43
一応そのへんは気を付けてるつもりなので今のところは問題ないですね。
>>44
分かりやすくていいので問題ないならこのまま行こうと思います。

ありがとうございました。
46デフォルトの名無しさん (ワッチョイ b957-otum)
2020/01/17(金) 02:43:46.95ID:gAZZjojh0
呼んでから起きるまでのタイムロスはどうでもいいのか
47デフォルトの名無しさん (ワッチョイ bd02-otum)
2020/01/17(金) 03:19:40.62ID:e4Iv2ZR10
>>46
そこはOKです。瞬時に処理してくれなくても問題ない処理なので。
48デフォルトの名無しさん (ワッチョイ 1db3-EgUp)
2020/01/17(金) 06:13:31.64ID:KcAYJrW80
>>38
イベント待ちがスマートでは?

サブは WaitForSingleObject でイベント待ち
サブを動かす時は メインスレッドから SetEvent する
49デフォルトの名無しさん (ドコグロ MM09-mQF2)
2020/01/17(金) 07:22:16.67ID:C1DTJTUYM
>>38
すげーマヌケに見える
スレッド作成する時間も惜しいなら>>48が言うようにイベントとかを使うべきだし、そうでないなら自分で言ってる通りその都度作った方がいい
そもそもサブともうひとつのスレッドとのやり取りはないんか?
50デフォルトの名無しさん (ワッチョイ 8236-HLSl)
2020/01/17(金) 07:26:24.09ID:sP/gsAG30
>>48でFA
51デフォルトの名無しさん (ワッチョイ 6e7b-sHAu)
2020/01/17(金) 09:59:39.59ID:Bc/tu7Ki0
スレッドプール用のapiあるんだからそっちのが良くない?
52デフォルトの名無しさん (ワッチョイ bd02-otum)
2020/01/17(金) 20:18:08.47ID:e4Iv2ZR10
>>48-51
ありがとうございます。参考にさせてもらいます。
53デフォルトの名無しさん (アウアウウー Sa05-SNGL)
2020/01/17(金) 21:01:33.00ID:IvE1mrxVa
POSIXスレッドなら cond wait みたいなの使うのがよさげ
54デフォルトの名無しさん (オッペケ Srd1-s5Rz)
2020/01/17(金) 21:27:33.03ID:fcTBGFJ8r
int main()
{
int array[100][10];


array[0][0] = 61;

printf("%d\n", *(int*)array ) ;



}
これなんでIntポインターにキャストしないとだめなん?
arrayでもポインターだから*つければ配列の先頭参照できないとおかしくね?
例えば
char array[] ="unko king";
だとしたら
%s とarrayで文字列表示できるじゃん
*(char*)arrayなんてしないでしょ?
55デフォルトの名無しさん (オッペケ Srd1-s5Rz)
2020/01/17(金) 21:32:02.00ID:fcTBGFJ8r
%s とarrayで文字列表示できるじゃん
*(char*)arrayなんてしないでしょ?

じゃなくて(char*)arrayだわ
みすった
56蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ f901-eWjF)
2020/01/17(金) 21:33:28.77ID:90cOo2870
配列はポインタではない。
57デフォルトの名無しさん (オッペケ Srd1-s5Rz)
2020/01/17(金) 21:37:01.79ID:fcTBGFJ8r
>>56
添字つけない場合は配列の先頭のメモリアドレスを持つポインタなんだがw
58デフォルトの名無しさん (オッペケ Srd1-s5Rz)
2020/01/17(金) 21:45:56.20ID:fcTBGFJ8r
>>56
例えば
int array[40][40];
array[30][30]=10;
int *p;
p=array;

*(p+(40*30)+30)でarray[30][30]にアクセスできる
59蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ f901-eWjF)
2020/01/17(金) 21:51:59.19ID:90cOo2870
型に互換性があることと、型が同じであることは異なる。int[20][20]はint*とは互換性がない。
60蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ f901-eWjF)
2020/01/17(金) 22:01:25.25ID:90cOo2870
配列はアドレス値を動かせない。
配列とポインタではsizeofの値が違うことがある。
多重ポインタと多次元配列はメモリレイアウトが異なる。

よって配列はポインタではない。
61デフォルトの名無しさん (ワッチョイ 4135-TOPI)
2020/01/17(金) 22:35:45.81ID:EE408Bd70
2次元配列は各行の配列が配置されてるメモリ上のアドレスのリストですか?
その場合、そのリストの要素であるアドレス値はどうやって取り出せますか?
C言語なら俺に聞け 154 YouTube動画>16本 ->画像>6枚
62デフォルトの名無しさん (ワッチョイ 4135-TOPI)
2020/01/17(金) 22:43:50.57ID:EE408Bd70
この場合で言う、データの列の10,20,30というようなアドレス値を取り出す方法はありますか?
63デフォルトの名無しさん (ワッチョイ 4135-TOPI)
2020/01/17(金) 22:44:02.60ID:EE408Bd70
C言語なら俺に聞け 154 YouTube動画>16本 ->画像>6枚
64蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd22-eWjF)
2020/01/17(金) 22:44:41.28ID:j19gqc7sd
1つの配列は連続した1つのメモリブロックになっている。二次元配列も1つのメモリブロック。配列の中身は実体。
配列名のみを指定すると配列の先頭へのポインタと互換になる。
65蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd22-eWjF)
2020/01/17(金) 22:46:16.09ID:j19gqc7sd
array[1][2]のように要素を指定できる。
66デフォルトの名無しさん (ワッチョイ 4135-TOPI)
2020/01/17(金) 22:57:35.09ID:EE408Bd70
int array[10][2]はint[10]が2個あるという意味ですか?
67蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd22-eWjF)
2020/01/17(金) 22:58:16.83ID:j19gqc7sd
はい。
68デフォルトの名無しさん (ワッチョイ 4135-TOPI)
2020/01/17(金) 23:01:31.63ID:EE408Bd70
ではそのint[10]というのを行と呼ぶとした時、なぜこの実行結果では行間のアドレス間隔が行数になるのでしょうか。
C言語なら俺に聞け 154 YouTube動画>16本 ->画像>6枚
69蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ f901-eWjF)
2020/01/17(金) 23:07:01.46ID:90cOo2870
>>67はウソ。
70蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ f901-eWjF)
2020/01/17(金) 23:29:55.57ID:90cOo2870
スミマセン
71デフォルトの名無しさん (ワッチョイ 02ad-A78j)
2020/01/18(土) 04:54:51.45ID:GHIm2HIn0
>>66
それはint[2]が10個だ。
72デフォルトの名無しさん (ワッチョイ 8236-HLSl)
2020/01/18(土) 07:37:38.87ID:cLOUBKze0
>>54
おまえさんが array[0][0] = 61; と書いているように、
int は array[0][0] だ、ここ大事だぞ
array[0] は int ではないことを絶対に忘れるな

知ってのとおり
printf("%p", array); は
printf("%p", &array[0]); と解釈される
つまり int でないもののアドレスとなる

だから
printf("%d", *array); と実体化すると
printf("%d", *&array[0]); のように int でないものとなる
73デフォルトの名無しさん (オッペケ Srd1-s5Rz)
2020/01/18(土) 09:00:32.29ID:8VbKHwfkr
>>72

おおサンクス!
74デフォルトの名無しさん (ワッチョイ 42c5-6zBS)
2020/01/18(土) 12:36:57.02ID:ADLYtxAZ0
int three[2][3][4];

これは4の配列が3個で、それが2個ということでおk?
75デフォルトの名無しさん (ワッチョイ 42d2-Jw1z)
2020/01/18(土) 15:14:27.29ID:DLgVDe3/0
そうじゃない
int [3] [4]が二個
って考える
そのあとint[3][4]について考えると
int[4]が3個ってなる
76デフォルトの名無しさん (ラクッペ MMe5-pplk)
2020/01/18(土) 15:19:38.07ID:TdnAkHteM
>>74はそう言ってるのでは?
77デフォルトの名無しさん (ワッチョイ 829f-9xZB)
2020/01/18(土) 15:40:38.09ID:/vLKu3q60
静的に確保された多次元配列の実態はただの1次元配列だから
int array[2][2] = {};
array[1][0] = 2525;
printf(“%d\n”, array[0][2]);
ってやると2525が出力される
78デフォルトの名無しさん (オッペケ Srd1-s5Rz)
2020/01/18(土) 18:10:12.32ID:8VbKHwfkr
再帰むずすぎてハゲそうだわ
これなにやってるかパット見て分かる人いる?

int rec(int num) {
printf("%d\n", num);
if (num == 1)
return 1;
else {


return num * rec(num - 1);
}
}
79デフォルトの名無しさん (ワッチョイ 8236-HLSl)
2020/01/18(土) 18:15:41.86ID:cLOUBKze0
階乗のように見えるが、違うのか?
80デフォルトの名無しさん (ワッチョイ 1db3-EgUp)
2020/01/18(土) 18:16:54.67ID:/9q/+LXn0
再帰の例で一番出てくるヤツ

if の中はゼロとの比較の方が良いと思う
81デフォルトの名無しさん (ワッチョイ 42d2-Jw1z)
2020/01/18(土) 18:17:52.93ID:DLgVDe3/0
これをfixとかでやるとますますわからなくなる
82デフォルトの名無しさん (ワッチョイ 1db3-EgUp)
2020/01/18(土) 18:19:40.64ID:/9q/+LXn0
rec(1) = 1
rec(n) = n * rec(n-1)

漸化式による記述
83デフォルトの名無しさん (ワッチョイ 4135-pplk)
2020/01/18(土) 18:25:53.64ID:qr7I8bae0
重要なのはreturnの部分だけだしな
84デフォルトの名無しさん (ワッチョイ 0201-mQF2)
2020/01/18(土) 19:28:24.57ID:34RcyaUW0
>>78
rec(3) 位にして自分でトレースしてみればわかると思う
85デフォルトの名無しさん (ワッチョイ a9d2-co1w)
2020/01/18(土) 20:39:04.60ID:et7QELfi0
再帰のコードを書いていて不思議な気分になるのは
なんで今書いているものを呼び出せるんだろうとか思っちゃうからかな
86蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd22-eWjF)
2020/01/18(土) 20:42:37.39ID:Q+FQEvxBd
再帰できるのはスタックフレームのおかげやで
87デフォルトの名無しさん (ワッチョイ 8679-6zBS)
2020/01/18(土) 20:48:04.45ID:wrxXpMgf0
再帰は遅いから実践ではできれば使わずに済ませたい
88デフォルトの名無しさん (ワッチョイ e252-iiEx)
2020/01/18(土) 21:18:15.56ID:Qnj8VWpB0
単純なループですむならその方がいいだろうな。
木構造の探索みたく本質的に再帰で書いた方が自然なものは再帰のがいい。
89デフォルトの名無しさん (ワッチョイ 0201-mQF2)
2020/01/18(土) 21:47:38.11ID:34RcyaUW0
今どき再帰が遅い?
90デフォルトの名無しさん (ワッチョイ 8679-6zBS)
2020/01/18(土) 21:54:07.90ID:wrxXpMgf0
今時〜が遅いと言い放てる環境ならまず今時Cを使う意味がない
91デフォルトの名無しさん (スップ Sd82-slCE)
2020/01/18(土) 22:37:40.26ID:jIyN1Euld
再帰は遅さより深さが怖い
92デフォルトの名無しさん (ワッチョイ e1da-A78j)
2020/01/18(土) 22:44:24.70ID:ecN+p+Ar0
再帰でなければ実現できないアルゴリズムがあるとすれば,例えばどんなの?
93デフォルトの名無しさん (ワッチョイ c546-KHKa)
2020/01/18(土) 23:02:02.15ID:Kwj2OX4/0
> でなければ実現できない
という要件が気になる。
94デフォルトの名無しさん (アウアウクー MM91-0c/Z)
2020/01/19(日) 02:29:28.66ID:ec7Q1zSDM
迷路のルート検索に再帰で書いた事あるけど10000ぐらいでスタックオーバーするので再帰をループで書き直した思いで
95デフォルトの名無しさん (ワッチョイ 42c5-6zBS)
2020/01/19(日) 04:29:07.91ID:r8dbXOf20
お前ら知ってるか
Pythonの構文解析はgoto文の状態遷移なんだぜ
あれ見てPythonは業が深い言語だと思ったわ
まぁあれが一番早いんだろうけど
96デフォルトの名無しさん (ワッチョイ 8236-HLSl)
2020/01/19(日) 06:30:18.66ID:6oeBvQPN0
ツリー探索なんか待ち行列を使えば非再帰に変形できるからな
97デフォルトの名無しさん (スップ Sd22-EgUp)
2020/01/19(日) 08:03:33.51ID:D5W6f6uHd
C言語で記述可能かどうかって意味なら
どんなものでも非再帰に変形可能
98デフォルトの名無しさん (ワッチョイ 0201-mQF2)
2020/01/19(日) 08:20:31.11ID:UmCLgzkS0
>>95
構文解析とかは大抵そうだよ
最近は使ってないから変わってるかも知れんが昔yacc/lex使った時の出力はgoto使い捲くりだったし
99デフォルトの名無しさん (ワッチョイ a17b-WxMz)
2020/01/19(日) 08:26:41.57ID:bqsJmSpA0
>>85
関数の最初に「返り値と関数名と仮引数リスト」を書くでしょ。
それだけの情報があれば関数を呼び出すには十分なのだ。

…と、構造体名の前方宣言みたいな説明でケムに巻いてみる。
100デフォルトの名無しさん (ワッチョイ 82a5-36M6)
2020/01/19(日) 09:07:49.21ID:IjeRNxme0
ソースコード上ではあたかも再帰が可能かのように見せかけてるだけでしょ
そういうウソをコンパイラは演出してくれている
101デフォルトの名無しさん (ワッチョイ e252-iiEx)
2020/01/19(日) 09:13:46.72ID:Wel1D6/w0
>>85
実際に再帰呼び出しが実行されるのはその関数が書き終わったあとなのだから何の不思議もないような気がするが。
102デフォルトの名無しさん (ワッチョイ 42d2-Jw1z)
2020/01/19(日) 09:52:53.26ID:L+cLui7g0
そもそもC言語の再帰をコンパイルして出てきたマシーンコードって
スタックに積んでgotoしてるだけのループじゃん
103デフォルトの名無しさん (ワッチョイ 82a5-36M6)
2020/01/19(日) 10:09:42.96ID:IjeRNxme0
本物の再帰を実現できる無限のメモリーなんて存在しないじゃん
だから現状は擬似再帰、
しかもあと500年くらいは擬似再帰で我慢してもらうしかない
104デフォルトの名無しさん (ワッチョイ 42d2-Jw1z)
2020/01/19(日) 10:31:33.19ID:L+cLui7g0
再帰は再帰専用のメモリースペースを使うから限界がすぐくるだけやぞ
105デフォルトの名無しさん (ワッチョイ 82a5-36M6)
2020/01/19(日) 10:42:13.41ID:IjeRNxme0
今の科学力では本物の数学的な再帰なんて実現出来ない、
だから、擬似再帰に留まってる

あとは実数マシンと整数マシンで、現状は離散的な整数マシン
実数をそのまま扱えるマシンすら存在してない
106デフォルトの名無しさん (スップ Sd22-EgUp)
2020/01/19(日) 10:49:21.60ID:RfLx+x9Fd
コンピューターに限界がある
なんてことは誰でも知ってるから
いちいち書かなくても良いよ
107デフォルトの名無しさん (ワッチョイ 82a5-36M6)
2020/01/19(日) 10:56:48.90ID:IjeRNxme0
だな
>>102が言うからには他の言語ではもっと画期的な方法があるのかと思ってた
108デフォルトの名無しさん (ワッチョイ 42d2-Jw1z)
2020/01/19(日) 10:57:08.36ID:L+cLui7g0
そもそも宇宙は巨大な計算機だからすでに存在してる
109デフォルトの名無しさん (ワッチョイ 4263-A78j)
2020/01/19(日) 11:00:03.37ID:+Juhn6xh0
無限ループこそが再帰の神髄
110デフォルトの名無しさん (スップ Sd22-EgUp)
2020/01/19(日) 11:00:47.42ID:RfLx+x9Fd
本物の再帰
とか
疑似再帰
とか

文系かよ
111デフォルトの名無しさん (ワッチョイ a17b-WxMz)
2020/01/19(日) 15:32:55.94ID:bqsJmSpA0
>>105
「アナログコンピュータ」ってのがあって、俺がいじったのは
その都度回路を組んで信号を送って電圧計の針の振れを観察するんだが、
あれは一応、物理の限界の精度で実数をそのまま扱うマシンだね。

このスレッドで扱う対象じゃないけど。
112デフォルトの名無しさん (スップ Sd22-EgUp)
2020/01/19(日) 15:48:32.08ID:RfLx+x9Fd
アナログと実数には遠い溝が...

精度はデジタルの方がはるかに上
113デフォルトの名無しさん (アウウィフ FF05-otum)
2020/01/19(日) 16:44:13.95ID:ehZNNwbSF
>>54
そんなキャストはしてはいけない
お前の使い方が間違ってる
敢えて括弧を付けるが正しいのはこの二つだけ
printf("%d\n", *(array[0]));
printf("%d\n", *(*array));
114デフォルトの名無しさん (ワッチョイ 8236-HLSl)
2020/01/19(日) 17:47:28.55ID:6oeBvQPN0
無駄なだけの「正しい」括弧なんかやめれ
printf("%d", (*array)[0]); //少なくともこれの意味がわかるようになるまでは
115デフォルトの名無しさん (ワッチョイ 02a6-pREH)
2020/01/19(日) 19:24:15.02ID:IVwJAfoP0
ポインターがintと同じサイズと思うなよ
116デフォルトの名無しさん (ワッチョイ 8236-HLSl)
2020/01/19(日) 20:11:46.65ID:6oeBvQPN0
エー、エイチ、オー
117デフォルトの名無しさん (ブーイモ MMcd-lkYm)
2020/01/19(日) 20:13:42.23ID:AxsWVwh/M
丸括弧の次に優先順位が高い角括弧ってだけの話じゃん
識別子に最優先くっついてガツンと先に作用するて意味じゃわかりやすい関数等の丸括弧を除いて最強という。
118デフォルトの名無しさん (ワッチョイ e252-iiEx)
2020/01/19(日) 20:40:31.66ID:Wel1D6/w0
>>117
なんか演算子の優先順位をいい加減に覚えてそう。C言語のBNFでも見てきたら?
119デフォルトの名無しさん (スップ Sd22-EgUp)
2020/01/19(日) 21:31:45.40ID:RfLx+x9Fd
+ と << が混ざった演算
( ) を付けないと警告を出すアホコンパイラがあるんだよね
120デフォルトの名無しさん (ワッチョイ 5f44-ET0W)
2020/01/22(水) 18:42:43.98ID:fnLfByOj0
ウィキのバスエラーの所に出ているサンプルをVisual Studioでコンパイルしたんですが
デバッガで見てもゴミ値が入るだけで特に警告もエラーも出さないので
バスエラーになっているかいないか分かりません。バスエラーを体験するにはどうすればいいですか?
コンパイルオプションで対応出来ますか?

https://ja.wikipedia.org/wiki/%E3%83%90%E3%82%B9%E3%82%A8%E3%83%A9%E3%83%BC
121デフォルトの名無しさん (ワッチョイ 27b3-oAbd)
2020/01/22(水) 18:48:19.32ID:0ayd3B3Q0
x86はアラインメント不整合でも正常に読み書き出来る

AVXレジスタで
アラインメントが整ってないと使えない命令があるから
それを使えば例外発生する

MOVAPS など
122120 (ワッチョイ 5fda-ET0W)
2020/01/23(木) 20:01:35.17ID:9tTsebGL0
ありがとうございました。
123デフォルトの名無しさん (ワッチョイ 5f61-RMi8)
2020/01/23(木) 20:11:21.63ID:6RFiXn/e0
int main(void)
{
return *(int *)0;
}
の方が簡単
124デフォルトの名無しさん (アウアウウー Sa4b-AenA)
2020/01/24(金) 17:55:51.18ID:zcPs/H1Xa
>>123
それセグメンテーションフォルトでは?バスエラーになるCPUあるの?
125デフォルトの名無しさん (ワッチョイ 5f36-m6Yn)
2020/01/24(金) 18:05:28.52ID:xfkHfIRp0
リードアクセスだしなあ
0番地が未実装というのは考えにくいね
126デフォルトの名無しさん (ワッチョイ c701-/WoK)
2020/01/24(金) 19:16:51.65ID:JBJjeU6+0
そもそもバスエラーとかセグメンテーションフォールトは、CPUの例外等をOS側で適当にマッピングして、そう呼ぶOSがあるというだけだからOS依存。

x86/x64のCPUで>>123のような適当なメモリアクセスを行うと、CPUで例外#GPや例外#PFが発生する。UNIXならそれを状況に応じてセグメンテーションフォールト(SIGSEGV)やバスエラー(SIGBUS)として扱い、WindowsだったらEXCEPTION_ACCESS_VIOLATIONとして扱う。

アライメントがずれている時は、発生した例外#ACをバスエラー(SIGBUS)やEXCEPTION_DATATYPE_MISALIGNMENTとして扱う。
127デフォルトの名無しさん (ワッチョイ 5f36-m6Yn)
2020/01/24(金) 20:23:29.22ID:xfkHfIRp0
ASを出してから一定時間経過してもDTACKが帰ってこないとBERR端子をぶっ叩かれてバスエラー
128デフォルトの名無しさん (ワッチョイ 5f61-RMi8)
2020/01/24(金) 20:40:29.99ID:aSv3EoFQ0
68K通った人からするとアライメント不整合はアドレスエラーの印象が強い
129デフォルトの名無しさん (ワッチョイ 27b3-oAbd)
2020/01/24(金) 21:00:31.06ID:3pA3r7pN0
スパッと例外で死んでくれれば良いんだけど
単にズレるだけってCPUがある
130デフォルトの名無しさん (アークセー Sx7b-lpLI)
2020/01/25(土) 00:46:35.96ID:cts07rfpx
int i;
int *pi = &i;
*((int *) (((char *) pi) ÷ 1)) = 1;

x86はこれがバスエラーにならないね
131デフォルトの名無しさん (バットンキン MMeb-/WoK)
2020/01/25(土) 01:00:05.76ID:vvn39fxSM
>>130
÷は+だとして、
eflagsのACビットを立てておくとバスエラーになる
132デフォルトの名無しさん (アークセー Sx7b-lpLI)
2020/01/25(土) 01:03:11.29ID:cts07rfpx
>>131
ゴメン、その通り
加算演算子です
133デフォルトの名無しさん (ワッチョイ 5f63-Jq7D)
2020/01/25(土) 01:05:26.15ID:iDfv/qKw0
そもそもx86だとバスエラー発生が無理なんではないのか?
134デフォルトの名無しさん (ワッチョイ 877b-qY3Q)
2020/01/25(土) 05:21:20.46ID:g3vROROv0
>>129
ARMのCPUでアラインメントの整合を怠ったら
偶数番地/奇数番地か、その2倍のアドレス値だったか
データの半分しか書き込まれなくて…って事態を目撃したことがある。

素朴なビットマップグラフィックのプログラムだったので
画面がシマシマになるのが文字通り目で見えた。
同じソースをx86系で実行すると期待通りの結果になるんだよ。
135デフォルトの名無しさん (ワッチョイ c701-/WoK)
2020/01/25(土) 18:58:17.60ID:OESzqPub0
>>130
>>133

// x64 linux

volatile int x[2];

int main () {

asm("pushf");
asm("btsl $18, (%rsp)"); // set AC
asm("popf");

// *(int*)((char*)x+1)=1; // SIGBUS

asm("pushf");
asm("btrl $18, (%rsp)"); // clear AC
asm("popf");

return 0;
}
136デフォルトの名無しさん (アークセー Sx7b-lpLI)
2020/01/25(土) 23:01:02.31ID:5aeLZw2zx
>>135
130です
130のように書くとバスエラーがなければ ip を破壊する可能性が高いし、最適化でコードが生成されないためのケアもされていて思慮深いコードですね…

しかしGASのオベランドは逆に見えてしまって…
137デフォルトの名無しさん (ワッチョイ 5f63-Jq7D)
2020/01/25(土) 23:05:55.96ID:iDfv/qKw0
やはりアセンブラの領域にまで踏み込まないと無理なんでしょうね
138デフォルトの名無しさん (ワッチョイ 5fa3-9VUD)
2020/01/25(土) 23:07:44.29ID:tu9lbSH20
>>92
再起はループに起こせるよ
139デフォルトの名無しさん (ワッチョイ 5fc5-9rwV)
2020/01/28(火) 19:15:06.58ID:oIjih5hj0
起こせるけど再帰の方がシンプルに書ける
140デフォルトの名無しさん (ワッチョイ 5fa5-UqN9)
2020/01/28(火) 19:58:49.90ID:KHL1SP2c0
バカには(再帰は)無理
141◆QZaw55cn4c (ワッチョイ 5f47-pMYN)
2020/01/28(火) 21:13:43.62ID:kvBVtoLm0
>>138
本当ですか?
二方向以上への再帰をループに起こせる自信は私にはありません
142デフォルトの名無しさん (ワッチョイ 5f36-m6Yn)
2020/01/28(火) 21:28:18.02ID:wcDzWZFN0
枝分かれするとき、「今は進まない」方向を待ち行列に並ばせておいて
あとで対応しにくればええやん
143デフォルトの名無しさん (ワッチョイ 89b3-W2hh)
2020/01/29(水) 04:36:34.49ID:8i6C3PjP0
複数関数をまたがる再帰
関数コールがたくさんの箇所で行われる

こんなヤツだとループにするのは非常にメンディー

可能ではあるけど
144デフォルトの名無しさん (ブーイモ MMc9-BGKF)
2020/01/29(水) 07:12:24.51ID:6aVmGUgqM
クイックソートの非再帰実装とかあちこちに転がってるから勉強しとけ。
待ち行列じゃなくスタックな。
145デフォルトの名無しさん (ワッチョイ 9e8c-Witc)
2020/01/29(水) 07:41:04.40ID:X/jeBiHu0
大きいプログラムだと差は小さい。
146デフォルトの名無しさん (ワッチョイ b67c-unxX)
2020/01/29(水) 08:52:34.15ID:WHzHFeoy0
>>144
キューでも再帰実装できるし別に良くね?
147デフォルトの名無しさん (アウアウウー Sa21-lBRq)
2020/01/29(水) 09:55:20.60ID:Ji+gdkxYa
もっと口を尖らせて
148デフォルトの名無しさん (ブーイモ MMc9-BGKF)
2020/01/29(水) 10:07:23.93ID:6aVmGUgqM
>>146
できる例もあるが一般の再帰では無理
149デフォルトの名無しさん (ワッチョイ b67c-unxX)
2020/01/29(水) 10:15:28.71ID:WHzHFeoy0
>>148
太い枝から積んで順にやってけばええんやで
150デフォルトの名無しさん (JP 0Hb5-BGKF)
2020/01/29(水) 11:54:36.69ID:/CdgIXHbH
>>149
よくわからんからコード出して
151デフォルトの名無しさん (ワッチョイ 6a36-i7CI)
2020/01/29(水) 11:56:45.66ID:HJZ6WUGV0
金取っていいパターンだな
152デフォルトの名無しさん (スプッッ Sdea-W2hh)
2020/01/29(水) 13:00:56.99ID:jPsoIsZ7d
一般的には
パラメーターとローカル変数とコール位置
などの情報をスタックに積んでいく

機械的にやるならこれしかない
ほぼ再帰と同じ処理になる

機械的にやらないなら場合によっていろいろな方法がある
153デフォルトの名無しさん (アウアウウー Sa21-G6DY)
2020/01/29(水) 13:01:50.34ID:i1SX986la
>>149
太い枝の意味が分からんが、処理の順序が変わってしまうような変更はダメじゃね?
元の再帰のコードが必ずしもその太い枝の順とは限らないし、そもそも木構造とは限らないだろう。
154デフォルトの名無しさん (ワッチョイ 6a61-2iSl)
2020/01/29(水) 13:17:09.29ID:p9IYATJW0
再帰の代替なら素直にスタックでやった方が楽だよな。ポインタ1つで済むし
155デフォルトの名無しさん (ワッチョイ 6a36-i7CI)
2020/01/29(水) 13:42:07.48ID:HJZ6WUGV0
再帰ではスタックを使うからって
そこで脳硬化症にかかると。。。
156デフォルトの名無しさん (ワッチョイ 6aa5-OeZ9)
2020/01/29(水) 14:08:59.70ID:0fI82nWR0
本物の再帰を実現可能なマシンなんて存在しない
全部はスタックに還元するしか無いんだから
再帰だなんだと騒いでも結局現行のスタックやアドレスでどうにかなるじゃん

本当に再帰でしか書けなくなるのは本物の再帰を実行可能な再帰マシンが出来てからの話
157デフォルトの名無しさん (ワッチョイ ea02-L01+)
2020/01/29(水) 14:21:03.67ID:drvY0wlA0
ここでvoidくんの見解を聞いてみよう
158デフォルトの名無しさん (ワッチョイ 4a52-G6DY)
2020/01/29(水) 15:32:00.95ID:iDUguYS70
>>156
よく分からないんだけど、本物の再帰ってどういうもの?
スタックが有限だということを除いて、今のC言語の再帰関数の実現方法と本質的には何が異なるの?
159デフォルトの名無しさん (ワッチョイ 2ac5-/fp1)
2020/01/29(水) 18:05:30.01ID:pS76hSXZ0
再帰ソムリエの俺からすれば疑似再帰など下の下
本物再帰こそコードに埋め込まれるに相応しい
芳醇な香りと甘酸っぱい味わい
160デフォルトの名無しさん (ワッチョイ 6a36-i7CI)
2020/01/29(水) 18:27:48.80ID:HJZ6WUGV0
たとえ64bit空間(16EiB)でも「真の」再帰はできんぞ?
どこかで必ず再帰を諦めるかクラッシュする可能性が排除できない
161デフォルトの名無しさん (ワッチョイ 89b3-W2hh)
2020/01/29(水) 18:35:20.80ID:8i6C3PjP0
本物の再帰
真の再帰

次は何が出てくるかな?
162デフォルトの名無しさん (ワッチョイ a902-vKSH)
2020/01/29(水) 18:50:58.59ID:7jhbc4AI0
(究極 | 至高 | 伝説 | 奇跡)の再帰
163デフォルトの名無しさん (ワッチョイ 2ac5-/fp1)
2020/01/29(水) 18:56:18.56ID:pS76hSXZ0
俺、斎藤再帰、17歳
今日も玄関から出続ける登校が始まるぜ!
エンドレスナイト!
164デフォルトの名無しさん (ワッチョイ 2a63-unxX)
2020/01/29(水) 18:58:52.17ID:kTgu21G10
>>161
本家 再帰
元祖 再帰
165デフォルトの名無しさん (ワッチョイ 5d35-MzNC)
2020/01/29(水) 19:14:11.95ID:ZN4TcJna0
再起を賭けた戦いが始まる!
166デフォルトの名無しさん (アウアウクー MM7d-2G11)
2020/01/29(水) 19:34:26.07ID:cVCtJzafM
負けたやつは二度とコード中で再起を使えない
167デフォルトの名無しさん (ワッチョイ 2a63-unxX)
2020/01/29(水) 20:07:17.39ID:kTgu21G10
>>163
定時制ですか?
168デフォルトの名無しさん (ワッチョイ 6a36-i7CI)
2020/01/29(水) 20:44:02.49ID:HJZ6WUGV0
再起不能w
169デフォルトの名無しさん (ワッチョイ 2a63-unxX)
2020/01/29(水) 22:19:07.14ID:kTgu21G10
それは歳のせいでしょう
170デフォルトの名無しさん (ワッチョイ 7d01-Ice+)
2020/01/30(木) 00:19:52.75ID:oEmB/ijk0
>>170
自己再起
171デフォルトの名無しさん (アウアウクー MM7d-T0fr)
2020/01/30(木) 00:35:40.44ID:v1tZ7RqBM
puts("無限ループやん");
172デフォルトの名無しさん (ワッチョイ a60d-4Et2)
2020/01/30(木) 05:13:48.15ID:cjZm5rKh0
>>160
真の再帰ってなんですか?160がどくじにかんがえたさいきょう再帰ってことでいいですか?
173デフォルトの名無しさん (ワッチョイ 1546-10I6)
2020/01/30(木) 06:00:39.64ID:gnQ2YSBX0
>>172
必ず再帰を諦めずクラッシュしないという定義が>>160に書かれてあるように、オラには見える。
174デフォルトの名無しさん (ワッチョイ b501-0Ybi)
2020/01/30(木) 07:15:03.02ID:Z7o7STkD0
mainを再帰させるべき。
175デフォルトの名無しさん (ワッチョイ 89b3-W2hh)
2020/01/30(木) 07:33:27.84ID:7USHzq/h0
ああ、
そんなコードを書いたことがある
176デフォルトの名無しさん (ワッチョイ 89b3-W2hh)
2020/01/30(木) 07:35:18.50ID:7USHzq/h0
少ない文字数で大きな数を作るのを競うヤツで
177デフォルトの名無しさん (ワッチョイ 2a63-unxX)
2020/01/30(木) 10:15:17.82ID:OBUYa7FA0
赤い目を光らせて再起動

I will be back!
178デフォルトの名無しさん (ワッチョイ 6a36-i7CI)
2020/01/30(木) 11:34:47.79ID:6JJixhdc0
どっちかつーと溶鉱炉で自分で自分を吐いているT-1000の姿が再帰に近いだろう
179デフォルトの名無しさん (ワッチョイ 2ac5-/fp1)
2020/01/30(木) 20:32:51.06ID:fVK6hy0p0
お前ら再帰してるときのプログラムの気持ち考えたことあるの?
俺はある
ちょっと恥ずかしいんだよな、自分を省みるみたいで
180デフォルトの名無しさん (ワッチョイ ea02-L01+)
2020/01/30(木) 20:50:43.10ID:XBwSjSkj0
何言ってんだこの馬鹿
181デフォルトの名無しさん (ブーイモ MM8e-BGKF)
2020/01/30(木) 21:25:54.78ID:N4FezhNTM
俺はCPUの気持ちになってるよ。
「ちょ、おま、いまのとこほっといて、またそっち行くわけ?」
「え、戻れるように退避してる?ならいいけど……」
みたいな。
182デフォルトの名無しさん (ワッチョイ 2a63-unxX)
2020/01/30(木) 23:15:18.07ID:OBUYa7FA0
結んでいたはずの命綱をたぐり寄せると全部手元に来てしまったw
183デフォルトの名無しさん (ワッチョイ 9e8c-Witc)
2020/01/31(金) 08:16:18.27ID:Kenfb4Kv0
AIは兵士をメカで作らない。たぶん生物兵器であろう。
ターミネータは嘘っぽい。エイリアンの方が本当っぽい。
184デフォルトの名無しさん (ワッチョイ 8a1e-7ddI)
2020/01/31(金) 09:16:07.89ID:R8G2m3ys0
アウトランダーズ
185デフォルトの名無しさん (ワッチョイ b67c-unxX)
2020/01/31(金) 12:32:57.36ID:b8EdwmzO0
アウトランナーズ
186デフォルトの名無しさん (ワッチョイ 11d2-unxX)
2020/01/31(金) 12:37:32.33ID:1BlsaWfK0
アウトフォクシーズ
187デフォルトの名無しさん (ワッチョイ 7963-6LpL)
2020/01/31(金) 18:16:56.63ID:TLQmE8wI0
c言語で書く金融アプリケーションの事例がいくつか知りたいのですが!
188蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd0a-EwIG)
2020/01/31(金) 18:23:03.22ID:EyOnVgK3d
>>187
金融なら、Haskell・OCamlでC言語ソース生成くらいグリグリやってんとちゃう?
189デフォルトの名無しさん (アウアウウー Sa21-lBRq)
2020/01/31(金) 19:41:28.40ID:K802DmBra
ないんじゃないかな?
190デフォルトの名無しさん (ワッチョイ 2a63-unxX)
2020/01/31(金) 19:46:08.12ID:k4NtdgGW0
金融アプリケーションって何?
191デフォルトの名無しさん (スップ Sd0a-x67y)
2020/01/31(金) 19:47:08.82ID:xOuBGXY8d
COBOLとか使うヤツ
192デフォルトの名無しさん (ワッチョイ 4a52-G6DY)
2020/01/31(金) 21:16:24.88ID:70BTs5bI0
>>187
疑問文なのに何で末尾に!を付けるの?
質問していると言うよりクレームつけてるみたいだなw
193デフォルトの名無しさん (ワッチョイ 6a36-i7CI)
2020/01/31(金) 21:29:06.27ID:aVH6lH010
4GLとか使って「COBOLの範疇」で書いたつもりになってるやつらが
縁の下の力持ちを知らないのか無視しているのかどっちでもいいが
悪いが鼻で笑わせてもらってたね

俺が見てた事例ではCじゃなくアセンブラだったが
194デフォルトの名無しさん (ワッチョイ 6a36-i7CI)
2020/01/31(金) 21:30:33.47ID:aVH6lH010
元来、俺はそんなに皮肉屋じゃないはずなんだが
連中の上から目線がそうさせていた
195デフォルトの名無しさん (ワッチョイ eaad-Yjow)
2020/02/01(土) 06:47:44.88ID:PlRScEsI0
いや、まあ、CでCOBOLコンパイラ作る事は可能だろうけどね。
196デフォルトの名無しさん (ワッチョイ 2a63-unxX)
2020/02/01(土) 11:17:42.72ID:yTeildyw0
何十年か前、GCCをベースにシステムを作った金融サイトがあることはある
GPLに触れないようライブラリは全部自前で用意してた
端末、サバクラのやり取り、サーバー間のデータ交換、全部Cで作ってた
197デフォルトの名無しさん (ワッチョイ 89b3-x67y)
2020/02/01(土) 11:18:36.53ID:tav2AwxI0
GCC
198デフォルトの名無しさん (ワッチョイ a902-vKSH)
2020/02/01(土) 12:36:41.04ID:50MDw/OE0
視力検査?
199デフォルトの名無しさん (ワッチョイ 6a36-i7CI)
2020/02/01(土) 21:42:14.19ID:BhmlSyWc0
IOCCC
200>>187 (ワッチョイ 1163-+5rw)
2020/02/02(日) 01:07:46.29ID:8cBiUpXt0
みなさんありがとうございます
(googleもみると)あるにはありそうな気もするけど
やっぱあまりよくないのかな。強烈に速度がほしい。
201デフォルトの名無しさん (ワッチョイ 1163-+5rw)
2020/02/02(日) 01:09:27.11ID:8cBiUpXt0
一方でIoTや組込的な決済プログラムは結構あるそうな。
C言語は安心して使えるから好きなんだよね。
202デフォルトの名無しさん (ワッチョイ 2a63-unxX)
2020/02/02(日) 01:19:26.11ID:lNG3EL+m0
業務アプリケーションまで持って行くのが割と大変だと思う
例えばお金の計算させるにしても、概算で良いなんてことは普通無いし
そのライブラリ作っても、信頼性の検証もしないと行けなくなる
預金システムなら、安全堅牢なファイルシステムも工夫しないといけない
趣味や学習として作る分にはとても興味深いものがあるけれど
実用するには、それを得意とするミドルを利用する方が無難だと思う
203デフォルトの名無しさん (ワッチョイ 1163-+5rw)
2020/02/02(日) 02:59:35.06ID:8cBiUpXt0
むむぅ
204◆QZaw55cn4c (ワッチョイ 4a47-NwnA)
2020/02/02(日) 07:10:56.28ID:9jRHEnns0
>>202
>お金の計算させるにしても、概算で良いなんてことは普通無いし
今は uint64_t があって、ほとんどカバーできますよ
205デフォルトの名無しさん (ワッチョイ 89b3-x67y)
2020/02/02(日) 07:40:39.94ID:D8WvcGqJ0
なにそのトンチンカンな発言
足し算引き算しかしないと思ってるの?
206デフォルトの名無しさん (ワッチョイ a612-i7CI)
2020/02/02(日) 07:50:53.39ID:SWo7Ruqh0
1844京6744兆0737億0955万1615円まで扱えるなら
全人類の富を表現できるけど
10銭が循環小数になっちゃ困るね
207デフォルトの名無しさん (ワッチョイ 7dda-unxX)
2020/02/02(日) 09:10:15.49ID:Wawdq7250
10銭を1単位にすりゃいいんじゃね?
表現できる最高金額が1桁減っちゃうけど
208デフォルトの名無しさん (ワッチョイ a612-i7CI)
2020/02/02(日) 09:12:29.11ID:SWo7Ruqh0
じゃあ1銭は循環小数でいいのかって話
きりねえだろ
209デフォルトの名無しさん (ワッチョイ 7dda-unxX)
2020/02/02(日) 09:18:53.11ID:Wawdq7250
>>208
じゃぁ今現在のシステムではどうなってんの?
210デフォルトの名無しさん (ブーイモ MM0a-Ftjm)
2020/02/02(日) 09:20:01.71ID:VB3p6sP1M
>>208
韓国の方ですか?
211デフォルトの名無しさん (ワッチョイ a612-i7CI)
2020/02/02(日) 09:31:06.07ID:SWo7Ruqh0
>>209
10進数で計算するんだよ、2進数じゃなく
212デフォルトの名無しさん (ワッチョイ 7dda-unxX)
2020/02/02(日) 09:35:04.50ID:Wawdq7250
>>211
そうじゃない
例えば円を単位としたとき小数点以下何桁まで保証してるのかって話
213デフォルトの名無しさん (ワッチョイ a612-i7CI)
2020/02/02(日) 09:42:25.20ID:SWo7Ruqh0
>>212
それは場面場面で色々だ
任意精度演算ってやつ
214デフォルトの名無しさん (ワッチョイ 7dda-unxX)
2020/02/02(日) 09:47:08.09ID:Wawdq7250
>>213
はぁ?
きりがないんじゃなかったのか?
215◆QZaw55cn4c (ワッチョイ 0aaa-NwnA)
2020/02/02(日) 09:51:31.13ID:Rn0kkYyt0
一銭二銭、あるいはそれ未満を扱うのなら、uint64_t を固定小数点で使えばいいだけでしょうね

>>205
>足し算引き算しかしないと思ってるの?
お金の計算なんて 9 割が加減乗除で済むのでは?
お金の計算で特に必要で特別な計算ってなにかありますか?
216◆QZaw55cn4c (ワッチョイ 0aaa-NwnA)
2020/02/02(日) 09:52:20.20ID:Rn0kkYyt0
>>211
10進で計算しなければならない、その必要性はなんですか?
217デフォルトの名無しさん (ラクッペ MM6d-oe7i)
2020/02/02(日) 09:58:14.19ID:PeaPXPNSM
>お金の計算で特に必要で特別な計算ってなにかありますか?

複利計算で累乗
218デフォルトの名無しさん (ワッチョイ 4a52-G6DY)
2020/02/02(日) 10:02:09.62ID:0Gqmr5420
>>215
例えば複利計算とかなら小数の計算の精度を厳密に規定しないと問題になるはず。専門外だから詳しくは知らないが、法律か金融機関ごとにでも決められているんだろう。
お前みたいにお金の計算はお小遣い帳をつけるくらいにしか使わないなら整数だけで問題ないだろうけど。
219デフォルトの名無しさん (ワッチョイ 1163-6LpL)
2020/02/02(日) 10:28:42.42ID:8cBiUpXt0
古い言語なのに意外と10進演算ライブラリとかもないですよね
個別に作ってるだけかもしれませんが
220◆QZaw55cn4c (ワッチョイ 0aaa-NwnA)
2020/02/02(日) 10:37:05.52ID:Rn0kkYyt0
>>218
小数点以下の丸めでは、例えば「五捨五入」のもあるみたいですし
でも「厳密に規定」とかいうほどの難しい方法はないとおもいますよ、普通に固定小数点の整数で問題ないのでは?

>>219
10進演算、って普通の整数の加減乗除とどう違うのですか?
221デフォルトの名無しさん (スップ Sd0a-x67y)
2020/02/02(日) 10:45:51.01ID:j5gc2NvRd
本当に何も知らないんだねQZ
222デフォルトの名無しさん (ワッチョイ e5f9-/fp1)
2020/02/02(日) 10:56:35.17ID:/IWX5gyF0
計算機ができる前は人が筆算してたんだよ、勿論10進で
それと合わなきゃならないの
だからBCDとかやるの

精度が確保されてればより正確なんだけど、「本当はこっちの方がより正確です」はダメなんだわ
それまでと変わっちゃダメなの
223デフォルトの名無しさん (ワッチョイ 1163-6LpL)
2020/02/02(日) 10:57:27.98ID:8cBiUpXt0
>>220
色々種類はあると思うけど10進数で小数点を扱えるんですよ
また丸め処理も10進数で出来るのですよ
224◆QZaw55cn4c (ワッチョイ 0aaa-NwnA)
2020/02/02(日) 11:00:28.10ID:Rn0kkYyt0
>>221
はい、8086 AAA, AAD, AAM, AAS 等の10進補正命令は知っていますが、今から考えても何故にアンパック形式10進なる形式を作ったのか、普通に2進整数+固定小数点では何故だめだったのか、納得できる理由をずっと探しているのです
225◆QZaw55cn4c (ワッチョイ 0aaa-NwnA)
2020/02/02(日) 11:04:52.03ID:Rn0kkYyt0
>>222
つまり「人の作業との突合せ・検算のために10進演算や BCD があった」ということですか?
でも、そうであっても普通に 2 進整数+固定小数点の演算で問題ないと思うのですが

>>223
BCD で出来る、ということを知りたいのではなく(なぜならばそれはすでに知っているから)、なぜ BCD が必要だったのか、という理由が知りたいのです
226デフォルトの名無しさん (ワッチョイ a902-vKSH)
2020/02/02(日) 11:23:45.02ID:85W5AYJA0
金融業界の習わしの発端について知りたいなら、それ関係のスレで聞けばいいんじゃね?
金融関係システムが10進で計算してるのは常識なんだし要求要件なんだから
それに疑問挟んでごねるプログラマーにはシステム開発発注したくねぇなぁ
227デフォルトの名無しさん (ワッチョイ 7d4f-unxX)
2020/02/02(日) 11:32:34.14ID:nz0OxFB30
単純に考えて、「(10進)小数点以下N桁目で四捨五入する」なんて規定があるときに
2進固定小数でやるのは面倒くさいじゃん。
228デフォルトの名無しさん (ワッチョイ a612-i7CI)
2020/02/02(日) 11:36:06.33ID:SWo7Ruqh0
>>214
どこで四捨五入するかなんて
プログラムじゃなく経理さんのルールだかんね
プログラマはそれに合わせるってだけのこと
229デフォルトの名無しさん (ブーイモ MM0a-Ftjm)
2020/02/02(日) 12:32:50.80ID:VB3p6sP1M
>>228
だったら固定小数点で良くね?
きりが無いなんてことはない
230デフォルトの名無しさん (ワッチョイ 39d2-fhCF)
2020/02/02(日) 12:37:44.03ID:w7N5c9rM0
そもそもお金に0.1円とかないから四捨五入は必要ない
231デフォルトの名無しさん (ワッチョイ a612-i7CI)
2020/02/02(日) 12:43:11.07ID:SWo7Ruqh0
固定か浮動かって問題じゃない
10進の0.1が2進では0.00011001100110011001100110011...という循環小数になり
金の話では出てこないはずの誤差が出るって話だ

最小単位が1円のときは10銭、10銭のときは1銭が2進演算では正しく扱えない
最小単位をいくらにしても同じことというのをキリがないと言ったんだ
232デフォルトの名無しさん (ブーイモ MM0a-Ftjm)
2020/02/02(日) 12:46:55.96ID:VB3p6sP1M
>>231
最小単位以下の誤差なんて累乗計算でも出るじゃん
233デフォルトの名無しさん (ワッチョイ a612-i7CI)
2020/02/02(日) 12:48:44.37ID:SWo7Ruqh0
>>230
\1,000,500_に源泉税率10.21%を掛けたらいくらになる?
234デフォルトの名無しさん (ワッチョイ a612-i7CI)
2020/02/02(日) 12:49:20.92ID:SWo7Ruqh0
>>232
誤差の出方が10進と2進では違うって話
235デフォルトの名無しさん (ワッチョイ 39d2-fhCF)
2020/02/02(日) 12:51:06.34ID:w7N5c9rM0
誤差がでてもそれよりすごく大きい数で四捨五入するんだから同じだろ
236デフォルトの名無しさん (ブーイモ MM0a-Ftjm)
2020/02/02(日) 12:51:15.29ID:VB3p6sP1M
>>234
性質が違っても誤差は誤差
あんた金の話では誤差は出ないって言ったばかりだぞ
鳥頭か?
237デフォルトの名無しさん (ワッチョイ ea2c-KoMo)
2020/02/02(日) 12:56:31.50ID:ceem9FS20
10進数では、1/3 が循環小数で、

2進数では、1/10 が循環小数って、言うだけ!
238デフォルトの名無しさん (ワッチョイ a612-i7CI)
2020/02/02(日) 12:59:27.07ID:SWo7Ruqh0
>>236
それは間違ってるぞ
同じ計算を他のところ、たとえば税務署でやったら結果が違うなんてことになるとまずいだろうが
239デフォルトの名無しさん (ワッチョイ 39d2-fhCF)
2020/02/02(日) 13:00:47.13ID:w7N5c9rM0
10進数で手動で計算するときと同じ誤差のでかたじゃないと駄目なんじゃないか?
240デフォルトの名無しさん (ワッチョイ 39d2-fhCF)
2020/02/02(日) 13:04:59.05ID:w7N5c9rM0
問題なのは四捨五入じゃなくて
2進数だと0.1が表示できないってことじゃないのか?
10進数なら0.1から0.9まで全部表示できるけど
241デフォルトの名無しさん (ワッチョイ ea02-L01+)
2020/02/02(日) 13:28:12.47ID:OL0mFBDc0
計算機イプシロンでいいだろもう
今回の低レベルの諍いについてvoid君はどう思う?
242デフォルトの名無しさん (ワッチョイ 89b3-x67y)
2020/02/02(日) 13:32:17.04ID:D8WvcGqJ0
結果の型とか四則演算方法とか単純な話じゃなくて
金融系の計算て数学やコンピュータの世界の常識とは違う計算をするんだよ
式自体からしておかしくて詐欺っぽいのもある

>>226の言うとおり
243デフォルトの名無しさん (ワッチョイ 89b3-x67y)
2020/02/02(日) 13:34:11.48ID:D8WvcGqJ0
100万円を利息年3%で借りた時
1年で利息はいくら?
244デフォルトの名無しさん (ワッチョイ 7dda-unxX)
2020/02/02(日) 13:39:19.37ID:Wawdq7250
そんなもんどんな返し方をするかがわからんと解析解さえ出ない
245◆QZaw55cn4c (ワッチョイ 0aaa-NwnA)
2020/02/02(日) 13:39:53.93ID:Rn0kkYyt0
>>226
>金融関係システムが10進で計算してるのは常識なんだし要求要件なんだから
金融関係の業務でシステム内部表現まで10進表現(BCD等)にせよ、とする理由は、あなたはどのように推測しているのですか?
私は、金融関係であっても多桁長演算+固定小数点で顧客の要望は十分に満たされると考えますが。
金融系発注側も単に「double は使わないで」くらいの意味でしかないのでは?そして現実の実装も多桁長演算+固定小数点だったりするのでは?

あなたの >>226 の記述には合理性を感じることができません
246◆QZaw55cn4c (ワッチョイ 0aaa-NwnA)
2020/02/02(日) 13:43:24.73ID:Rn0kkYyt0
>>227
その場合、小数点以下N桁目、あるいは余裕をみて N+4桁目くらいを考えて
10^(N+4) 倍して整数1 と内部表現 10^(N+4) を一対一対応とすれば整合性はとれるのでは?(これを固定小数点といいます)
247◆QZaw55cn4c (ワッチョイ 0aaa-NwnA)
2020/02/02(日) 13:45:56.70ID:Rn0kkYyt0
>>231
10進の1 の内部表現を 10, 10進の2 の内部表現を 20, 10進の3 の内部表現を 30 …、10進の0.1 の内部表現を 1
という固定小数点にすれば、 お金の計算のような演算では十分なのでは?
248◆QZaw55cn4c (ワッチョイ 0aaa-NwnA)
2020/02/02(日) 13:46:58.67ID:Rn0kkYyt0
>>242
まあ五捨五入というのは、よそではあまり聞かないですね
249デフォルトの名無しさん (スッップ Sd0a-x67y)
2020/02/02(日) 13:56:18.00ID:gkoi3ncld
値を保持するだけなら何でも良いよ
保持出来るだけの精度が有れば
固定小数点だろうが整数部と小数部だろうが
10進浮動小数点だろうが
BCD整数だろうが

計算の方法、式、丸め方が特殊で
途中の型も特殊だったりする
これに多くの評価が必要

だから
結果の型だけを語るのはトンチンカン
250デフォルトの名無しさん (ワッチョイ 7d4f-unxX)
2020/02/02(日) 14:01:47.01ID:nz0OxFB30
>>246
一回計算する毎にいちいち2進に戻すのにそんな手間かけるより10進演算器用意する方が効率的ということ
251デフォルトの名無しさん (スッップ Sd0a-x67y)
2020/02/02(日) 14:06:26.86ID:gkoi3ncld
手間とか効率とかの問題じゃなくて
値の一貫性の問題

最終的に得る値が整数だとしても
途中の計算精度や丸め方によって誤差が微妙に異なり
結果1円の誤差になりました
じゃダメなの
252デフォルトの名無しさん (ブーイモ MM0a-Ftjm)
2020/02/02(日) 14:11:34.03ID:VB3p6sP1M
>>238
あんたの言う誤差とは何かね?
253デフォルトの名無しさん (スッップ Sd0a-x67y)
2020/02/02(日) 14:12:15.30ID:gkoi3ncld
途中の計算精度があれば良いってわけじゃない
100桁精度でも無限精度でもダメ

決まってるロジック通りの結果を返さなきゃダメ
数値計算と思わない方が良いかも
254デフォルトの名無しさん (スッップ Sd0a-x67y)
2020/02/02(日) 14:14:53.67ID:gkoi3ncld
決められてる通りのロジックで返した時の値との差が誤差

誤差は一切許されない

これがお金の計算
255デフォルトの名無しさん (スッップ Sd0a-x67y)
2020/02/02(日) 14:17:09.96ID:gkoi3ncld
オンラインゲームも一貫性が必要だったりする
対戦相手と結果が異なってはまずいので

そういう部分では
厳密にCPUでもGPUでも同じ値である必要かある
256デフォルトの名無しさん (ワッチョイ 39d2-fhCF)
2020/02/02(日) 14:17:57.04ID:w7N5c9rM0
わかったぞ
十進数だと0.5円になるときには四捨五入すると1円になるけど
2進数の時0.4999999999円みたいになった時0円になっちゃうってこと?
257デフォルトの名無しさん (ワッチョイ 39d2-fhCF)
2020/02/02(日) 14:20:40.80ID:w7N5c9rM0
0.1円の誤差をなくすために0.1円以上掛けたら意味なくない?
258デフォルトの名無しさん (スッップ Sd0a-x67y)
2020/02/02(日) 14:23:22.92ID:gkoi3ncld
1円でも誤差があると帰れない銀行員の話とか知らない?
259デフォルトの名無しさん (ワッチョイ 39d2-fhCF)
2020/02/02(日) 14:24:38.04ID:w7N5c9rM0
日本が異常なだけでしょ?
アメリカとかだと1円払って終わりじゃね?
260デフォルトの名無しさん (スッップ Sd0a-x67y)
2020/02/02(日) 14:30:28.56ID:gkoi3ncld
私が直接話を聞いたのは外資系の銀行員から
261デフォルトの名無しさん (ワッチョイ 7dda-unxX)
2020/02/02(日) 14:32:20.39ID:Wawdq7250
つまり
10進で計算するのは,10進で計算せよというロジックがあるからであって,循環小数を避けるためではない
ということか
そういうことなら誰も文句ないんじゃね?
262デフォルトの名無しさん (ワッチョイ b501-0Ybi)
2020/02/02(日) 14:37:37.76ID:mzCY/+E00
https://ideone.com/HdUvEa
こういうことでは。
263デフォルトの名無しさん (ワッチョイ ea2c-KoMo)
2020/02/02(日) 14:44:42.42ID:ceem9FS20
>>256
0.5 は、2進数の1/2 だから、割り切れる。
0.25 は、2進数の1/4 だから、割り切れる

だから、0.5 + 0.25 = 0.75 も、2進数で割り切れる

でも、0.1 は循環小数になるから、
0.1 * 5 != 0.5
これは不一致!

情報処理の初級資格の内容w
これを勉強していない人は、プロじゃない!

つまり、お金の計算では、誤差のある浮動小数点演算は使えない!
Decimal を使う
264デフォルトの名無しさん (ワッチョイ b501-0Ybi)
2020/02/02(日) 14:48:07.68ID:mzCY/+E00
もういいわ。
おまえ等のプログラムじゃ金の計算できないわ。
エクセル使う。
265デフォルトの名無しさん (ワッチョイ 2a63-unxX)
2020/02/02(日) 14:48:39.82ID:lNG3EL+m0
三人で三等分して、構成比を%で表示しろと言われ、
何も考えずに計算結果出して見せたら、
合計が100%になってないと文句を言われたw
266デフォルトの名無しさん (ワッチョイ b501-0Ybi)
2020/02/02(日) 15:07:37.05ID:mzCY/+E00
一番上のお姉ちゃんがプリン食べれないやつか。
267◆QZaw55cn4c (ワッチョイ 0aaa-NwnA)
2020/02/02(日) 15:08:31.39ID:Rn0kkYyt0
>>250
>一回計算する毎にいちいち2進に戻すのにそんな手間かけるより10進演算器用意する方が効率的ということ

いいえ、値の保持と計算はずっと 2 進+固定小数点のままで行い、人間に値を見せるときにはじめて 2 進→ 10 進変換を実施します

>途中の計算精度や丸め方によって誤差が微妙に異なり

お金の計算における丸め方法の規則は、四捨五入にしても五捨五入にしても 10 進法整数に親和的なのだから、多桁長表現+固定小数点で表現すればかなり厳密に扱えるとおもいますよ
268◆QZaw55cn4c (ワッチョイ 0aaa-NwnA)
2020/02/02(日) 15:11:06.99ID:Rn0kkYyt0
>>263
>Decimal を使う
Decimal の内部表現方法に興味がありますね、まさか、今でも BCD だとは思えませんが(x86_AMD64 でも関連ニーモニックは消えました)、もしかして?!
269デフォルトの名無しさん (ワッチョイ 39d2-fhCF)
2020/02/02(日) 15:19:29.78ID:w7N5c9rM0
小数点の位置と整数の2つの情報で10進数の少数は誤差なくあらわせるよ
270デフォルトの名無しさん (ワッチョイ b501-0Ybi)
2020/02/02(日) 15:22:25.38ID:mzCY/+E00
>>269
どうやるんだよ。
271デフォルトの名無しさん (ワッチョイ 7d4f-unxX)
2020/02/02(日) 15:27:54.74ID:nz0OxFB30
>>267
丸めは計算ごとに適用されるんだよ、馬鹿。
272デフォルトの名無しさん (ワッチョイ 39d2-fhCF)
2020/02/02(日) 15:30:01.89ID:w7N5c9rM0
>>270
0.1は1番目に点がある1だから1と1で表せる
273デフォルトの名無しさん (ワッチョイ 39d2-fhCF)
2020/02/02(日) 15:36:23.54ID:w7N5c9rM0
少数点以下の整数と小数点以上の整数でも表せる
274デフォルトの名無しさん (ブーイモ MMc9-AfBq)
2020/02/02(日) 15:38:49.63ID:anvSpfnfM
機械語なら商と剰余はたいていいっぺんに計算できるけど、Cからそれらの機械語が使われると期待していい書き方ってどうすればいい?
10年来の疑問
275デフォルトの名無しさん (ワッチョイ 39d2-fhCF)
2020/02/02(日) 15:40:29.20ID:w7N5c9rM0
Cのライブラリーにいっぺんに計算されるやつがある
276デフォルトの名無しさん (ワッチョイ 2a63-unxX)
2020/02/02(日) 15:42:13.13ID:lNG3EL+m0
小数と少数を間違えないで
277◆QZaw55cn4c (ワッチョイ 0aaa-NwnA)
2020/02/02(日) 15:45:20.77ID:Rn0kkYyt0
>>267
>>いいえ、値の保持と計算はずっと 2 進+固定小数点のままで行い、人間に値を見せるときにはじめて 2 進→ 10 進変換を実施します

>>271
>丸めは計算ごとに適用されるんだよ、馬鹿。

そうか、確かに私にも落ち度がありました、2進整数+固定小数点ならば、丸める桁まで 10 で割り続けて余りを求める必要がありますね、これはほとんど2進→10進変換といっていいですね
しかし、全桁を 2進→10進する必要はなく、丸める桁までで 2 進→ 10 進するだけでいい

x86-AMD64 では 8086 時代の BCD 補正命令は全部なくなってしまったことから考えても、「Decimal」型は整数+小数点位置なんじゃないかな…
278デフォルトの名無しさん (ワッチョイ a612-i7CI)
2020/02/02(日) 16:00:27.23ID:SWo7Ruqh0
>>252
鳥頭をそのまま返す

すまんが俺は介護人でも保育士でもない
おまえの相手は疲れすぎる
279デフォルトの名無しさん (ブーイモ MMc9-AfBq)
2020/02/02(日) 16:24:08.92ID:VqF3mFhWM
>>275
ポータブルなやつを頼む
280デフォルトの名無しさん (ワッチョイ 39d2-fhCF)
2020/02/02(日) 16:27:09.95ID:w7N5c9rM0
>>279
標準ライブラリーだからポータブル
281デフォルトの名無しさん (スッップ Sd0a-x67y)
2020/02/02(日) 16:40:10.12ID:gkoi3ncld
>>277
IEEE754にも10進数があるから見てみれば
282デフォルトの名無しさん (ブーイモ MM0a-Ftjm)
2020/02/02(日) 16:50:09.63ID:VB3p6sP1M
>>278
で、あんたの言ってる誤差ってなんなのさ
説明できないの?
283デフォルトの名無しさん (ワッチョイ a612-i7CI)
2020/02/02(日) 17:00:29.36ID:SWo7Ruqh0
>>282
説明はもうしたんだよ鳥頭野郎
てめーで過去レス探せ

他のやつにじゃなく
おまえさんにレスアンカーつけて書いたぞ
284デフォルトの名無しさん (ワッチョイ 2a63-unxX)
2020/02/02(日) 17:03:20.75ID:lNG3EL+m0
円周率は概ね3です
285デフォルトの名無しさん (ブーイモ MM0a-Ftjm)
2020/02/02(日) 17:20:36.09ID:VB3p6sP1M
>>283
あんたの言ってる誤差は循環小数云々の誤差ということでいいのか?
286デフォルトの名無しさん (ワッチョイ 1163-6LpL)
2020/02/02(日) 17:52:51.69ID:8cBiUpXt0
盛り上がってるなー。
が、なんか思ったのと違う進行。。
287デフォルトの名無しさん (ワッチョイ 2a63-unxX)
2020/02/02(日) 18:01:39.53ID:lNG3EL+m0
>>286
軌道修正してくれたまえ
このままでは銀河系脱出してしまう
288デフォルトの名無しさん (ワッチョイ 6aa5-OeZ9)
2020/02/02(日) 19:18:27.60ID:825maVGz0
>>219
そりゃーC言語よりも古いCOBOLがあるもん
銀行案件は全部そっち任せだろ

だからそういうライブラリを発達させる必要が無かった

COBOL最盛期がいつかは知らんがきっとIBM最高益の時代あたりだろ
289デフォルトの名無しさん (ワッチョイ 8a1e-7ddI)
2020/02/02(日) 20:44:43.11ID:F6yWVrL10
>>274
普通に書けば最適化してくれる場合もある。
とりあえず gcc -O2 とやってみた。

extern int w,x,y,z;
void foo( void) {
y = w / x;
z = w % x;
}

int bar( int x,int y){ return x / y + x % y;}
290デフォルトの名無しさん (スッップ Sd0a-x67y)
2020/02/02(日) 20:51:51.61ID:gkoi3ncld
割り算は遅い
スーパーコンピュータでも遅い

定数の割り算で済む所は定数に
並列化可能ならSIMD命令で複数一気に
291デフォルトの名無しさん (ワッチョイ a612-i7CI)
2020/02/02(日) 20:55:57.98ID:SWo7Ruqh0
>>285
まあそういうことだ
おまえさんにとっての関心事に関係するかどうかは知らん

さっき言ったとおり、俺は保育士じゃないんで他人ん家の坊ちゃん嬢ちゃんは扱えない
プラレールだかリカちゃんだかの相手はしてられない
292デフォルトの名無しさん (ワッチョイ a612-i7CI)
2020/02/02(日) 20:57:05.76ID:SWo7Ruqh0
>>290
タンジェントは遅いか?
べき乗は遅いか?
293デフォルトの名無しさん (スッップ Sd0a-x67y)
2020/02/02(日) 23:53:32.36ID:gkoi3ncld
タンジェントもべき乗も遅いけど
使う頻度的には割り算より圧倒的に少ないし
見るからに遅そうだから気を付けるだろう

割り算や余りは手軽に使いがちで遅い
例えばSkylakeでは加減乗算の100倍くらいかかる

割り算と余り両方使うなら
以下のように書いた方が良い

c=a/b;
d=a-c*b;

除算命令を2回呼ぶことはなくなるし
bが定数なら乗算に置き換えてくれる
ライブラリだとbが定数でも除算命令を使ってしまうと思う
294デフォルトの名無しさん (ワッチョイ ea79-/fp1)
2020/02/03(月) 07:43:30.26ID:0n0692Cx0
除算が遅いってのは常識だな
浮動小数点数演算の話だが2回以上同じ数で割るなら逆数を取っておいてそれを掛けろと習ったわ
そもそも浮動小数点数演算が圧倒的に遅いから可能な限り整数型で済ませろとも
295デフォルトの名無しさん (アウアウクー MM7d-2G11)
2020/02/03(月) 08:16:49.22ID:vFO4eQ5PM
どこでそんなこと習うんだ…
296デフォルトの名無しさん (ワッチョイ 89b3-x67y)
2020/02/03(月) 08:20:37.59ID:e9E2NTEb0
浮動小数点が圧倒的に遅いかどうかはCPU次第
PCなら速いし
CPUに命令がなければソフトウェア実装になるので遅い
この場合、当然floatよりdoubleの方が遅い
(floatもdoubleも32bitの環境もあるけど)

浮動小数点の割り算は
定数であれば1個でも逆数をかける方が良い
x / [定数] と x * (1.0/[定数])
で値が異なることがあるため、最適化してくれない場合がある
297デフォルトの名無しさん (ワッチョイ 39d2-fhCF)
2020/02/03(月) 08:22:21.52ID:m5kUFkC70
割り算と余りを一回で計算できる命令がCPUにはあるのよ
298デフォルトの名無しさん (ワッチョイ 89b3-x67y)
2020/02/03(月) 08:27:41.12ID:e9E2NTEb0
浮動小数点が圧倒的に遅いといっても
使い所では使った方が良い
速度が関係ない所では
無理やり整数演算に直すデメリットの方が多い

>>297
除算が圧倒的に遅いから>>293でもほぼ同じ
定数であることまで考えると>>293の方が良い
299デフォルトの名無しさん (ワッチョイ 39d2-fhCF)
2020/02/03(月) 08:36:20.54ID:m5kUFkC70
割り算が100倍掛かるって嘘じゃない?
調べたら掛け算より少し遅いくらいだけみたいだけど
300デフォルトの名無しさん (ブーイモ MMc9-BGKF)
2020/02/03(月) 09:47:15.11ID:x3IhE4UHM
浮動小数点の除算はニュートン法使うからそれほど遅くない。乗算の数倍程度。
整数の除算は基本的に高速化できないのでだいぶ遅い。
整数でも定数で除算すると逆数の乗算プラス補正で実装されるので速い。
アセンブリ出させて見てみるべし。
301デフォルトの名無しさん (ワッチョイ 39d2-fhCF)
2020/02/03(月) 11:19:33.45ID:m5kUFkC70
こんなホームページ見つけた
https://stackoverflow.com/questions/2550281/floating-point-vs-integer-calculations-on-modern-hardware
302デフォルトの名無しさん (スッップ Sd0a-x67y)
2020/02/03(月) 12:43:23.75ID:jOrmfTQLd
instlatx64でSkylakeの64bit命令の
スループットを見ると

IDIVはフルビットで95クロック
ADDは0.33, IMULは1クロック
AVX命令だと乗算や積和も0.5クロック

遅くて使われなくなったFSINが130クロックだから
遅さがわかると思う

コンパイラはなるべくこの命令を使わないで済むように
また使う回数をなるべく減らすよう工夫するんだけど
標準ライブラリの場合はIDIVを無条件で使ってしまう
303デフォルトの名無しさん (スッップ Sd0a-x67y)
2020/02/03(月) 12:49:05.54ID:jOrmfTQLd
浮動小数点だと差はちょっと縮まる

加減乗算と積和は0.5クロック
除算は倍精度スカラーで4クロック、ベクタで8クロック

倍精度浮動小数点の積和演算が4個同時に出来る命令が
毎クロック2個ずつ実行出来るのに
ただの整数除算1個が95クロックもかかる

遅さがわかるでしょ?
304デフォルトの名無しさん (ワッチョイ 39d2-fhCF)
2020/02/03(月) 12:52:56.44ID:m5kUFkC70
100倍掛かるなら100倍時間掛かるはずでしょ
そんなわけ無いじゃん
305デフォルトの名無しさん (アウウィフ FF21-0Ybi)
2020/02/03(月) 13:50:54.22ID:62FLJlSTF
パイプラインですね判りますω
306デフォルトの名無しさん (ワッチョイ a612-i7CI)
2020/02/03(月) 15:12:48.45ID:TXSv3nXz0
除算器をパイプライン化することで
スループットは上げられても
レイテンシは変わらないかんな
307デフォルトの名無しさん (ワッチョイ 2a63-unxX)
2020/02/03(月) 15:14:45.18ID:XXjF7BB80
予測で
308デフォルトの名無しさん (ワッチョイ 5d35-MzNC)
2020/02/04(火) 01:59:00.38ID:SgzhJHen0
今どき役に立つ場面は少ないけどこういうの楽しいな
309デフォルトの名無しさん (ワッチョイ 7d01-0Ybi)
2020/02/04(火) 06:57:32.95ID:j6eziqdx0
以下のプログラムのb_testにはなぜ0x3322ではなく、0x4433が代入されるのでしょうか?

#include <stdio.h>

typedef struct
{
unsigned char a;
unsigned short b;
} TEST_2;

int main(void)
{
unsigned char bytes[] = { 0x11, 0x22, 0x33, 0x44 };
TEST_2* pMemoryDevice = (TEST_2*)bytes;
unsigned char a_test = pMemoryDevice->a;
unsigned short b_test = pMemoryDevice->b;

printf("0x%X\n", b_test);

return 0;
}
310デフォルトの名無しさん (ワッチョイ 151a-unxX)
2020/02/04(火) 07:04:32.35ID:/MaewKoE0
>>309
aliasing rule 違反やアライメント違反の可能性などにより未定義動作なので 0x4433 になるとも限りません。
対象の環境を限定して何が起こっているか知りたいならアセンブリを出力してみるのがいいと思います。
311デフォルトの名無しさん (ワッチョイ 7d01-0Ybi)
2020/02/04(火) 07:14:24.84ID:j6eziqdx0
>>310
アセンブリ出力してみてみたんですが、そもそもなぜそのようになるのかが疑問です。
この場合、"0x11"がBYTE, "0x22, 0x33"がWORDのバイト配列を構造体で表したい場合どうすればいいのでしょうか?
312デフォルトの名無しさん (ワッチョイ 89b3-x67y)
2020/02/04(火) 07:36:55.76ID:CGekWIL20
bは2バイトだから2バイト境界になるように詰め物をした
コンパイラやCPUの仕様
313デフォルトの名無しさん (ワッチョイ 89b3-x67y)
2020/02/04(火) 07:38:21.05ID:CGekWIL20
環境依存

#pragma pack とかコンパイルオプションで
変えられたりする
314デフォルトの名無しさん (ワッチョイ e5f9-/fp1)
2020/02/04(火) 07:49:06.50ID:QC3PzamG0
>>311
「構造体 パディング」でググって
パディングなしを指示する方法は標準にはないから環境依存
__attribute__ ((packed))とか#pragma pack(1)とか
315デフォルトの名無しさん (ワッチョイ 7d01-0Ybi)
2020/02/04(火) 08:03:48.58ID:j6eziqdx0
#pragma pack(1)を使うことによって解決しました!
ありがとうございます。
今まで結構バイト配列を構造体に割り当てるってことをしてきましたが、気づきませんでした、、
316デフォルトの名無しさん (ブーイモ MMc9-BGKF)
2020/02/04(火) 09:27:02.59ID:rp8heKByM
できるかできないかアーキテクチャ環境依存だし、
できても遅くなる可能性もあるので注意
317デフォルトの名無しさん (スッップ Sd0a-x67y)
2020/02/04(火) 12:50:10.02ID:GNpMFwh2d
そもそもunsigned charの配列をキャストしてる時点で
318デフォルトの名無しさん (ワッチョイ a612-i7CI)
2020/02/04(火) 13:04:48.75ID:6srsz/DQ0
unsigned charの配列をキャストしてる時点で何?
309は構造体の性質を調べる実験をしていて
そのために普段しないことをわざとやってるんだが
319デフォルトの名無しさん (アウアウウー Sa21-lBRq)
2020/02/04(火) 15:53:52.78ID:MHG3R7Tga
ネットワークやファイルから読んだバイナリの塊を構造体に当て嵌めて解析を楽にするなんてことは、よくやる。

まあ、本当だったらバイナリから読んで構造体側にコピーするような関数を作った方が良いんだろうけどね。(またはPerlのunpackみたいなやつ)。
320デフォルトの名無しさん (アウアウウー Sa21-lBRq)
2020/02/04(火) 16:00:02.30ID:MHG3R7Tga
そういえばsscanf()と似たような感じでバイナリとフォーマットと可変引数で代入先ポインタ並べて渡すとバイナリ側から読んで値入れてくれるようなPerlのunpack風な関数も作ろうと思えば作れるね。
321デフォルトの名無しさん (ワッチョイ b67c-unxX)
2020/02/04(火) 19:11:16.20ID:b7qwiVAD0
>>319
それをビットフィールドでやって大失敗したことある
ビットフィールドの並び順がコンパイラ依存なんて知らんかったんや
322デフォルトの名無しさん (スッップ Sd0a-x67y)
2020/02/04(火) 19:18:36.03ID:rvpdgwbCd
コンパイラ依存や環境依存はビックフィールドだけじゃない
323デフォルトの名無しさん (スッップ Sd0a-x67y)
2020/02/04(火) 19:18:58.04ID:rvpdgwbCd
ビットフィールド
324デフォルトの名無しさん (ワッチョイ 6aa5-OeZ9)
2020/02/04(火) 20:24:28.00ID:TWTPcweW0
あの大事件の裏にはこういうミスが隠されているのか……
325デフォルトの名無しさん (ワッチョイ 89b3-x67y)
2020/02/04(火) 20:31:06.36ID:CGekWIL20
コロン抜け?
326デフォルトの名無しさん (ワッチョイ 2a63-unxX)
2020/02/04(火) 21:26:03.56ID:lLuVC2X20
あれはFortranだろ
327デフォルトの名無しさん (アークセー Sxbd-nHCh)
2020/02/04(火) 22:02:12.09ID:xaJSTMSvx
僕のはリトルエンディアン
328デフォルトの名無しさん (ワッチョイ ea2c-KoMo)
2020/02/04(火) 23:14:03.74ID:6/2RTZHA0
漏れが、新幹線のチケット開発してた時には、ビットフィールドなどは使わなかった

全てのバイト内で、データの位置を決めて、ビット演算でやっていた
329デフォルトの名無しさん (ササクッテロラ Sp0b-R1hy)
2020/02/05(水) 01:10:02.17ID:N1gPUNHxp
309のb_testの数値ってなぜ0x3344じゃないの?
それすらわからん
ここのスレレベル高いな
330デフォルトの名無しさん (ワッチョイ 9f63-56gX)
2020/02/05(水) 01:21:18.13ID:wXMktV7+0
>>329
実行環境にもよると思います
331デフォルトの名無しさん (ワッチョイ 9f63-56gX)
2020/02/05(水) 01:26:09.05ID:wXMktV7+0
>>329
x86系CPUはリトルエンディアン

https://ja.wikipedia.org/wiki/%E3%82%A8%E3%83%B3%E3%83%87%E3%82%A3%E3%82%A2%E3%83%B3
332デフォルトの名無しさん (アウウィフ FF9b-VM48)
2020/02/05(水) 19:45:58.28ID:2rKdW1EcF
>>317 みたいなのも居る訳で
333デフォルトの名無しさん (スップ Sd3f-pfqa)
2020/02/05(水) 20:13:44.79ID:PZ/5vknBd
>>317で何を言おうとしたかわからなかったか
334デフォルトの名無しさん (スップ Sd3f-pfqa)
2020/02/05(水) 20:18:11.07ID:PZ/5vknBd
キャストしてる時点でアラインメントは
335デフォルトの名無しさん (ワッチョイ d735-oJhu)
2020/02/05(水) 23:49:56.70ID:V2ceD5vC0
どんだけかまって欲しいの。
336デフォルトの名無しさん (ワッチョイ 9f76-3u8R)
2020/02/06(木) 06:52:45.18ID:VEO7DUBt0
机上でガタガタ言うだけで満足するやつもいれば
実際に境界違反すると何が起きるのか自分の目で目撃したいやつもいるのさ

俺は後者に共感する
337デフォルトの名無しさん (ワッチョイ b7b3-pfqa)
2020/02/06(木) 07:27:32.13ID:/W9iMVJD0
問題なくアクセス可能
例外発生
ズレてアクセス

性能以外の振舞いこのくらいは経験がある
他にあるかな?

ズレてアクセスされるCPUは
問題が分かりにくく厄介
338デフォルトの名無しさん (ワッチョイ b7b3-pfqa)
2020/02/06(木) 07:35:58.42ID:/W9iMVJD0
机上も重要
CPUのデータシートやコンパイラの説明書は当然見ないと

ズレてるスタックポインタをずらしたまま使う意味とかわからんでしょ
339デフォルトの名無しさん (ワッチョイ 9f76-3u8R)
2020/02/06(木) 08:03:27.48ID:VEO7DUBt0
机上がいらんとは言ってねえよ
何のための机上か考えろということだ
340デフォルトの名無しさん (スップ Sd3f-4cqo)
2020/02/06(木) 08:08:22.76ID:h/xvakBVd
ビットフィールドって環境依存なのか
分かりやすくて良いのに…
341デフォルトの名無しさん (ワッチョイ b7b3-pfqa)
2020/02/06(木) 14:31:03.01ID:/W9iMVJD0
構造体自体環境依存
342デフォルトの名無しさん (ワッチョイ d735-oJhu)
2020/02/06(木) 19:36:45.30ID:OKCzzxK90
>>334
アライメントは何?
343デフォルトの名無しさん (ブーイモ MM1b-2t1T)
2020/02/06(木) 21:11:00.88ID:yuUE1QQrM
定義しただけじゃ構造体のアライメントを算出してくれないコンパイラがあるんだなー
union { ;static{ al,ah;ググってて遭遇ちょっと新鮮な驚き
実体を作らず、ポインタキャストでのみ利用してっとグチャゲチャなアドレスを引っ張ってくるみたいな
344デフォルトの名無しさん (ラクッペ MMcb-oJhu)
2020/02/07(金) 17:54:26.07ID:flffdOy2M
AAと出力されて欲しいのですがなぜ4バイトになるのでしょうか
https://ideone.com/0v6mPr
345デフォルトの名無しさん (ブーイモ MM1b-CFeS)
2020/02/07(金) 18:46:29.60ID:ZbQSjjsiM
charを引数として渡すとintに格上げされる。
charがこの環境ではsigned charらしいので、0xAAはマイナス扱いされる。
intに格上げするときに符号拡張されて上位24ビットが1で埋められる。
346デフォルトの名無しさん (ラクッペ MMcb-oJhu)
2020/02/07(金) 19:07:15.66ID:OIss2gZ6M
>>345
ありがとうございます
そもそもunsignedつけ忘れてました
347デフォルトの名無しさん (ワッチョイ 9f63-56gX)
2020/02/07(金) 19:12:45.37ID:2Fs88HW00
こうする、とか
printf("%0X\n", *(unsigned char*)u);
printf("%0X\n", (unsigned char)u[0]);
348デフォルトの名無しさん (ワッチョイ d735-oJhu)
2020/02/07(金) 19:54:01.80ID:loJf6Qnv0
なんもわかってなくて草
349デフォルトの名無しさん (ワッチョイ 571d-uqPE)
2020/02/07(金) 22:52:47.29ID:GxNDg+Fe0
実務経験1年で月収80万稼げるエンジニアになった理由

@YouTube


意識が低いエンジニアこそフリーランスになれ

@YouTube


フリーランスエンジニアの週3労働ってどんな感じ?

@YouTube


ぼくがスキルのない社畜ならこうやって脱する

@YouTube


初めて人を雇ったらもう二度とサラリーマンをやりたくないと思った話

@YouTube


プログラミングは文系でも余裕で出来ます!理由を現役プログラマーが解説

@YouTube


貧乏人こそ社会不適合者

@YouTube


元ド貧乏が教える】貧乏を抜け出すための2つの考え方

@YouTube


より良いオファー貰ってるのに転職しないとか何考えてるの?

@YouTube

350デフォルトの名無しさん (ワッチョイ 9f52-m0mG)
2020/02/08(土) 01:58:07.50ID:uvgcwZ2m0
>>349
グロ
351デフォルトの名無しさん (ワッチョイ ff8f-mb93)
2020/02/10(月) 02:19:19.98ID:VQtOVB2v0
質問させてください。

ある.dllを作成するCのプロジェクトがあるのですが、開発環境をeclipseからvisualstudioへ移行しました。
このdllを使用する別のCのプロジェクトがあるのですが、eclipseでビルドしたdllは使用できていたのですが、visualstudioでビルドしたdllを使用しようとすると未解決エラーでビルドできなくなってしまいました。
作成した.libファイルをdumpbinで確認すると、eclipseでビルドしたものには関数名にいろいろ装飾(@とかcdeclとか引数とか)がついているのですが、visualstudioでビルドしたものには装飾がついていませんでした。
この違いが原因だとは思うのですが、visualstudioでも関数名に装飾がついたlibファイルを作成するにはどうすればよいのでしょうか?
352デフォルトの名無しさん (ワッチョイ ff8f-mb93)
2020/02/10(月) 03:14:01.48ID:VQtOVB2v0
>>351ですが、dllを使用する側のプログラムに「c++コードとしてコンパイル」を設定していたせいで読み込めなくなっていることがわかりました。
質問内容についても、CとC++の違いについて調べていけば良さそうとわかったので、自力で調べてみようと思います。
ありがとうございました。
353デフォルトの名無しさん (ワイーワ2 FFdf-VM48)
2020/02/10(月) 16:25:12.95ID:TGcYvj29F
回答しようと思ったけど自己レスが付いていたので控えます。
自分で調べて下さい。良い心がけです。
354デフォルトの名無しさん (ラクッペ MMcb-oJhu)
2020/02/10(月) 17:30:05.64ID:sdl18RcGM
ゴミレスすんな
355デフォルトの名無しさん (ワッチョイ ff8f-mb93)
2020/02/11(火) 03:20:33.73ID:ShQqPfw10
>>352ですが解決しました。

c++ではマングリングが行われるためソースコード上の関数名とコンパイル後の関数名が異なる
一方cコードとしてコンパイルしたライブラリはソースコード上の関数名がそのままコンパイル後の関数名になる
この違いが原因で、c++コードとしてコンパイルされた呼び出し側プログラムではライブラリの関数を参照できなくなってしまっていました
解決策はc++側の関数宣言にextern "c"をつけること。もちろんヘッダーファイルなのでinclude文をextern "c"で囲んでしまうことでした。

たまに見かけるextern "c"ってこういうことだったんですね。お騒がせいたしました。
356デフォルトの名無しさん (ワッチョイ 9fc5-Zca7)
2020/02/11(火) 07:41:04.94ID:KT61u4Oq0
マンデリングってえろいよね
357デフォルトの名無しさん (スプッッ Sd3f-pfqa)
2020/02/11(火) 07:47:01.07ID:lXsf9fbVd
ポンデリング
358デフォルトの名無しさん (アウアウウー Sac3-Oc5d)
2020/02/14(金) 20:51:49.51ID:OVlsC64Va
うまいよね
359デフォルトの名無しさん (ワッチョイ d2c5-GUQA)
2020/02/14(金) 20:52:25.46ID:x/oqiD9H0
おいC
おいCぺろぺろ
360デフォルトの名無しさん (ワッチョイ 7276-bbsC)
2020/02/15(土) 07:15:19.12ID:AzMEQbXZ0
>>355
extern "c" ではなく
extern "C" 大文字だぞ

それがわかってないのに、よく解決できたな
361デフォルトの名無しさん (ラクッペ MM97-2rLz)
2020/02/15(土) 09:05:57.27ID:G4DtF/s2M
亀レスなうえにそのツッコミてw
362デフォルトの名無しさん (ワッチョイ d2c5-GUQA)
2020/02/15(土) 20:35:31.35ID:4O8uAQVX0
おれvalgrindと結婚するんだ
363デフォルトの名無しさん (ワッチョイ 12ad-ESCD)
2020/02/16(日) 16:37:12.41ID:e+hZCGM40
そしてフラグが立つと
364デフォルトの名無しさん (ワッチョイ df01-oncu)
2020/02/18(火) 02:06:40.26ID:tIozcGEh0
#if defined
365デフォルトの名無しさん (ワッチョイ ffc5-IdAT)
2020/02/19(水) 12:02:30.63ID:/eqfvSaW0
C言語関係ないんだけど、並行処理と並列処理ってさ
論理的にシミュレートするのが並行処理で、物理的にパソコンを二台並べるのが並列処理だよね?
並行と並列と混合してる記事がネットに多くてもやもやするんだけど
366デフォルトの名無しさん (ワイーワ2 FFdf-IPX/)
2020/02/19(水) 12:03:31.56ID:cGULNOoWF
違う
367デフォルトの名無しさん (ワッチョイ ffc5-IdAT)
2020/02/19(水) 12:11:00.93ID:/eqfvSaW0
>>366
どこら辺が間違ってます?
368デフォルトの名無しさん (ワッチョイ 8f7c-Nz9x)
2020/02/19(水) 12:17:49.87ID:pLtxXQrp0
>>365
だいたいあってる
369デフォルトの名無しさん (ワッチョイ cff7-Nz9x)
2020/02/19(水) 12:21:53.17ID:26AgvMdu0
>>365
合ってる
ユニプロセッサでプリエンプティブは並行処理
並列は小学校で習う乾電池のつなぎ方みたいなもん
370デフォルトの名無しさん (ワッチョイ ffc5-IdAT)
2020/02/19(水) 13:02:11.34ID:/eqfvSaW0
>>368
>>369
合ってますよね
ネットの記事っていい加減だな
371デフォルトの名無しさん (スップ Sd1f-frFT)
2020/02/19(水) 13:08:12.27ID:S1r33x/od
厳密な境目なんて無いと思う
372デフォルトの名無しさん (ラクッペペ MM7f-zycr)
2020/02/19(水) 13:19:09.44ID:UeS2uiZKM
つまり別々のcpuなら並列でそうでなければ平行ってこと?
373デフォルトの名無しさん (アウアウウー Sae7-xY2O)
2020/02/19(水) 14:13:39.42ID:7brGlgjia
二股かけるのが平行処理、3Pでやるのが並列処理であってる?
374デフォルトの名無しさん (ラクッペペ MM7f-zycr)
2020/02/19(水) 15:19:50.59ID:rnMFG2oOM
>>373
二股は平行ですらないただのシングルスレッド処理じゃないか?
375デフォルトの名無しさん (ブーイモ MMe7-C8wF)
2020/02/19(水) 17:01:59.51ID:9MnW04fvM
いや、それぞれは相手を独占しているつもりなので、並行。(平行じゃないよ)
376デフォルトの名無しさん (ワッチョイ ff63-Nz9x)
2020/02/19(水) 17:04:57.92ID:xJfuBtj10
二股はデッドロックで行き詰まる
377デフォルトの名無しさん (ワッチョイ a34f-Nz9x)
2020/02/19(水) 20:05:25.47ID:ohbwSroQ0
並列と並行を明確に区別する流儀と、同時並行に実行されるなら全部並列、という流儀に別れていると思う。
378デフォルトの名無しさん (ワッチョイ ffc5-IdAT)
2020/02/19(水) 20:17:02.16ID:/eqfvSaW0
解釈が二通りあると?
それは問題では
議論できないじゃん
379デフォルトの名無しさん (ワッチョイ cff7-Nz9x)
2020/02/19(水) 20:28:48.22ID:26AgvMdu0
性能的に全然違うんだが
時に数千倍も
380デフォルトの名無しさん (スップ Sd1f-frFT)
2020/02/19(水) 20:55:03.43ID:SK5VFny8d
>>378
議論出来るように具体的に語れば良いんだよ
381デフォルトの名無しさん (スップ Sd1f-frFT)
2020/02/19(水) 20:57:19.86ID:SK5VFny8d
そもそも同時かどうかなんて区別出来ない、区別しても意味がない事が多い

1コアで複数スレッド動くのはどっち?
とか
382デフォルトの名無しさん (ワッチョイ 6f8c-L8iH)
2020/02/19(水) 20:59:46.46ID:AEvYKzFT0
クラウドとクラスタ?
383デフォルトの名無しさん (ワッチョイ e31d-CqDg)
2020/02/19(水) 21:35:58.84ID:HsCXonKI0
【収益報告】実働月10hでも大金稼ぐ方法を解説【年収6,000万】

@YouTube


年収3000万円以上になってはじめて理解すること【拝金からの脱却】

@YouTube

;t=182s
貧乏人に発言権とかないからwww

@YouTube

;t=32s
【日常】実働20hで700万円稼ぐインフルエンサーの生活を公開

@YouTube

;t=232s
皆正しいと思ってるけど実は間違ってる上司のクソ発言5選

@YouTube


月収700万円の僕が大学生のうちに身につけておきたかったスキル4選

@YouTube

384デフォルトの名無しさん (ワッチョイ 83f9-IdAT)
2020/02/19(水) 22:29:58.40ID:fef8YCm90
並んで行くのが並行
列が並んでいるのが並列

なんでTSSは並行なの?並列じゃダメなの?
なんでデュアルコアは並列なの?並行じゃダメなの?
385デフォルトの名無しさん (ワッチョイ cf8f-zycr)
2020/02/19(水) 23:45:11.13ID:i+U4mRBo0
とりあえずこういう時は日本語で考えるのやめようぜ。並列も並行も海外で生まれた概念を翻訳しただけなのでそのまま考えると帰って混乱する。

concurrentは同時。これは時間的な概念。
parallelは並存。これは物理的な概念。

つまり同時に処理するものはなんでもconcurrentな処理と言っていいわけだけど、その中でも処理するcpuも別れてるものがparallelな処理。
386デフォルトの名無しさん (ワッチョイ 83f9-IdAT)
2020/02/20(木) 10:12:07.92ID:znahik0W0
>>385
TSSはconcurrentだけどparallelじゃない(ミクロにみればconcurrentでもない)
デュアルコアはparallelだしconcurrentでもある
でいい?

「TSSは並行、デュアルコアは並列」の使い分けを肯定しないってことでいいのかな
387デフォルトの名無しさん (ワッチョイ 7353-Nz9x)
2020/02/20(木) 10:53:44.93ID:yQ1/Uz2n0
TSS? 全然関係ないぞ
ユニプロセッサの場合CPUは並行処理で動くが
端末やチャネルは並列だ
マルチプロセッサでもTCASにCPUアフィニティがかかっている場合まであるしな
388デフォルトの名無しさん (スップ Sd1f-frFT)
2020/02/20(木) 11:39:06.77ID:qJHTNx44d
ここで定義をまとめても会話する人全員が共有しないと意味がない

誤解の可能性があるなら
「平行」「並列」なんて言葉に頼らず
具体的に語らないと
389デフォルトの名無しさん (ドコグロ MM1f-P13C)
2020/02/20(木) 12:04:59.79ID:2rLj+nIZM
>>387
TSSでチャネルガーとか頭おかしいのか?
そんなこと言い出したらPCレベルでもシングルプロセッサ、シングルコア、シングルプロセスでもIOが複数同時動作とかあるだろw
390デフォルトの名無しさん (ラクッペペ MM7f-sDUE)
2020/02/20(木) 13:30:18.30ID:MjOQHpIxM
>>385
これ見て納得した。並行と並列って翻訳した人が戦犯だな。
391865 (スップ Sd1f-E/W6)
2020/02/20(木) 13:47:06.99ID:naozblCad
>>389
だから、そうだよ?
392デフォルトの名無しさん (ワッチョイ 7353-Nz9x)
2020/02/20(木) 16:04:59.94ID:yQ1/Uz2n0
>>389
失礼なやつだな
でTSSと並行並列は関係あるとでも言いたいのか?
そうでもなく喧嘩売ってくるやつこそクルクルパーにしか見えんぞ
393デフォルトの名無しさん (ワッチョイ ff63-Nz9x)
2020/02/20(木) 16:13:55.60ID:yRc9LKeD0
喧嘩を買う人が出てきました
394デフォルトの名無しさん (ドコグロ MM1f-P13C)
2020/02/20(木) 19:00:10.65ID:2rLj+nIZM
>>391
理解したら引っ込んでたら?

>>392
で、チャネルがどうしたって?
知ったかするならもうちょっと勉強しないと恥かくだけだぞw
395デフォルトの名無しさん (ワッチョイ 2335-wHG4)
2020/02/20(木) 19:00:52.93ID:Pb7WanUc0
何だこの煽りカス
396デフォルトの名無しさん (ワッチョイ 83f9-IdAT)
2020/02/20(木) 20:47:43.91ID:znahik0W0
TSSは関係無いの?
>369の
>ユニプロセッサでプリエンプティブは並行処理
ってTSSのことじゃないの?

並行/並列、concurrent/parallelはどっちでもいいよ
単語を置き換えてるだけだ

>365は"「TSSは並行、デュアルコアは並列」と使い分けるもんだ"と言ってるように見える
>368,369はそれを肯定してる
それ本当かなぁどの程度浸透してるのかなぁ、って興味があるだけ
397デフォルトの名無しさん (ワッチョイ 7353-Nz9x)
2020/02/20(木) 21:41:18.48ID:yQ1/Uz2n0
>>396
time shareing systemをそのままプリエンプティブと読んでいるのか?
TSSといえばダム端末多数台のマルチユーザーシステムのことなんだが
398デフォルトの名無しさん (ワッチョイ 83f9-IdAT)
2020/02/20(木) 22:37:15.34ID:znahik0W0
今俺の興味はそこにはないからどうでもいいんだけどさ
https://www.google.com/search?q=time+sharing+system
その定義のみしかないわけじゃないみたいだよ
単に時分割の意味で使ってたよ
そう読み替えてくれ
399デフォルトの名無しさん (ワッチョイ ff01-P13C)
2020/02/20(木) 23:22:33.12ID:zL7x3NPI0
>>397
> TSSといえばダム端末多数台のマルチユーザーシステムのことなんだが
知識が狭すぎる
ってか今時それしか思いつかないとか老害か?
400デフォルトの名無しさん (ワッチョイ ff63-Nz9x)
2020/02/20(木) 23:28:24.92ID:yRc9LKeD0
>>399
定義が間違えているなら、正しい定義を示さないと
401デフォルトの名無しさん (ワッチョイ ff01-P13C)
2020/02/21(金) 04:53:44.92ID:XhV4Z+GJ0
>>400
誰も間違えてるなんて言ってないし、一つ上のレスすら見てないのか?w
402デフォルトの名無しさん (ワッチョイ 7353-Nz9x)
2020/02/21(金) 07:42:26.05ID:ZYgKzVvr0
>>396
マルチプロセッサでプリエンプティブはどっちだと思う?
当たり前だがTCASはユニでもマルチでも動くんだが
それでもTSSは並列なのか並行なのかって気になるのか?
どっちでもいいって主張には賛成しかねるな

>>398
「複数のユーザー」、「複数の利用者」と至る所に書いてあるね
ダム端末は確かに昔のことだが並行か並列かという話には関係ない

「頭がおかしい」、「老害」、「知ったか」
どうも前スレあたりから変なのが常駐してるようだな
うっかり構わないように気をつけなきゃ
403デフォルトの名無しさん (アウアウクー MM07-Z4Um)
2020/02/21(金) 08:05:59.84ID:UH7lBBhFM
パンじゃないご飯だ
404デフォルトの名無しさん (ワッチョイ ff63-Nz9x)
2020/02/21(金) 10:36:09.68ID:cj7D2uI00
「頭がおかしい」、「老害」、「知ったか」

どうでも良いが、これを連呼したい奴が常住しているようだ
405デフォルトの名無しさん (アウアウウー Sae7-6k5J)
2020/02/21(金) 11:37:48.20ID:TKnLlA6xa
頭がおかしい知ったかのクルクルパーの老害ですが、呼びましたか?
406デフォルトの名無しさん (ドコグロ MM87-P13C)
2020/02/21(金) 12:23:48.46ID:GK8/JCh9M
>>402
> ダム端末は確かに昔のことだが並行か並列かという話には関係ない
だからその定義だと関係ないとしても、TSSの定義はそれだけじゃないでしょ
話の流れから見てダム端末とかチャネルとか言い出す方が狭すぎって話な

> どうも前スレあたりから変なのが常駐してるようだな
自己紹介乙w
407デフォルトの名無しさん (スッップ Sd1f-frFT)
2020/02/21(金) 12:35:39.58ID:7cfLckFcd
おまいらスレタイ
408デフォルトの名無しさん (アウアウウー Sae7-6k5J)
2020/02/21(金) 18:13:41.02ID:TKnLlA6xa
С言語
409デフォルトの名無しさん (ワッチョイ ff63-Nz9x)
2020/02/21(金) 18:18:26.35ID:cj7D2uI00
C言語は 「頭がおかしい」、「老害」、「知ったか」 な人が使う言語

であってますか?
410デフォルトの名無しさん (アウアウウー Sae7-6k5J)
2020/02/21(金) 19:15:01.45ID:TKnLlA6xa
クルクルパーもよろしく
411デフォルトの名無しさん (ワッチョイ ff63-Nz9x)
2020/02/21(金) 19:31:48.99ID:cj7D2uI00
8ビットCPUや16ビットでもリアルモードな頃は、
自己書換プログラム作ったりして楽しかったが
今は出来ないのでつまらない?出来ましたっけ?
412デフォルトの名無しさん (ドコグロ MM87-P13C)
2020/02/21(金) 19:34:44.69ID:GK8/JCh9M
>>404
> 「頭がおかしい」、「老害」、「知ったか」
> どうでも良いが、これを連呼したい奴が常住しているようだ

>>409
> C言語は 「頭がおかしい」、「老害」、「知ったか」 な人が使う言語
> であってますか?

わざわざ自己紹介ですか?
413デフォルトの名無しさん (ドコグロ MM87-P13C)
2020/02/21(金) 19:43:30.51ID:GK8/JCh9M
>>411
できるよ
キャッシュやプリフェッチキューとかも考えないといけないしOSによってはページの属性を変更したり色々手続きが面倒だけど
414デフォルトの名無しさん (ワッチョイ 83f9-IdAT)
2020/02/21(金) 19:55:49.81ID:6D+TcuLq0
>>402
俺は使い分けない派だよ
415デフォルトの名無しさん (ワッチョイ 8f7c-Nz9x)
2020/02/21(金) 20:12:45.02ID:TJeguecx0
並行に動作できるよう作ってあれば 並列に動かしたって平気だよ
ダイジョブダイジョブ
416デフォルトの名無しさん (ワッチョイ 33b3-frFT)
2020/02/21(金) 20:31:11.36ID:VaB1DjWv0
>>411
ほとんどのCPUは出来る
417デフォルトの名無しさん (ワッチョイ 7353-Nz9x)
2020/02/21(金) 21:10:22.71ID:ZYgKzVvr0
効いてる効いてるw
418デフォルトの名無しさん (ワッチョイ d9ca-8l36)
2020/03/24(火) 03:27:56.26ID:1SA4Lz1I0
こんなマクロ M1 M2 を作りたい。
int a[] = M1( test1, M2(a), M2(b), M2(c));
 ↓
int a[] = { sizeof(test1), offsetof(test1, a), offsetof(test1, b), offsetof(test1, c), -1 };

とりあえずこう定義したけどやっぱりだめだった。M2 の st が展開されない。
#define M1(st, ...) { sizeof(st), __VA_ARGS__, -1 }
#define M2(f) offsetof(st, f)

うまい方法があったら教えてください。
コンパイラは gcc です。
M1 に構造体名を与えたら M2 でもその構造体名を展開したいというのが要点です。
419デフォルトの名無しさん (ブーイモ MM9d-+FIX)
2020/03/24(火) 08:54:15.16ID:rvwG55paM
M1(test1, a, b, c)
としてM1内でM2使うしかないのでは。
420デフォルトの名無しさん (ワッチョイ 368c-m3pd)
2020/03/28(土) 14:30:29.95ID:xRZxfw9h0
int ***A;
の意味は何ですか。
421デフォルトの名無しさん (ワッチョイ f1f9-pf+t)
2020/03/28(土) 17:59:16.47ID:sl23HHfu0
int ***型(intへのポインタへのポインタへのポインタ)の変数Aの宣言
422デフォルトの名無しさん (ワッチョイ d946-C6bq)
2020/03/28(土) 19:07:09.14ID:jfXD7RpP0
*は幾つまで羅列できますか。
int ******how
423デフォルトの名無しさん (ワッチョイ 120e-Cd0d)
2020/03/28(土) 19:10:30.31ID:fZ0bL/340
シロナガスクジラにもでかすぎる釣り針だなw
424デフォルトの名無しさん (ワッチョイ b12c-Sy4a)
2020/03/28(土) 19:12:30.55ID:WWyBcPls0
Qiitaだったかブログだったかに実験結果あるよ。
425デフォルトの名無しさん (ワッチョイ a9ca-Emx9)
2020/03/28(土) 19:48:29.31ID:dAv8M8Ft0
言語仕様的には何個でもいいんじゃね。
でもただ * を並べるだけじゃなく、const や volatile なんかと組み合わせるとここに居る連中でも頭を悩ませることになりそうだ。
426デフォルトの名無しさん (ワッチョイ d263-Cd0d)
2020/03/28(土) 19:54:41.66ID:kGd8Pm2D0
三個くらいなら良いが、そんなに並べてプログラマがついて行けるんか?
427デフォルトの名無しさん (ワッチョイ 12a5-EdqZ)
2020/03/28(土) 20:38:40.13ID:VlzrtlZa0
前に見かけたこの記事がある
たった4000個ほどしか付けられないらしい

printfに4285個アスタリスクをつけるとclang++が死ぬ - Qiita
https://qiita.com/kaityo256/items/84d8ba352009e3a0fe42
428デフォルトの名無しさん (ワッチョイ 7252-SQa6)
2020/03/28(土) 21:33:45.25ID:M0mQp4g20
>>425
原理上は無限でも問題ないし言語の規格上の上限があるかは知らないけど、コンパイラの実装上は何らかの上限があるだろうね。
429デフォルトの名無しさん (ワッチョイ b12c-Sy4a)
2020/03/28(土) 22:23:34.67ID:WWyBcPls0
規格では下限は決まっている
430デフォルトの名無しさん (ワッチョイ a9ca-Emx9)
2020/03/28(土) 22:27:31.37ID:dAv8M8Ft0
(***printf) ないし (*printf) ってどういう意味になるのかな?
関数ポインタに * を付けても同じ型で同じ値の関数ポインタになるということ?
少なくとも値は * を何個付けても変わらないみたいだけど。
431デフォルトの名無しさん (ワッチョイ a9ca-Emx9)
2020/03/28(土) 22:37:27.60ID:dAv8M8Ft0
ちなみに &printf も同じ値だね。
ちなみに関数ポインタ変数 p を使った場合、&p は変数p 自体のアドレスになったけど、p も *p も関数自体のアドレスで同じ値になる。
ちょっとややこしいかも。
432デフォルトの名無しさん (ワッチョイ 368c-bMls)
2020/03/29(日) 04:08:50.01ID:qP8s4jbH0
メモリを[アドレス](データ)で表すと
int ***A;は
[Aアドレス](アドレス1) -> [アドレス1](アドレス2) -> [アドレス2](アドレス3)
-> [アドレス3](int データ)
を指していることかな。
433デフォルトの名無しさん (ワッチョイ 697b-scJV)
2020/03/29(日) 06:29:54.31ID:MtcIJfqw0
int (*fp)(void); /* fp: 引数なし, intを返す関数を指すポインタ */
と定義された関数ポインタ fp を経由して関数を呼び出す際に、
fp() でも (*fp)() でも同じ意味だよ、と規格で決めた結果として、
ならば (**fp) も (***fp) も…同じだよね、てことになったのかな。

アドレス演算子の方も
fp = some_func;
fp = &some_func;
どちらの書き方でも fp 経由で同じ関数を呼び出せる、という点で合理的か。
他の解釈をしても意味ないし。

おかげで
fp = &**&***&some_func;
などと書くこともできる。これは無意味で過剰な一般化の類にも思えるけど。
fp = &&some_func;
とは書けない模様。
この辺の挙動はコンパイラによって違うのかも。
434デフォルトの名無しさん (ワッチョイ 120e-Cd0d)
2020/03/29(日) 07:46:51.93ID:oQB7eLYm0
sizeof fp //ok
sizeof *fp //error

fp = &some_func; //ok
fp = &fp; //error
435デフォルトの名無しさん (ワイーワ2 FF1a-nBi6)
2020/03/29(日) 16:07:52.64ID:7B/pleQ/F
int a = (*&*&*&*&*&*&*&f)();
こんなんもありか?
436デフォルトの名無しさん (ワッチョイ c5b3-P9c2)
2020/03/29(日) 16:10:44.92ID:7+eNyT920
++--++--++--++--a;
437デフォルトの名無しさん (ワッチョイ 697b-scJV)
2020/03/30(月) 06:39:21.96ID:VZ0aGjef0
>>436
Cだとコンパイルエラーだね。
最右の--で増やされた値に左隣の++を作用させられない。

C++だと動作する。
「前置の++/--演算子が左辺値を返す」だっけ。
438437 (ワッチョイ 697b-scJV)
2020/03/30(月) 07:50:54.17ID:VZ0aGjef0
誤: 最右の--で増やされた値
正: 最右の--で減らされた値

増減を間違えたわ。
439デフォルトの名無しさん (ワッチョイ 1b8c-xyAh)
2020/04/01(水) 21:03:42.40ID:HmSenNAk0
そろそろ変数名、関数名にUTF-8を使えるようにしてもいいと思う。
多分楽しくなるよ。
440デフォルトの名無しさん (ワンミングク MMa3-OY3e)
2020/04/01(水) 22:34:39.51ID:9N+QUSAtM
void ぴゅう太(void) {
漢字();
漢字();
鉄矢();
鉄矢();
}
441デフォルトの名無しさん (ワッチョイ 230e-bVUD)
2020/04/02(木) 06:56:27.27ID:RbNpa6BP0
全角空白やアラビア語などを駆使したioccc作品が楽しみだな
442デフォルトの名無しさん (ワンミングク MMa3-J+V3)
2020/04/02(木) 07:54:18.84ID:iOa0mW0IM
古老おらんか
cmakeてのはいつ頃流行ったシロモノなんだ?
443デフォルトの名無しさん (ドコグロ MM93-5poS)
2020/04/02(木) 08:47:09.83ID:CP0ku5lBM
よく知らんが5年前には普通に使ってた
444デフォルトの名無しさん (ワッチョイ 653d-5QI3)
2020/04/02(木) 12:01:47.47ID:yWN/hb600
i286時代の16bitC言語ってfarポインタ経由でも64KBごとにしか連続メモリアクセスできなかったんでしょうか?
445デフォルトの名無しさん (ワッチョイ a363-bVUD)
2020/04/02(木) 12:17:36.01ID:cFIQnebc0
透過的にはアクセスは出来なかったと思う
446デフォルトの名無しさん (ドコグロ MMe1-5poS)
2020/04/02(木) 12:24:50.02ID:8fgIRfU4M
連続アクセスをどのレベルで言ってるのかによるけどHugeポインタ使えば見かけ上は連続アクセスできる
ただしかなり遅い
447デフォルトの名無しさん (ワッチョイ e5ca-Otsn)
2020/04/02(木) 12:29:05.08ID:72QlOXRc0
FARポインタって値としてはリニアアドレスで、メモリアクセス時に内部的にセグメントとオフセットに分けてるだけじゃなかっけ?
ポインタを ++ しながらメモリアクセスして 64KB 越えても問題無いんじゃね?
memcpy みたいのが内部的に rep 使った lods や stos を使ってるなら、ライブラリとして 64KB 単位に区切ってるんじゃないのかな。
448デフォルトの名無しさん (ワッチョイ e5ca-Otsn)
2020/04/02(木) 12:31:00.60ID:72QlOXRc0
あれ、おれの言ってるのって hugeポインタだっけ?
449デフォルトの名無しさん (ワッチョイ a363-bVUD)
2020/04/02(木) 12:39:01.60ID:cFIQnebc0
もう使ってないし、使いたくもないし、思い出したくもないw
450デフォルトの名無しさん (スップ Sd43-ii8Z)
2020/04/02(木) 12:40:53.46ID:RoFHMWcRd
組み込み小規模は今でもメモリモデルやらFARポインタやらがある
451デフォルトの名無しさん (ワッチョイ 230e-bVUD)
2020/04/02(木) 13:48:38.35ID:RbNpa6BP0
i80286のバグを利用してリアルモードでありながら1MB超のメモリを使うなんてテクあったな
452デフォルトの名無しさん (ワッチョイ 653d-5QI3)
2020/04/02(木) 14:07:43.96ID:yWN/hb600
>>446
連続アクセスはポインタを ++ でインクリメントしながらループするレベルで言っています
Hugeポインタというものもあったんですね、知りませんでした
これを使うとポインタを ++ する度にセグメントレジスタを更新するので遅いが64KB以上のアクセスができるって事ですよね

farポインタはポインタを ++ してもセグメントレジスタは更新されず、早いけど64KB以上のアクセスはできないって事でしょうか?
あれ、もしそうなら例えば0x0EFFF0を指すfarポインタで ++ しながらメモリアクセスした場合
16バイト以上は0xE0000に戻ってしまい0x0F0000以降のメモリにアクセスできないって事ですか?
453デフォルトの名無しさん (ワッチョイ 657b-M08V)
2020/04/02(木) 17:09:56.05ID:0sikvQpW0
「正規化マクロ」なんてのもあった記憶がある。
オフセット部の上位ビットをセグメント部に移して、
オフセット部の値を 0-15 に制限する。

適当なタイミングで「正規化」することで
64KBを越える範囲を連続的にアクセスできるようになる。
いわゆる「透過的」ではないけれど。
454デフォルトの名無しさん (エムゾネ FF43-8H9x)
2020/04/02(木) 18:29:53.16ID:4X8ewqwSF
>>442
90年代前半?
455デフォルトの名無しさん (エムゾネ FF43-8H9x)
2020/04/02(木) 18:32:26.76ID:4X8ewqwSF
>>452
もちろんそのセグメントで扱えるブロックの範囲の先頭に戻る
そういうときはセグメントレジスタの方の値を増やさないと無理
456デフォルトの名無しさん (エムゾネ FF43-8H9x)
2020/04/02(木) 18:35:21.60ID:4X8ewqwSF
>>452
誤解されそうなので補足だけど
>0x0EFFF0を指すfarポインタで ++ しながらメモリアクセスした場合
セグメントレジスタ 0x0EFFF
ポインタ 0x000F
なら 0x0EFFFF にアクセス出来るし
セグメントレジスタ 0x0EFFF
ポインタ 0x0010
なら 0x0F0000 にアクセス出来る
457デフォルトの名無しさん (ワッチョイ 253d-5QI3)
2020/04/02(木) 18:58:03.66ID:SCUy7Ffk0
>>456 >>453
ああなるほど、セグメントレジスタは16倍してオフセットに加算されるんですね
勘違いして認識していました、ありがとうございます
そうなるとfarポインタでも基本的には64KBまでならそのままアクセス可能そうですね
458◆QZaw55cn4c (ワッチョイ e3aa-5LkK)
2020/04/02(木) 21:31:59.26ID:F2YXKB2C0
>>446
>Hugeポインタ
速度ペナリティも高かったし、なによりもバグっているとの報告がちらほら…
459◆QZaw55cn4c (ワッチョイ e3aa-5LkK)
2020/04/02(木) 21:33:11.59ID:F2YXKB2C0
>>447
オフセットがあふれてもセグメント部分はインクリメントしない、したがって 64 KB を超えて連続アクセスはできない
460◆QZaw55cn4c (ワッチョイ e3aa-5LkK)
2020/04/02(木) 21:33:30.14ID:F2YXKB2C0
>>448
huge はバグっていた
461デフォルトの名無しさん (ワンミングク MMa3-OY3e)
2020/04/02(木) 21:41:01.11ID:ZwiItXECM
30年前にタイムスリップしたかと思った
462デフォルトの名無しさん (ワッチョイ 6db3-ii8Z)
2020/04/02(木) 22:01:10.37ID:KR7Qg6ip0
Hugeがバグってた?
本当?
463デフォルトの名無しさん (ワッチョイ b501-j0VC)
2020/04/03(金) 01:16:56.77ID:rS9EMaRY0
>>457
16ビットと一言で言ってるけど、x86の場合リアルモードとプロテクトモードでセグメントの扱いは全く異なるから注意
16倍して足すだけなのは前者のとき(DOSとか)
Windows3.1は後者
464デフォルトの名無しさん (ドコグロ MM93-5poS)
2020/04/03(金) 07:13:39.26ID:sD1svSjIM
>>462
そういう処理系があったって話でしょ
まあ処理系のバグだーって言う奴の99%は自分のコードがバグってるんだけどな(俺調べ)
465デフォルトの名無しさん (ワッチョイ 6db3-ii8Z)
2020/04/03(金) 07:42:16.55ID:smM7aeLk0
そうそう
どうせコードがバグってるのをコンパイラのバグだと騒いでるんだと思って聞いてみた
466デフォルトの名無しさん (ワッチョイ 6352-cvTZ)
2020/04/03(金) 08:17:02.15ID:y4LIlYUL0
まあQZは思い込みが激しいし話半分に聞いておけばいいな
467◆QZaw55cn4c (ワッチョイ e3aa-5LkK)
2020/04/03(金) 20:17:25.73ID:W+mHIVdh0
>>462
中島信行氏の記事にそういうのがありました

>>464
huge ポインタがあったのはたしか MS だけだったかと
468デフォルトの名無しさん (ワッチョイ e5ca-Otsn)
2020/04/03(金) 20:59:00.91ID:15ER3YJX0
>>464
条件が成立してるはずなのにどうしても走らないコードがあり、コンパイラの最適化のバグで処理が消えたと思い最適化のスイッチをいろいろいじり、
それでもだめでコンパイラ自体のバグを疑い吐かせたアセンブラソースに処理コードが吐かれてないことを確認して、
ほれ見たことかコンパイラが悪い!と報告を上げた後でコメントの */ が抜けてることを発見した俺には敵うまい。
469デフォルトの名無しさん (ワッチョイ 6db3-ii8Z)
2020/04/04(土) 00:47:19.29ID:qMa2xGJ10
私はいくつかコンパイラのバグを見つけたけどね
見つけた時は発生する最小形にしてから報告

コンパイラのバグだとさわぐヤツの99%は自分のバグ
ってのは同意
470デフォルトの名無しさん (ドコグロ MM93-5poS)
2020/04/04(土) 00:50:16.07ID:igeAmwMLM
>>467
> huge ポインタがあったのはたしか MS だけだったかと
Turbo Cですらサポートされてるんだが…
https://www.drdobbs.com/using-large-arrays-in-turbo-c/184402289
471デフォルトの名無しさん (ワッチョイ a363-bVUD)
2020/04/04(土) 00:55:46.93ID:yxoY6Q+20
Internal Error って言うのを見たことはある
472デフォルトの名無しさん (ワッチョイ 230e-bVUD)
2020/04/04(土) 08:44:49.54ID:glhU6EPt0
99%もそんなアホいるのか?
コンパイラのバグを疑った場合まず最小の再現コード作るだろ
で、バグレポに条件と現象を書くわけだが
自分が悪い場合はそこで必ず気付くことになる
473デフォルトの名無しさん (ワッチョイ 4bd2-bVUD)
2020/04/04(土) 09:28:47.06ID:oeIO06yp0
>コンパイラのバグだとさわぐ
× こういう風に書いたのですがxxのコンパイラなら問題ないのにxxxの方だと誤作が(ry
〇 xxxつかったら動かねぇ!!ソースに間違いは無い!!クソコンパイラ!!謝罪と賠(ry
474デフォルトの名無しさん (ドコグロ MM93-5poS)
2020/04/04(土) 10:12:08.70ID:o3XzX6/PM
>>472
> コンパイラのバグを疑った場合まず最小の再現コード作るだろ
> で、バグレポに条件と現象を書くわけだが
そんなこともせずに騒いでる奴が多いって話だろ
475デフォルトの名無しさん (ワッチョイ a363-bVUD)
2020/04/04(土) 12:47:58.45ID:yxoY6Q+20
今は分からないが、20年くらい昔だと
あまりにも複雑なソースを食わせると時々発狂してたな
476デフォルトの名無しさん (ワッチョイ 23ad-Ujw5)
2020/04/04(土) 13:15:20.63ID:SI4lxjMM0
>>468
負けた。君に勝ちを譲ろう。
477デフォルトの名無しさん (スップ Sd43-ii8Z)
2020/04/04(土) 13:15:46.68ID:nDualHANd
30年前くらいじゃないか?
あまりにも複雑なソースを書くのが悪い
っていう時代

今でもあまりに複雑なソースは悪
別の意味で
478デフォルトの名無しさん (ドコグロ MM43-5poS)
2020/04/04(土) 13:29:50.17ID:3Wwr2fKwM
10年くらい前でもマクロのネストが多いとかでInternalエラー吐く処理系はあったよ
本来ちゃんとエラーチェックして適切なエラーメッセージ出すべきなんだろうけどほとんどありえないような状況にどこまで対応すべきかって話はなかなか難しいものがある
まあそれと処理系のバグとは別の話だが
479デフォルトの名無しさん (ワッチョイ 230e-bVUD)
2020/04/04(土) 14:50:27.38ID:glhU6EPt0
>>477
そんなん、やろうとしていること次第だろ
複雑になっちまうものはそうするしかない
意地悪しているわけでもないコードをけなすのは
自分の品位を損なう愚行だ
480デフォルトの名無しさん (ドコグロ MM43-5poS)
2020/04/04(土) 15:13:09.29ID:KrNZzm/nM
>>479
複雑って言うのはスパゲティコードというより循環的複雑度みたいな話だと思うよ
複雑度が上がるなら適切に関数化するとかで避けるとか
481デフォルトの名無しさん (ワッチョイ 230e-bVUD)
2020/04/04(土) 15:16:24.42ID:glhU6EPt0
なんか全然、噛み合ってないね
482デフォルトの名無しさん (スップ Sd43-ii8Z)
2020/04/04(土) 15:55:02.64ID:nDualHANd
「あまりに複雑な」
って時点で悪

やろうとしてることが複雑でも
記述を複雑にする必要は無い
483デフォルトの名無しさん (ワッチョイ 230e-bVUD)
2020/04/04(土) 19:49:17.44ID:glhU6EPt0
なんだ、主観論か
484デフォルトの名無しさん (ブーイモ MM6b-eRVI)
2020/04/05(日) 00:53:15.82ID:8lfN7LOTM
cでコンパイラがゲロる複雑に成るって三項演算子をネストするくらいだろ
c++はテンプレートでわりあい簡単に混乱を引き出せるけどCのメタ構築機能はゴミみたいなもんだし
485デフォルトの名無しさん (ワッチョイ 230e-bVUD)
2020/04/05(日) 05:06:11.76ID:UG8XDQGA0
3項がどう結合するかを理解してないやつがオレ文法と違うって騒ぐのは
駅前で不特定多数を叱りつけている危ないオヤジと同じ
486デフォルトの名無しさん (ワッチョイ 6db3-ii8Z)
2020/04/05(日) 07:26:24.26ID:c+nOX//s0
人間にとっての複雑とコンパイラにとっての複雑化はまったく違う

演算子のネストなんて3項じゃなきゃ普通にやってることで
コンパイラにとっては普通のこと

3項演算子の結合は特殊なので
人間にとっては複雑なのは間違いないけど
487デフォルトの名無しさん (ワッチョイ 6db3-ii8Z)
2020/04/05(日) 07:31:27.17ID:c+nOX//s0
3項演算子の優先度は
良くある演算子の優先度表を見るだけじゃ仕様がわからない

>>485もその辺を理解してるかどうか
488デフォルトの名無しさん (ドコグロ MM71-5poS)
2020/04/05(日) 09:05:29.09ID:1wSwWGx9M
>>487
> 3項演算子の優先度は
> 良くある演算子の優先度表を見るだけじゃ仕様がわからない
意味不明、普通にわかるだろ
https://ja.cppreference.com/w/c/language/operator_precedence
489デフォルトの名無しさん (ワッチョイ 6352-cvTZ)
2020/04/05(日) 09:20:09.55ID:nuvXPfKL0
>>488
その表でもわざわざ欄外に注記している通り、演算子の順位だけを見ても分からないということだろう
490デフォルトの名無しさん (JP 0H93-3bw/)
2020/04/05(日) 11:43:40.11ID:pjXS/HuIH
4Dエンジン
http://x0000.net/topic.aspx?id=3677-0

ある強力なFor関数
http://x0000.net/topic.aspx?id=3630-0

SQLライブラリ
http://x0000.net/topic.aspx?id=3675-0

matrixのライブラリ
http://x0000.net/topic.aspx?id=3711-0
491デフォルトの名無しさん (ブーイモ MMa9-eRVI)
2020/04/05(日) 13:47:36.92ID:h0VsrhLiM
C/C++仕様が違うんだよね三項演算子
492デフォルトの名無しさん (ワッチョイ 234f-bVUD)
2020/04/05(日) 14:48:53.25ID:28SxhHQj0
三項演算子は優先順位よりも結合性の方がわからなくなる
493デフォルトの名無しさん (ワイーワ2 FF93-8H9x)
2020/04/05(日) 14:56:50.54ID:P07lI1PFF
A ? B : C;
A ? B ? D : E : C ? F : G;
(A ? B ? D : E : C) ? F : G;
A ? B ? D : E : (C ? F : G);
494◆QZaw55cn4c (ワッチョイ e3aa-5LkK)
2020/04/05(日) 15:03:25.55ID:1D4UZmeK0
>>492
私は
A1 ? B1 : A2 ? B2 : A3 ? B3 : C3
みたいにお気楽に後ろに後ろに結合するのがいいです
495デフォルトの名無しさん (ワッチョイ e5ca-Otsn)
2020/04/05(日) 15:03:37.61ID:bk3bMB+g0
コンパイラにとって複雑というのは、構文木が深くなる、とどのつまり項の多い長い文なんじゃない?
昔のコンピュータはメモリが足りなかったから深い木は扱えなかったってことでしょ。
496デフォルトの名無しさん (ワイーワ2 FF93-8H9x)
2020/04/05(日) 15:58:31.05ID:PRah2HwrF
>>494
人間には右につなげる方が見やすいのかも知れないが
コンパイラ的にあいまいさが無いのは左(内側?)に入れていく方だと思う

Pythonのはさらに結合の優先度が判りにくい気がする(慣れてないだけかも知れない)
497デフォルトの名無しさん (スップ Sd03-ii8Z)
2020/04/05(日) 19:35:26.18ID:Wi/hOB0pd
>>494
それは時と場合によるのでは?
498デフォルトの名無しさん (スップ Sd03-ii8Z)
2020/04/05(日) 19:36:57.26ID:Wi/hOB0pd
>>493
改行を工夫すると見やすくなる
499デフォルトの名無しさん (ワッチョイ a381-CuPJ)
2020/04/07(火) 02:00:59.45ID:52b5Xapk0
>>498
例えばどんな感じですか?
500デフォルトの名無しさん (ワッチョイ 6db3-ii8Z)
2020/04/07(火) 07:11:26.19ID:Aukj6IXD0
? を if と同じように改行 & インデントすればいい

A ?
&nbsp;&nbsp;&nbsp;&nbsp;B ? D : E :
&nbsp;&nbsp;&nbsp;&nbsp;C ? F : G;

A
&nbsp;&nbsp;&nbsp;&nbsp;? B ? D : E
&nbsp;&nbsp;&nbsp;&nbsp;: C ? F : G;
501デフォルトの名無しさん (ワッチョイ 6db3-ii8Z)
2020/04/07(火) 07:15:13.75ID:Aukj6IXD0
A ?
. . B ? D : E :
. . C ? F : G;

A
. . ? B ? D : E
. . : C ? F : G;
502デフォルトの名無しさん (ワッチョイ 6db3-ii8Z)
2020/04/07(火) 07:20:31.07ID:Aukj6IXD0
>>494の場合は

A1 ? B1 :
A2 ? B2 :
A3 ? B3 : C3

A1 ? B1
: A2 ? B2
: A3 ? B3
: C3
503デフォルトの名無しさん (ワッチョイ 230e-bVUD)
2020/04/07(火) 07:39:02.54ID:XHj6H39W0
なぜ素直にif文を使わないんだ
504デフォルトの名無しさん (ワッチョイ 6db3-ii8Z)
2020/04/07(火) 08:25:22.73ID:Aukj6IXD0
当然 if や switch caseやテーブルと使い分ける
? : が適した場合に使う
505デフォルトの名無しさん (ワッチョイ 4bd2-bVUD)
2020/04/07(火) 08:57:58.17ID:w7aWdcFI0
某「省略の美学」とか言うのを売りにしてる言語に憧れてるんだろ。
506デフォルトの名無しさん (ワッチョイ 23ad-Ujw5)
2020/04/07(火) 12:46:52.50ID:rrWnJIGn0
この世には括弧というものがあってだな・・・
507デフォルトの名無しさん (ワッチョイ 2379-CuPJ)
2020/04/07(火) 12:55:18.38ID:PCdj22SH0
三項演算子で処理を書くな
ただの代入にわざわざif文を使うな
508デフォルトの名無しさん (スプッッ Sde1-ii8Z)
2020/04/07(火) 17:39:24.91ID:2Qz700Q3d
代入の右辺だけ書いただけ
処理でこんな書き方をするのは特殊な場合(競技とか)
509デフォルトの名無しさん (ワッチョイ 23ad-Ujw5)
2020/04/07(火) 23:16:28.11ID:rrWnJIGn0
Kotlinは思い切って三項演算子なくした代わりにifを式にしちゃったよ。
他の言語からのパクリだとは思うが、val a = if (x == y) b else c のような書き方ができる。
510◆QZaw55cn4c (ワッチョイ c2aa-zNgl)
2020/04/08(水) 00:50:21.46ID:UIymVg5v0
>>509
lisp とか haskell とか、関数型全般はそうやりますよね…
511デフォルトの名無しさん (ワッチョイ ebb3-aNAp)
2020/04/08(水) 02:14:53.71ID:VV8vD69L0
>>509
その記述
int a = x == y ? b : c;
に比べて何かメリットあるの?
512デフォルトの名無しさん (ワッチョイ 8252-b+QY)
2020/04/08(水) 03:26:20.58ID:5a3Kp3Hv0
>>511
ダメと言われている三項演算子を使ってません!と言えることかなw

一つあるとしたら、ネストさせたときに if ... else if ... else if ... else とできることか。
式の中に文のような表現が入る気持ち悪さがあるから、三項演算子の方がまだましな気もするが。
513デフォルトの名無しさん (ワッチョイ ebb3-aNAp)
2020/04/08(水) 08:02:03.15ID:VV8vD69L0
ダメといわれている?
初耳

else if は >>494>>502 が同じ事をやってて
こっちの方が見やすいと思う
514デフォルトの名無しさん (ワッチョイ 8252-b+QY)
2020/04/08(水) 09:37:01.78ID:5a3Kp3Hv0
>>513
どこかのコーディング規約や一部の教条主義者の間で言われてるみたいだよ。(>>512前段はそれを揶揄したつもり。)
俺自身は三項演算子は分かりやすさを損なわない範囲で使うのは大好きだし、>>502の前者の書き方はよく使う。
515デフォルトの名無しさん (スプッッ Sd02-aNAp)
2020/04/08(水) 12:55:24.71ID:NPiFCq9kd
gotoダメとか3項演算子ダメとか
516デフォルトの名無しさん (ワッチョイ a263-AglQ)
2020/04/08(水) 15:40:20.61ID:s9R4Lcv40
関数呼び出しするのに、引数ではなくグローバル変数でやり取りする奴見たことある
ナイフ一本持ってジャングルの中を探検する気分になれた
517デフォルトの名無しさん (ワッチョイ 4fe6-PSmU)
2020/04/08(水) 16:05:35.74ID:b5xs9aHC0
gotoは例外処理とか使いどころもあるのに、大人はみんなダメと言う
518デフォルトの名無しさん (ワッチョイ 4fe6-PSmU)
2020/04/08(水) 16:06:38.12ID:b5xs9aHC0
>>516
スタック節約とかのバッドノウハウとしてはよく見る
519デフォルトの名無しさん (ワッチョイ d7ca-BKMK)
2020/04/08(水) 16:12:43.67ID:zy2o7H5P0
>>516
シングルトンのクラスだと思えばそんなに変じゃないんじゃね?
520デフォルトの名無しさん (ワッチョイ e279-KRXG)
2020/04/08(水) 16:36:56.26ID:do2Qazkj0
>>519
シングルトンならグローバル構造体にして関数を介して読むべきだな
521デフォルトの名無しさん (ワッチョイ 6746-aZ/i)
2020/04/08(水) 17:43:28.57ID:VkTQCF2n0
>>516
よくやります。君もやりたまえ。
522デフォルトの名無しさん (ワッチョイ ebb3-aNAp)
2020/04/08(水) 18:06:51.24ID:VV8vD69L0
関数仕様(プロトタイプ)を変えたくないとか
関数をたすさん経由するので変更が多いとか
少しでもパフォーマンスをあげたいとか
少しでもリソースをけちりたいとか

理由はいろいろとある
綺麗さよりもそういった事が重要であれば使うこともある
523デフォルトの名無しさん (ワッチョイ e279-KRXG)
2020/04/08(水) 18:20:05.30ID:do2Qazkj0
パフォーマンス改善の仕事してるけどパフォーマンスのためにグローバル変数使うとか聞いたことないわ
524デフォルトの名無しさん (ラクッペペ MM8e-12Q9)
2020/04/08(水) 19:27:06.81ID:vCaQPcU3M
井の中の蛙宣言しても意味無くない?
525デフォルトの名無しさん (ワッチョイ d7ca-BKMK)
2020/04/08(水) 20:24:48.12ID:zy2o7H5P0
>>520
別に構造体にする必要は無いじゃん。
しいて言えば、引数でたらい回しにするときこそ構造体が便利で、そういうやり方になるとシングルトンというより this を明示的にやり取りする普通のオブジェクトみたいなもんじゃね。
グローバル変数でシングルトン的に実装するなら、グローバル変数を全部 static にしてソース内にスコープを絞る感じじゃね。
526デフォルトの名無しさん (ワッチョイ d7ca-BKMK)
2020/04/08(水) 20:33:22.56ID:zy2o7H5P0
>>523
キャッシュにヒットしやすい配置に並べやすいとか、
引数渡しでは必要なスタックに引数を積み上げるコストを節約できるとか、
戻り値を複数貰いたい場合に余計なポインタや構造体を使う必要が無いとか、
「どの程度」はともかくいろいろありそうだけど。
527デフォルトの名無しさん (ワッチョイ e24f-AglQ)
2020/04/08(水) 21:53:33.85ID:3lkMRJ1l0
>>516
組み込みだとよくあるよ。その方がデバッグしやすいんだと。
528デフォルトの名無しさん (ワッチョイ 67da-RYyP)
2020/04/09(木) 02:17:55.56ID:qzPRDrss0
ICEのメモリダンプでリアルタイムに状態の変化を追跡するのに変数のアドレスがスタックを動き回られては確認しづらいので
グローバル変数で寿命を永続化してアドレスマップを固定アドレス化することはよくある
529デフォルトの名無しさん (ワッチョイ ebb3-aNAp)
2020/04/09(木) 07:57:04.28ID:bPuB4yJ40
errnoの悪口?
530デフォルトの名無しさん (ワッチョイ a2c5-KRXG)
2020/04/09(木) 11:01:14.49ID:/KG6GbYC0
C言語10年ぐらいやってるけどいまだにエラー機構の正解が見えない
errno使おうかと思ってた時期もあるけど、けっきょく構造体使ってエラーハンドリングしちゃう
531デフォルトの名無しさん (ワッチョイ d7ca-BKMK)
2020/04/09(木) 11:29:30.64ID:DMgYiRAM0
>>530
グローバル変数とlongjmp
532デフォルトの名無しさん (ワッチョイ 620e-AglQ)
2020/04/09(木) 11:41:05.77ID:tgAP9EIB0
jmp_bufはグローバルにしちゃダメだよ
533デフォルトの名無しさん (ワッチョイ a2c5-KRXG)
2020/04/09(木) 12:28:29.74ID:/KG6GbYC0
>>531
例外みたいに?
そういえばマクロでtry文再現してるライブラリがあったな
534デフォルトの名無しさん (ドコグロ MM87-Y19k)
2020/04/09(木) 18:27:54.57ID:TSHXR2zEM
>>532
何故に?
535デフォルトの名無しさん (ワッチョイ 620e-AglQ)
2020/04/09(木) 21:06:08.39ID:tgAP9EIB0
>>534
例外ハンドラの階層を構成できなくなるからだ
536デフォルトの名無しさん (ドコグロ MM02-Y19k)
2020/04/09(木) 21:26:59.30ID:v8J19e77M
>>535
そういうケース限定の話ということね
537デフォルトの名無しさん (ワッチョイ 620e-AglQ)
2020/04/10(金) 06:06:54.66ID:1zuF7RzQ0
限定ってそれ以外に何を考えているんだ?
538デフォルトの名無しさん (ワッチョイ e201-Y19k)
2020/04/10(金) 09:24:51.46ID:sn6MPl7m0
全てのケースで例外は階層化しないといけないって言う病気にでも罹患してるのか?
最終手段としてトップレベルに抜けるだけにしか使わないとか普通にやると思うけど
539デフォルトの名無しさん (ワッチョイ 620e-AglQ)
2020/04/10(金) 10:17:13.27ID:1zuF7RzQ0
ああexit使うと怒られるから形を変えるってやつね
540デフォルトの名無しさん (ワッチョイ d7ca-BKMK)
2020/04/10(金) 11:09:12.87ID:bV/hR7tO0
例外があったらプロセス終了ってw
別にライブラリが呼び出し元に戻る直前の手段として longjmp する場合、jmp_buf はライブラリのソース内の static なグローバル変数でもいいわけで。
グローバルにするかローカルにするかなんてその時の作りに応じて選べばいいだけで、グローバルじゃダメなんて何のルールだよって話なだけだろ。
541デフォルトの名無しさん (ワッチョイ 620e-AglQ)
2020/04/10(金) 12:20:25.35ID:1zuF7RzQ0
別にルールとか言ってねえぜ、勘違いすんなよ
飛ばされては困る処理はない方がレアケースで
だからグローバルはお奨めしないと助言したんだよ
542デフォルトの名無しさん (スップ Sd22-aNAp)
2020/04/10(金) 13:03:17.75ID:VwhukIlHd
例外発生時は自分自身にリセット要求出して割り込み禁止して無限ループ
543デフォルトの名無しさん (ドコグロ MM2b-Y19k)
2020/04/10(金) 13:17:24.64ID:doBqOulyM
>>539
随分低レベルな考え方だなw
通常のエラー処理は戻り値とかでやるけどロジックエラー等の回復不可能なエラーはlongjmpでトップレベルまで戻ってログ吐いて止まるなりリスタートなりするとかだよ

>>541
> 飛ばされては困る処理はない方がレアケースで
階層化の話はどうしたんだよw
544デフォルトの名無しさん (ワッチョイ 6740-MOmQ)
2020/04/10(金) 13:35:44.69ID:OARfLwlq0
long long a;
int b;
a >>= 8 * b;
‾‾‾‾‾演算のオーバーフロー
4バイトの値に演算子*を使用し、結果を8バイトの値にキャストしています。
オーバーフローを避けるため、演算子*を呼び出す前に値を幅の広い型にキャストしてください。

シフト演算でも右辺値は左辺値の型にキャストされるのですか?
545デフォルトの名無しさん (ワッチョイ 620e-AglQ)
2020/04/10(金) 15:49:55.13ID:1zuF7RzQ0
>>543
例外はむしろ回復可能なエラーへの対策が主要な用途だぞ
ゲロって止まるって、おまえエラーとバグを混同してるか?

俺は別に階層化の話から逸脱はしてねえぞ
そう思いたいのか?
546デフォルトの名無しさん (ワッチョイ e201-Y19k)
2020/04/10(金) 16:27:16.96ID:sn6MPl7m0
>>545
> 例外はむしろ回復可能なエラーへの対策が主要な用途だぞ
お前の流儀が主要とか言われても困る

> ゲロって止まるって、おまえエラーとバグを混同してるか?
文章理解力なさすぎだろw
>> 通常のエラー処理は戻り値とかでやるけど

> 俺は別に階層化の話から逸脱はしてねえぞ
飛ばされて困る処理が常に階層化されてると言うのか?

> そう思いたいのか?
お前が(あえてかどうかは知らんけど)書いてないから指摘しただけ
547デフォルトの名無しさん (ワッチョイ d7ca-BKMK)
2020/04/10(金) 17:07:36.93ID:bV/hR7tO0
>>544
32bit環境の gcc では特に何も言われないな。
548デフォルトの名無しさん (ワッチョイ 620e-AglQ)
2020/04/10(金) 17:53:11.95ID:1zuF7RzQ0
>>546
俺個人の流儀ではない

エラー処理には返却値を使う方法と例外を使う方法がある
この点はおまえ完全に間違って憶えているようだな

飛ばされて困る処理を確実に実行させるために
階層化とリスローをするんだよ

おまえ何もわかっちゃいねえな
買いかぶってた
549デフォルトの名無しさん (ワッチョイ d7ca-BKMK)
2020/04/10(金) 18:07:17.86ID:bV/hR7tO0
ごちゃごちゃ言ってるのを読む気にもならんが、結局グローバルでもいいんだろ?
階層組みたきゃそれができるように実装すりゃいいだけだよな?
的はずれなこと書くと無駄に長くなるってことが分かったな。
はいおしまい
550デフォルトの名無しさん (ワッチョイ 6746-aZ/i)
2020/04/10(金) 18:18:19.61ID:rT2v6YFT0
>>542
エレガントです。
551デフォルトの名無しさん (ドコグロ MM02-Y19k)
2020/04/10(金) 18:31:37.60ID:IOulq41rM
>>548
> エラー処理には返却値を使う方法と例外を使う方法がある
> この点はおまえ完全に間違って憶えているようだな
この点がどの点なのか知らんけど、主要とか言ってたのにやけにトーンダウンしたなw

> 飛ばされて困る処理を確実に実行させるために
> 階層化とリスローをするんだよ
だからそういう流儀もあるというだけの話だろ
で、お前それちゃんとやってるか?
C++みたいに例外発生時にデストラクタが呼ばれる機能がないからちゃんとやろうとするとほとんどの階層毎にsetjmpするはめになること理解してる?

> おまえ何もわかっちゃいねえな
そのまま返すよ

> 買いかぶってた
そりゃどうも、ってかお前に買いかぶられてもなw
552デフォルトの名無しさん (ワッチョイ ebb3-aNAp)
2020/04/10(金) 19:42:36.77ID:TdKXcRvJ0
C言語のスレとは思えんほど視野が狭いヤツがいるな

RAM 16バイトのCPUからスーパーコンピューターまで使われてるんだぞ
553デフォルトの名無しさん (ワッチョイ d7ca-BKMK)
2020/04/10(金) 19:48:10.23ID:bV/hR7tO0
ケチつける意図は無いけどあんまり小規模な CPU ならアセンブラで書いちゃうかな。
554◆QZaw55cn4c (ワッチョイ c2aa-zNgl)
2020/04/10(金) 19:49:12.02ID:GS5sAu5k0
>>548
>飛ばされて困る処理を確実に実行させるために
>階層化とリスローをするんだよ

例外のリスローってよくわからないんですよね
例外を食ってしまわないかぎり飛ばされることはないんだから、リスローって意味がないのでは?
それとも皆んな、例外を食い潰しまくっているのかな?
555デフォルトの名無しさん (ワッチョイ a263-AglQ)
2020/04/10(金) 19:51:47.29ID:I9hTO0gF0
是非1ビットCPU用のCコンパイラを提供してください
556◆QZaw55cn4c (ワッチョイ c2aa-zNgl)
2020/04/10(金) 19:59:25.43ID:GS5sAu5k0
>>555
1ビットCPU が存在するのなら作ってさしあげましょう
557デフォルトの名無しさん (ワッチョイ ebb3-aNAp)
2020/04/10(金) 20:05:04.44ID:TdKXcRvJ0
昔1bit CPUもどきがあったような
558デフォルトの名無しさん (ワッチョイ ebb3-aNAp)
2020/04/10(金) 20:06:23.04ID:TdKXcRvJ0
http://www.st.rim.or.jp/~nkomatsu/motorola/MC14500.html
559デフォルトの名無しさん (ワッチョイ d7ca-BKMK)
2020/04/10(金) 20:56:44.60ID:bV/hR7tO0
>>556
完成が楽しみだ
560◆QZaw55cn4c (ワッチョイ c2aa-zNgl)
2020/04/10(金) 21:10:30.64ID:GS5sAu5k0
>>559
1bit の CPU が存在するのなら作りますが、現実には存在しないのでは?
>>558 はプログラムカウンタを持っていない以上、CPU とは言いがたいですね
561デフォルトの名無しさん (ワッチョイ 2ff9-KRXG)
2020/04/10(金) 21:14:55.95ID:gFmjwv7d0
longjmpて関数の垣根を飛び越えるためのものだろ
jmp_bufをローカル変数になんて有り得なくね?
562デフォルトの名無しさん (ワッチョイ 620e-AglQ)
2020/04/10(金) 21:27:53.89ID:1zuF7RzQ0
>>551
ああ、ちゃんとやってるよ
おまえやってないんだろ?

C++の動きもわかってねえな

>>554
日本語でおk
563デフォルトの名無しさん (ワッチョイ d7ca-BKMK)
2020/04/10(金) 21:38:00.03ID:bV/hR7tO0
>>561
setjmp と同じかより深いスコープまたはスタックフレームから戻ってくるだけだから、
setjmp の呼び出し時点で存在しているスコープであればローカルだろうとグローバルだろうと構わないよ。
564デフォルトの名無しさん (ワッチョイ d7ca-BKMK)
2020/04/10(金) 21:49:38.93ID:bV/hR7tO0
補足すると、ローカル変数に置いた jmp_buf を呼び出し先の関数から直接参照することはできないから、引数かなにかでポインタを引き回さないといけない。
これ嫌ならグローバル使う感じじゃね。
565デフォルトの名無しさん (ワッチョイ 42f8-8knU)
2020/04/10(金) 22:06:15.16ID:upEOHZmS0
>>560
かっこ悪いぞ。ちゃんと作れ
566デフォルトの名無しさん (ワッチョイ 42f8-8knU)
2020/04/10(金) 22:06:35.43ID:upEOHZmS0
>>560
かっこ悪いぞ。ちゃんと作れ
567デフォルトの名無しさん (ドコグロ MM2b-Y19k)
2020/04/10(金) 22:24:00.75ID:aXPLRrP9M
>>560
プログラムカウンターも1bitじゃないからダメとか言いそうw
568デフォルトの名無しさん (ドコグロ MM7a-Y19k)
2020/04/10(金) 22:26:36.48ID:jlvstp5nM
>>562
> ああ、ちゃんとやってるよ
そりゃすげーな

> おまえやってないんだろ?
うん、性能も悪いしバカみたいだもんw

> C++の動きもわかってねえな
具体的に指摘しなよ
まあ出来ないから悪態しかつけないんだろうけど
569デフォルトの名無しさん (ワッチョイ 2ff9-KRXG)
2020/04/10(金) 22:34:25.59ID:gFmjwv7d0
>>563
それやるのにlongjmpなんぞ使わないだろって
普通にif (err) return;で戻ってくりゃいいだけじゃん
570デフォルトの名無しさん (ワッチョイ d7ca-BKMK)
2020/04/10(金) 22:52:34.09ID:bV/hR7tO0
>>569
それで済むならそうすりゃいいじゃん。
571デフォルトの名無しさん (ワッチョイ d7ca-BKMK)
2020/04/10(金) 22:56:16.19ID:bV/hR7tO0
>>569
いや、盛大な理解不足をしてそうだな。
そもそもとして setjmp をしたスコープから上位に出てしまったら longjmp はできないぞ?
setjmp をした時点のスタックが壊れていないことが条件だから。
572デフォルトの名無しさん (ワッチョイ 7b19-/9S9)
2020/04/11(土) 08:18:46.47ID:ESZwWJDK0
時間をトリガーとした実装について質問したいです。2つあります。

1
何時何分という絶対値をトリガーとしてスレッドを起動orコールバック関数の実行をしたいです。
どのような実装したらよいでしょうか。。

2
相対値、例えば何秒後というトリガーで1と同じ制限の処理をしたいときにはどうしたらよいでしょうか。

いずれも、任意個の処理とトリガーをつくりたいです。
POSIXの範囲でできるのが好ましいですが、不可能であればLinuxに依存してもOKです。

よろしくおねげーします。
573デフォルトの名無しさん (ワッチョイ 42f8-8knU)
2020/04/11(土) 09:19:58.59ID:mccf80iK0
つat & crontab
posix準拠
574デフォルトの名無しさん (ワッチョイ 7b19-/9S9)
2020/04/11(土) 09:27:13.95ID:ESZwWJDK0
>>573
一つのプロセスの中でやりたいんですよ。決してシステム管理の一貫ではないです。
575デフォルトの名無しさん (ドコグロ MM87-Y19k)
2020/04/11(土) 10:02:10.80ID:1yaHqyx7M
>>572
2はsleepしてスレッド起動するだけだろ
1は 目的日時 - 現在時間 を計算して相対値にしてから2と同じ処理をすればいい
576デフォルトの名無しさん (ワッチョイ d7ca-BKMK)
2020/04/11(土) 10:30:52.73ID:BTIsFQoK0
>>572
sleepしながら時刻を確認するタイマースレッドでも作れば?
直近の時刻まで時間があるなら大まかにループして、イベント時刻に近づいたら細かくループすればそこそこの分解能と低CPU時間を両立できるんじゃね。
新しいタイマーをリストに加えたらタイマースレッドに signal 投げれば sleep からすぐ戻るから再計算もできるでしょ。
577デフォルトの名無しさん (ワッチョイ ebb3-aNAp)
2020/04/11(土) 10:47:05.13ID:qsSqqeEW0
pthread_cond_timedwait
じゃダメなん?
578デフォルトの名無しさん (ワッチョイ d7ca-BKMK)
2020/04/11(土) 11:11:32.64ID:BTIsFQoK0
>>577
それでもいいんだろうけど、sleep に比べてこれといったメリットあるかな?
いや、ケチを付ける意図も無けりゃ sleep を推したいわけでもないんだけど、この場合の pthread_cond_timedwait は時間待ちをするだけの目的で使うんだよね?
579デフォルトの名無しさん (ワッチョイ a263-AglQ)
2020/04/11(土) 11:20:14.71ID:vFamPbGj0
プロセスを都度起動でなく、常駐させる理由を書けば良いと思う
580デフォルトの名無しさん (ワッチョイ ebb3-aNAp)
2020/04/11(土) 11:56:15.95ID:qsSqqeEW0
>>578
時間指定じゃなくて時刻指定だから
用途に合ってると思ったわけだが
581デフォルトの名無しさん (ワッチョイ d7ca-BKMK)
2020/04/11(土) 12:13:08.97ID:BTIsFQoK0
>>580
なるほど確かに。
582デフォルトの名無しさん (ワッチョイ ebb3-aNAp)
2020/04/11(土) 12:31:33.82ID:qsSqqeEW0
時刻にしたのは設計ミスだと思うけど
583デフォルトの名無しさん (ワッチョイ 7b19-KInM)
2020/04/11(土) 20:31:02.14ID:ESZwWJDK0
皆さんありがとうございます
>>576 案は実装ムズそう(KONAMI)
>>577 案をまず試してたい、と思っています
584デフォルトの名無しさん (ワッチョイ 620e-AglQ)
2020/04/11(土) 21:07:01.99ID:U1tTiVMl0
>>568
え、すげーの?????
585デフォルトの名無しさん (ドコグロ MM02-Y19k)
2020/04/11(土) 21:18:35.44ID:AxqfFildM
>>584
うん、すごい
性能も悪いしバカみたいなことを得意げに語るところがw
586デフォルトの名無しさん (ワッチョイ d7ca-BKMK)
2020/04/11(土) 21:29:37.03ID:BTIsFQoK0
例外処理っぽいことをやること自体が目的になってる感はあるな。
ある程度のところへ longjmp したら後は return でいいんじゃねーの?みたいな。
goto 使ってもいいしな。
587デフォルトの名無しさん (ワッチョイ 620e-AglQ)
2020/04/12(日) 06:36:15.91ID:GRbObigC0
>>585
longjmpが性能悪いわけねえだろ
悪いのはおまえの頭だ
588デフォルトの名無しさん (ドコグロ MM87-Y19k)
2020/04/12(日) 07:04:02.05ID:CkeJkK0DM
>>587
うんlongjmpの性能はたいして悪くないよ
多少悪くてもガンガン呼び出すわけじゃないだろうしね
悪いのはsetjmpとlongjmpの区別もついてない君の頭だと思うw
589デフォルトの名無しさん (ワッチョイ 620e-AglQ)
2020/04/12(日) 07:49:02.13ID:GRbObigC0
なんでsetjmpとlongjmpの区別って話になるの? おまえ精神分裂病なのか?
590デフォルトの名無しさん (ドコグロ MM7a-Y19k)
2020/04/12(日) 08:09:51.13ID:onC+zfyaM
>>589
longjmpの性能とか言ってるのはお前だけ
妄想性障害かよw
591デフォルトの名無しさん (ワッチョイ 620e-AglQ)
2020/04/12(日) 08:27:20.43ID:GRbObigC0
>>590
ああ、性能悪いってのはおまえが書くコードのことか
なるほど551でヘボぶりを露呈したやつだからな
592デフォルトの名無しさん (ドコグロ MM2b-Y19k)
2020/04/12(日) 08:34:51.02ID:3HJi1EoTM
>>591
これまた意味不明なことを言い出したな

> longjmpが性能悪いわけねえだろ
はどうしたんだよw

あと前の話に噛み付くなら
>> C++の動きもわかってねえな
> 具体的に指摘しなよ
にもちゃんとレスしろよな
593デフォルトの名無しさん (ワッチョイ 620e-AglQ)
2020/04/12(日) 08:38:27.27ID:GRbObigC0
>>592
人に教えを請う態度ではないな
乞食野郎
594デフォルトの名無しさん (ワッチョイ 620e-AglQ)
2020/04/12(日) 08:43:03.32ID:GRbObigC0
煽れば情報が出てくると思ってやがる
595デフォルトの名無しさん (ドコグロ MM2b-Y19k)
2020/04/12(日) 08:50:35.16ID:3HJi1EoTM
お前に教えを請う?w

> まあ出来ないから悪態しかつけないんだろうけど
って書いてあることも理解してないのかよ
596デフォルトの名無しさん (ワッチョイ 620e-AglQ)
2020/04/12(日) 08:52:25.41ID:GRbObigC0
かすりもしない想像を開陳されても痛くも痒くもねえぜ
597デフォルトの名無しさん (ワッチョイ 620e-AglQ)
2020/04/12(日) 08:53:25.62ID:GRbObigC0
プログラミングだけでなくプロファイリングもど下手くそだな
頭悪いやつは何やっても同じってことだな
598デフォルトの名無しさん (ドコグロ MM02-Y19k)
2020/04/12(日) 09:15:25.45ID:y4wlbrQWM
> longjmpが性能悪いわけねえだろ
って書いちゃって顔真っ赤になってはぐらかしに必死w
599デフォルトの名無しさん (ワッチョイ 620e-AglQ)
2020/04/12(日) 09:34:53.23ID:GRbObigC0
正しいことを言ったのに真っ赤になるわけねえだろアホ
もうテキトーこくしかなくなってやんのw
600デフォルトの名無しさん (ドコグロ MM7a-Y19k)
2020/04/12(日) 12:25:24.41ID:NktHaBkmM
longjmpが性能悪い?
どう悪いのか説明してみ
まあどうせまともな説明できないからまたごまかすんだろうけどw
601デフォルトの名無しさん (ワッチョイ ebb3-aNAp)
2020/04/12(日) 12:46:20.80ID:XnFqx3xm0
longjumpを使ってループとかしちゃうんじゃないの?
602デフォルトの名無しさん (ワッチョイ e279-KRXG)
2020/04/12(日) 13:28:21.70ID:/Fi25RTn0
何このスレ
C界隈って民度低いんだね
603デフォルトの名無しさん (ワッチョイ a263-AglQ)
2020/04/12(日) 13:41:06.57ID:JUoERGEp0
レンジャー部隊のスレです
604デフォルトの名無しさん (ワッチョイ 0646-aZ/i)
2020/04/12(日) 16:38:59.01ID:X+MKnNFs0
低きに流れて共に暴れる程度の度量もないのか。ケツの穴のセグメントの小さい奴らめ。
605デフォルトの名無しさん (ワッチョイ a2c5-KRXG)
2020/04/12(日) 16:58:27.71ID:YHx2xXt40
GNUのlsのソースで状態遷移を使ったパーサーがあった
なんか自分の知ってる技術が使われてると嬉しくなるな
606デフォルトの名無しさん (ワッチョイ 620e-AglQ)
2020/04/13(月) 14:39:05.17ID:vztTI3R90
longjumpではなくlongjmpな

gccとclで結構違う
http://codepad.org/cm3uAblb
607デフォルトの名無しさん (ワッチョイ ffd2-Ho7r)
2020/04/16(木) 09:06:42.33ID:kHN+0sn+0
インラインアセンブラで1バイト相対ジャンプ命令使ったとき、
128バイト以上離れても警告されなくて何度もバグったわ。
当時はデバッガー使ってなかったし。
608デフォルトの名無しさん (ワッチョイ 37b3-3r4m)
2020/04/16(木) 12:23:43.25ID:dbvXh7HJ0
インラインアセンブラでジャンプとか
609デフォルトの名無しさん (ワッチョイ 9f63-Ho7r)
2020/04/16(木) 12:30:43.74ID:Vn4RPyR40
流石にアセンブラソース部分のチェックはしてないと思うが
610デフォルトの名無しさん (ワッチョイ d7da-Rqel)
2020/04/16(木) 12:43:36.87ID:rwMm4haa0
アセンブラで条件分岐するにはジャンプは必ず使う
大抵の条件ジャンプ命令は相対ジャンプ
611デフォルトの名無しさん (ワッチョイ 9f0e-Ho7r)
2020/04/16(木) 12:44:21.19ID:zHaHU1HF0
ショートブランチの射程距離ぎりぎりを使うときはうっかりミスなどあり得ない
通常はそんなことになるまでにロングブランチに切り替えるが
それをあえてショートで責める理由があるときは細心の注意を払う
612デフォルトの名無しさん (ワッチョイ 37b3-3r4m)
2020/04/16(木) 12:52:02.41ID:dbvXh7HJ0
インラインアセンブラを使うのはせいぜい数行
それより多かったり分岐を含むのは
インラインじゃない普通のアセンブラ
intrinsicで済むのはintrinsicで

ていう考え
613デフォルトの名無しさん (ワッチョイ 9f0e-Ho7r)
2020/04/16(木) 12:55:39.14ID:zHaHU1HF0
だよな
614デフォルトの名無しさん (ワッチョイ 9f79-ycCE)
2020/04/16(木) 13:02:03.37ID:t+z6tGpZ0
インラインアセンブラって何のために使うの?
パフォーマンス的にはコンパイラの最適化に任せておいた方がマシな場合が多そうだけど
615デフォルトの名無しさん (ワッチョイ ffd2-Ho7r)
2020/04/16(木) 13:04:17.71ID:kHN+0sn+0
16bit時代で最適化なんて信用できんかった。
616デフォルトの名無しさん (ワッチョイ 37b3-3r4m)
2020/04/16(木) 13:12:21.85ID:dbvXh7HJ0
ならなおさら
インラインじゃない方が良い
617デフォルトの名無しさん (ワッチョイ ff69-IHcq)
2020/04/16(木) 13:34:12.50ID:sXqqJ3Mr0
どうしても SIMD でその部分だけ実装したかった
あとから別のしくみがあることを知った
618デフォルトの名無しさん (ドコグロ MMdf-A2g6)
2020/04/16(木) 13:44:01.42ID:EClU3YdgM
>>614
コンパイラが吐かない命令使いたい時とかデータの特性がわかっててその特性に合わせた最適化したい時とか
619デフォルトの名無しさん (ワッチョイ 9f0e-Ho7r)
2020/04/16(木) 13:51:33.32ID:zHaHU1HF0
rdrand命令とかね
620デフォルトの名無しさん (ワッチョイ 57ca-1VFb)
2020/04/16(木) 14:19:30.03ID:CVnBB3Bm0
>>614
今時のCPUは最適化のためのルールが複雑で人の手に負えないからコンパイラ任せの方が大抵いいけど、昔はそうでもなかった。
まあそこまでキリキリにチューニングしたいならインラインアセンブラなんかじゃなくアセンブラで書く方がいいと思うけどね。

最適化以外だと、地味にローテートを多用するアルゴリズムだとアセンブラでやりたくなるよね。
他には、alloca とか longjmp とか効率のいい排他処理みたいな類いのアセンブラじゃないと書けない処理もあるし。
621デフォルトの名無しさん (ワッチョイ ff2d-csEB)
2020/04/16(木) 14:38:12.69ID:ZOahMNv90
ウイルス作るのに必要
データを実行したり、投機実行を狙って特権の必要な命令を配置したり
622デフォルトの名無しさん (ワイーワ2 FFdf-TqHL)
2020/04/16(木) 14:41:22.11ID:rX5xM8bmF
このスレのみなさんは逆汗したら判るんですか
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
623デフォルトの名無しさん (ワッチョイ 9f0e-Ho7r)
2020/04/16(木) 15:26:37.26ID:zHaHU1HF0
EICAR知らないやついるの?
624デフォルトの名無しさん (ワッチョイ 9ff8-NFZI)
2020/04/16(木) 15:48:33.99ID:SI5o5TtZ0
ローテート命令を出力するcコードって書けるの?
625デフォルトの名無しさん (ワッチョイ 9ff8-NFZI)
2020/04/16(木) 15:49:08.18ID:SI5o5TtZ0
あとビットカウント
626デフォルトの名無しさん (ワッチョイ b732-xa8R)
2020/04/16(木) 15:51:36.77ID:gk/+OIqE0
cの関数の場合関数内でintを生成してそれに数値を代入してreturnして
戻った先で戻り値を使うことができる。そのままでdeleteする必要はない。
同じようにストラクチャでもできるの?
typedef strudt{ char x,y;] XY;
XY func(){
XY a;
a.x =1; a.y = 2;
return a;
}
void main(){
XY xy = func();
}
627デフォルトの名無しさん (ワッチョイ b732-xa8R)
2020/04/16(木) 15:57:13.19ID:gk/+OIqE0
int bitcount(int32 val){
 ct = 0;
 for(int i = 0; i < 32; ++ i){
   if( val>>1)++ct;
 }
 return ct;
}
628デフォルトの名無しさん (ワッチョイ b732-xa8R)
2020/04/16(木) 15:59:17.39ID:gk/+OIqE0
(val>>=1) & 1 の間違い
629デフォルトの名無しさん (ワッチョイ b732-xa8R)
2020/04/16(木) 16:03:06.35ID:gk/+OIqE0
int bitcount(int32 val){
 ct = 0;
 for(int i = 0; i < 32; ++ i){
   if( val & 1) ++ct;
   val >>=1;
 }
 return ct;
}
630デフォルトの名無しさん (ワッチョイ 57ca-V882)
2020/04/16(木) 16:12:48.22ID:CVnBB3Bm0
>>622
先頭の pop ax で何が入ってくるのか分からなくて挫折したw

でもテキストな実行ファイルなら前にこんなの作ったよ。
https://dotup.org/uploda/dotup.org2114206.zip パスワード C
MSDOS用で 64bit windows上じゃ動かせないけど、DOSBOX とかで試せる。
C と関係無いしダウンロードしてまで見るのは面倒だと思うけど、見てもらえればちょっとは面白いかも。
631デフォルトの名無しさん (ワッチョイ 9f1e-p7gL)
2020/04/16(木) 17:40:43.86ID:Gd2rQJ6V0
>>624
a[i] = ( a[i] << 1) | ( a[i] >> 31);
って書いて普通にコンパイルしてみたが…
roll というのはローテート命令かい?
gcc で特に最適化は指定しなかったが。
632デフォルトの名無しさん (ワッチョイ 9fb6-xa8R)
2020/04/16(木) 17:44:50.58ID:ZrTWKD3l0
>>626
できるよ。
正確には関数が持ってた構造体(funcのa)を戻り先の構造体(mainのxy)へ代入している感じ。
構造体はコンパイル時にサイズが決まるのでintとかの値と同じようにコピーができる。

https://wandbox.org/permlink/AIZ0DCmCSZJpFhE1
633デフォルトの名無しさん (ワッチョイ 97e6-gRie)
2020/04/16(木) 18:14:58.35ID:JVCyOwUU0
>>626
ポインタで返しちゃイカンぞ
634デフォルトの名無しさん (ワッチョイ 9ff8-NFZI)
2020/04/16(木) 18:45:02.86ID:SI5o5TtZ0
>>631
おお、ちゃんと出力されるんだねthx
635デフォルトの名無しさん (ワッチョイ 57ca-1VFb)
2020/04/16(木) 21:43:50.28ID:CVnBB3Bm0
>>631
ほんとだ、シフト数を変数にしてもちゃんとローテートになるね。
すごいね。
636デフォルトの名無しさん (ワッチョイ b732-xa8R)
2020/04/16(木) 21:47:10.87ID:gk/+OIqE0
>>633
ポインタで返さないなら、つまり関数内でメモリ確保したストラクチャでも値そのものを返すのであれば、受け取った側でdeleteしなくてもいいの?
typedef strudt{ char x[10000], y[10000];] XY;
XY func(){
XY a;
a.x =1; a.y = 2;
return a;
}
void main(){
XY xy = func();
}
637デフォルトの名無しさん (ワッチョイ 57ae-TQ1c)
2020/04/16(木) 22:09:56.27ID:B9NPrh+z0
おかしくね?
638デフォルトの名無しさん (ワッチョイ 57ca-1VFb)
2020/04/16(木) 22:21:38.07ID:CVnBB3Bm0
>>636
その a のためのメモリはスタックフレーム上に確保されてて、関数から return すると黙ってても消えて無くなる領域だから、
new とか malloc なんかでヒープ上に確保するメモリと違って delete とか free とかはいらない。
関数 func を呼び出してる間、xy の領域と a の領域は同時に存在し、return するときに a の内容を xy にコピーして、a は func のスタックフレームと共に消滅する。
639デフォルトの名無しさん (ワッチョイ 37b3-3r4m)
2020/04/16(木) 22:25:10.82ID:dbvXh7HJ0
int main(){
int a = 1;
return a;
}

これと一緒
640デフォルトの名無しさん (ワッチョイ 9f63-Ho7r)
2020/04/16(木) 22:53:15.47ID:Vn4RPyR40
うつりにけりなわが値
やがてすべてが過ぎ去るあとも
あなただけを想う
641デフォルトの名無しさん (ワッチョイ 9fc5-ycCE)
2020/04/16(木) 23:41:19.91ID:GrYlaJ670
詩的!
抱いて!
642デフォルトの名無しさん (ワッチョイ b732-xa8R)
2020/04/17(金) 07:11:17.78ID:AqgoekXO0
>>638
なるほど!!よくわかりました。
関数はreturn値を呼び出し側にコピーして実行完了となりstackを開放する。
local 変数はstack上に作るので実行完了まではlocal変数の内容は保持される
が実行完了で自動的に消滅する。
ということですね。
643デフォルトの名無しさん (ブーイモ MMbb-fsvn)
2020/04/17(金) 11:34:39.45ID:0SFvwi0RM
常識過ぎてデフォルトコピーコンストラクタみたいな盲腸がC++に埋め込まれてしまったんだよ
あくまでC言語の中でコーダーが工夫し不便を乗り越えてた常識なのにね
644デフォルトの名無しさん (ワッチョイ 9f63-Ho7r)
2020/04/17(金) 12:08:02.28ID:uZ4GpX9X0
>人間の虫垂は、親知らずや体毛と同じように、かつては必要とされていたが今は
>なくても問題なくやっていける器官と考えられいた。

>しかし、虫垂がかつて何をしていたのか、また実際にいま用無しなのかについては、
>これまで明確になっていなかった。そんななか、米ミッドウェスタン大学の研究者が
>主体となった研究が発表され、この問題にひとつの答えが提示された。虫垂は、
>免疫細胞の反応を促し、有益な腸内細菌(善玉菌)が減少するとこれを増やすという
>二次的な免疫機能を担っているという。この役割は限定的な形ながら、いまも人間
>の体内で継続して機能している。

https://www.kagaku-kentei.jp/news_detail/data/355

むだなものなんて一つもない
645デフォルトの名無しさん (ワッチョイ 7705-Ho7r)
2020/04/17(金) 12:30:59.31ID:AkLTGvvI0
>>644
進化退化の結果、無駄になっちゃったものなら結構あるよね
ケツ毛とか、人差し指から小指までの腱間結合とか
646デフォルトの名無しさん (ワッチョイ 37b3-3r4m)
2020/04/17(金) 12:32:10.12ID:uUpf2Y3l0
人間自体無駄
647デフォルトの名無しさん (ワイーワ2 FFdf-xa8R)
2020/04/17(金) 14:09:42.57ID:3B9MCfUYF
虫垂炎で虫垂取っちゃった人はコロチャンに弱いってことかな
648デフォルトの名無しさん (ワッチョイ 37b3-3r4m)
2020/04/17(金) 14:35:48.83ID:uUpf2Y3l0
いらないと思って取っちゃったよ
649デフォルトの名無しさん (ワイーワ2 FFdf-xa8R)
2020/04/17(金) 15:10:48.97ID:3B9MCfUYF
650デフォルトの名無しさん (ワッチョイ 9f0e-Ho7r)
2020/04/17(金) 16:18:03.57ID:xoWFQBId0
パイエル板みたいなもんか
651デフォルトの名無しさん (ワッチョイ 9fad-Ho7r)
2020/04/18(土) 13:49:13.30ID:VYQrLT4k0
>>645
環境が変化した場合に再度必要になるかも知れないのでなんとも言えない。
地球の自然環境は変化し続けるしね。
652デフォルトの名無しさん (ワッチョイ 9fad-Ho7r)
2020/04/18(土) 14:51:32.00ID:VYQrLT4k0
>>646
この世界全体が無駄と言えば無駄だな。

まあしかし人間は自分の欲望を満たすものに対して無駄がないと感じるだけのことなので、
欲望がなくなればそれもなり全てはあってもなくても良いどうでも良いものになる。
653デフォルトの名無しさん (ワッチョイ 9fa6-LSCM)
2020/04/20(月) 16:26:18.96ID:LGT//Bm+0
>>644
扁桃腺切除、アデノイド切除もだな
https://indeep.jp/dont-remove-tonsils-of-kids/
654デフォルトの名無しさん (アウアウエー Sadf-xa8R)
2020/04/21(火) 11:05:50.29ID:dT9nwdnwa
石田晴久ってまだ生きてんの?
655デフォルトの名無しさん (ワンミングク MM7f-z1+B)
2020/04/21(火) 12:05:14.25ID:asepdmU3M
鬼籍の人
656デフォルトの名無しさん (ワッチョイ 9f0e-Ho7r)
2020/04/21(火) 12:19:27.00ID:kyWq+dbI0
https://de.wikipedia.org/wiki/Haruhisa_Ishida
657デフォルトの名無しさん (ワッチョイ 4d63-enhv)
2020/04/22(水) 04:04:56.61ID:P99VZQTl0
c言語用のおすすめwebフレームワークplz
658デフォルトの名無しさん (ワッチョイ a601-zAxQ)
2020/04/22(水) 08:56:18.23ID:tIkd0GYk0
go言語ならたくさんあるんじゃね
659デフォルトの名無しさん (ワントンキン MMac-3xit)
2020/04/22(水) 09:31:17.33ID:94fF+/tAM
4(C)言語、5(GO)言語とおすすめwebフレームワークが増えるの?
6言語は何?
660デフォルトの名無しさん (アウアウエー Sa6a-0GGu)
2020/04/22(水) 10:11:23.93ID:O/jaLKmba
サイボウズのCGIってCで描かれてるんだっけ
661デフォルトの名無しさん (ワッチョイ 5c01-0GGu)
2020/04/22(水) 10:20:50.37ID:obS+r2in0
>>646
こういう悟り厨ほど自分が死ぬときにはめちゃくちゃ言い訳しまくるもんよ。
662デフォルトの名無しさん (ワッチョイ ae85-R0M4)
2020/04/23(木) 23:53:15.47ID:wF6p0RUq0
英小文字の出現回数を出現した文字だけ数えたいのですがうまくいきません
ご指導お願いします


#include <stdio.h>

int main(void) {
char ch;
int cc[26] = {0};
int i;

for(;(ch=getchar())!=EOF;){
if((ch>='a')&&(ch<='z')){
cc[ch-'a']++;
}
}




for (i='a'; i<'z'; i++) printf("%c:%d\n", i, cc[i+'a']);

return 0;
}
663デフォルトの名無しさん (ワッチョイ ba63-1Gce)
2020/04/24(金) 00:19:05.81ID:dt1qmdTj0
これはC言語なのか?
664デフォルトの名無しさん (ワッチョイ ae85-R0M4)
2020/04/24(金) 00:23:10.36ID:zB+8iNgr0
いたらなくてすみませんがC言語です
665デフォルトの名無しさん (ワッチョイ a601-zAxQ)
2020/04/24(金) 00:29:10.67ID:SZShfMPk0
これは宿題なのか?
666デフォルトの名無しさん (ワッチョイ ba63-1Gce)
2020/04/24(金) 00:32:48.00ID:dt1qmdTj0
出力の箇所

× printf("%c:%d\n", i, cc[i+'a']);
○ printf("%c:%d\n", i, cc[i-'a']);
667デフォルトの名無しさん (ワッチョイ ba63-1Gce)
2020/04/24(金) 00:36:40.55ID:dt1qmdTj0
それともう一つ
char ch ; は
int ch; にした方が良い
668デフォルトの名無しさん (ワッチョイ 1caf-808h)
2020/04/24(金) 01:12:46.99ID:onlsKD/x0
https://paiza.io/projects/z-ohjvsIhSR6X_lC8q7MKA
コンパイルが通りません。
どこが悪いか教えてもらえないでしょうか。
-Iと-Lの使い方や、regexのコンパイル?(.a)の指定方法等を調べてみたのですがわかりません。
C:\clang>gcc -I "C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\opt\include" -L "C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\opt\lib" filename.c
C:\Users\maru\AppData\Local\Temp\ccgTVd7X.o:filename.c:(.text+0x75): undefined reference to `regcomp'
C:\Users\maru\AppData\Local\Temp\ccgTVd7X.o:filename.c:(.text+0xf0): undefined reference to `regexec'
C:\Users\maru\AppData\Local\Temp\ccgTVd7X.o:filename.c:(.text+0x19a): undefined reference to `regfree'
collect2.exe: error: ld returned 1 exit status
libregex.aとregex.hは上記pathに存在します。
環境:
windows10 64bit
gcc version 8.1.0 (x86_64-posix-seh-rev0, Built by MinGW-W64 project)
mingw-w64-install.exeで64bit版をインストールしました。
669662 (ワッチョイ ae85-R0M4)
2020/04/24(金) 01:29:37.91ID:zB+8iNgr0
>>666
ありがとうございます!
あと、入力されてない文字を出力したくないんですが
もう一つご教授願います!
670デフォルトの名無しさん (ワッチョイ 6ef9-QpYc)
2020/04/24(金) 04:35:22.10ID:QT76eCNa0
「入力されてない文字を出力したくない」のだから
出力するところにその条件を書けばよい

自分でデバッグしないと身につかないよ
671デフォルトの名無しさん (ワッチョイ 2f7b-MJT7)
2020/04/24(金) 05:31:04.69ID:ahZInywh0
>>668
「ライブラリとして libregex.a も使うのでリンクしてくれ」と教えるために
-lregex と書かなきゃいけないんじゃないかな。

> gcc -I "..." -L "..." filename.c -lregex

ってな感じ。
672デフォルトの名無しさん (ワントンキン MMac-3xit)
2020/04/24(金) 09:34:34.44ID:N82Nh9jxM
これはゾンビですか?
いいえC言語です。
673デフォルトの名無しさん (ワッチョイ 1caf-808h)
2020/04/24(金) 10:36:16.91ID:onlsKD/x0
>>671
C:\clang>gcc -I "C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\opt\include" -L "C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\opt\lib" filename.c -lregex
コンパイルと実行ができました。
c言語の勉強を始めて間がないので、かなり困っていました。
先へ進めることができます、ありがとう。
674デフォルトの名無しさん (ワッチョイ 7001-PxOI)
2020/04/24(金) 19:43:54.74ID:xndEmFws0
C言語はゾンビですか?
675デフォルトの名無しさん (ワッチョイ 02f8-8pil)
2020/04/25(土) 02:36:17.81ID:hi7DiOZ50
どの言語かなんて聞いとらん。
お前のpushでゾンビプロセスになったんだ。速く直せ
676デフォルトの名無しさん (ワッチョイ 0f79-QpYc)
2020/04/25(土) 04:50:47.91ID:jHPUydMa0
Cプログラムはゾンビプロセス化しやすい
677デフォルトの名無しさん (ワッチョイ f64f-1Gce)
2020/04/25(土) 20:26:18.80ID:CZd/Jkgq0
ゾンビプロセスって親のせいだろ
678デフォルトの名無しさん (ワントンキン MMb8-A1EL)
2020/04/25(土) 21:24:06.12ID:r8bOCmclM
OSのプロセス管理による
C言語固有の問題ではない
679デフォルトの名無しさん (ワッチョイ c6c5-QpYc)
2020/04/26(日) 03:01:35.30ID:WTnD7Qwo0
2chのread.cgiがGitHubに公開されてた
https://github.com/nekoruri/readcgi/blob/master/read.c
680デフォルトの名無しさん (ワッチョイ e2ad-1Gce)
2020/04/27(月) 22:31:53.92ID:0bO6Thr30
( ´_ゝ`)フーン
681デフォルトの名無しさん (ワッチョイ 731e-RQtm)
2020/04/28(火) 14:09:05.23ID:wJiWpF7n0
くっそ初歩的な質問なんですが、コンパイラ入れてパスも通したのにハローワールドさえ実行できなくなりました
何がいけないのかな?

C言語なら俺に聞け 154 YouTube動画>16本 ->画像>6枚
682デフォルトの名無しさん (ワッチョイ ac63-w7gE)
2020/04/28(火) 14:26:07.89ID:LE+4zw960
>>681
ファイルが見つかりません
683デフォルトの名無しさん (ワッチョイ ba63-1Gce)
2020/04/28(火) 14:30:52.61ID:vhevaFWy0
>?o: Invalid argument

oの前にあるの、半角ハイフォンじゃないのでは?
684デフォルトの名無しさん (ワンミングク MM3e-RQtm)
2020/04/28(火) 14:40:19.14ID:xVP5Xe0nM
>>681
見ての通り指定の場所にちゃんとあるし名前も合ってるんだがなぁ
>>683
半角にするとcannot excute 'as':って謎のエラーと「ファイルが見つかりません」ってエラーとでふたつでてきました
685デフォルトの名無しさん (ワントンキン MM1a-3xit)
2020/04/28(火) 14:45:10.07ID:E3zbKYWLM
>>684
状況を貼れ。
686デフォルトの名無しさん (ワッチョイ d0d2-1Gce)
2020/04/28(火) 15:03:51.84ID:l2FqJJrF0
全角文字のパス未対応だったとか、"しゅもく"に\コード含んでたとか。
C:\prg とか作ってそっちで試したら?
687デフォルトの名無しさん (ワッチョイ ba63-1Gce)
2020/04/28(火) 15:10:26.53ID:vhevaFWy0
試しに gcc helloworld.c ってやってみて

a.exeは出来ますか?
688デフォルトの名無しさん (ワンミングク MM3e-RQtm)
2020/04/28(火) 16:01:15.79ID:xVP5Xe0nM
>>687
a.exeの実行で無事出来ました!
ありがとうございます助かりました
689デフォルトの名無しさん (ワンミングク MM3e-RQtm)
2020/04/28(火) 16:01:29.54ID:xVP5Xe0nM
他の皆さんもお力添え感謝です
690デフォルトの名無しさん (ワッチョイ ac63-w7gE)
2020/04/28(火) 16:28:06.87ID:LE+4zw960
何が原因だったのか解明できていないのは非常にもやもやする
まぁ初心者の頃はそんなのに付き合わずとりあえずいろいろやれ、っていうのもあるけどやっぱもやもやする
691デフォルトの名無しさん (ワッチョイ be81-1Gce)
2020/04/28(火) 16:30:56.64ID:PSHN1orM0
タイポでしょ
692デフォルトの名無しさん (ワッチョイ c6c5-QpYc)
2020/04/28(火) 16:38:05.42ID:0ndGBSxH0
ハイフンが全角だったんじゃないの
693デフォルトの名無しさん (ワッチョイ 0a46-3xit)
2020/04/28(火) 16:40:48.16ID:15/yEbjR0
asが無ーて言われたんだから、インストール変なんじゃ無いの。
694デフォルトの名無しさん (ワッチョイ 7a4b-Ugou)
2020/04/28(火) 17:34:18.80ID:yXtY+D7s0
なる
695デフォルトの名無しさん (アウアウエー Sa6a-WAKu)
2020/04/28(火) 18:07:23.24ID:e3702+yfa
モヤモヤする…
?o となっているから、?の部分が文字化けのようでもあり
コマンドラインの o の前のハイフンがそれっぽくないようにも見えるし
696デフォルトの名無しさん (ワッチョイ 0a46-w3bp)
2020/04/28(火) 18:56:53.29ID:15/yEbjR0
>>695
それは >>684 で直ったみたい。
697デフォルトの名無しさん (アウアウエー Sa6a-WAKu)
2020/04/28(火) 19:01:58.68ID:e3702+yfa
>>696
たしかに後半はそう書いてありますね…

# ime で半角ハイフンに見える別の文字をと疑ってますがw
698デフォルトの名無しさん (ワッチョイ baa5-WHvH)
2020/04/28(火) 20:05:39.72ID:8JlwwrXC0
普通のハイフンに見える別文字だろう

どっかのサイトでコードとコマンドを丸々コピペ、
そのコピペしたコマンドに何故かノンブレーキングハイフンとかが含まれていた、あたり
699デフォルトの名無しさん (ワッチョイ bf1f-h83k)
2020/04/29(水) 04:32:11.62ID:5pVwrDle0
プリミティブ型が解放されるタイミングはいつですか?
例えば
int a = 0;
a = 1;
のコードでaのメモリは上書きされるのか別の場所に確保されるのか
それらは参照が切れるまでかまたはプログラムの終了かまで解放されないのか?

また、
for(int i = 0; 10 > i; i++)
だとiは10回確保されるのかもしくは1週ごとに上書きされて制御を抜けると解放されるのか?
お願いします
700◆QZaw55cn4c (CA 0Hcb-8vus)
2020/04/29(水) 04:40:50.47ID:WYuVLDSoH
>>699
>プリミティブ型が解放されるタイミングはいつですか?
>例えば
>int a = 0;
>a = 1;
>のコードでaのメモリは上書きされるのか別の場所に確保されるのか

プリミティブ型・構造体・共用体にかかわらず、static, extern をつけない auto 変数は、
その変数が定義されたスコープ { } から抜けると「解放される」ことになります
auto 変数はスタックに確保されるのが普通です、この場合は解放という言葉はちょっと意味が違ってきます

>for(int i = 0; 10 > i; i++)
>だとiは10回確保されるのかもしくは1週ごとに上書きされて制御を抜けると解放されるのか?

for() 文から抜けると i はスタックから外れます
701デフォルトの名無しさん (ワッチョイ 07b3-wl64)
2020/04/29(水) 05:43:54.19ID:6z2jvBCe0
スタックが普通でもないけど
702デフォルトの名無しさん (ワッチョイ e77b-kZrw)
2020/04/29(水) 06:35:41.63ID:8simRhZl0
for (int i = 0; 10 > i; i++) {
 /* i==0 から i==9 まで i はずっと同じ i */

 int n = 0; /* 「i==0 のときの n」と「i==1 のときの n」は別物 */
 ...
 /* n は「}の直前」で消滅 */
}
/* i は「}の直後」に消滅 */

こんな感じだったかね。
確保・解放と言うより、名前の同一性かも知れんけど。
703デフォルトの名無しさん (ワッチョイ df0e-ts7H)
2020/04/29(水) 07:34:06.20ID:kGpdE2MD0
今どきのコンパイラだとregister指定がないauto変数でもレジスタになってることがよくあるから
メモリを確保・解放しているとは限らないけど、そんな下らないことは考えなくても
変数の存在期間がスコープに合わせて階層的になっていることは
スタックを使って実現しているであろうと想像するのが最も無理がない

昔のメインフレームみたいな、ひねくれた実装で考えたいやつは勝手にしろってやつ
704デフォルトの名無しさん (ワッチョイ 07b3-wl64)
2020/04/29(水) 08:17:54.33ID:6z2jvBCe0
何を使って実現してるとか考える必要はないと思うけど
コストだけ知ってれば
705デフォルトの名無しさん (ワッチョイ df0e-ts7H)
2020/04/29(水) 08:59:54.99ID:kGpdE2MD0
いきなり何nsとだけ言われても
そこから応用が全く利かないだろうが
706デフォルトの名無しさん (ワッチョイ a7f9-h83k)
2020/04/29(水) 09:07:16.86ID:skx4o1Ma0
>>700
「スコープ」は名前の有効範囲で静的・ソースコード上のことで
動的・実行時のことなら「ブロック」というべきじゃないかな
707デフォルトの名無しさん (ワッチョイ df12-PmSV)
2020/04/29(水) 09:45:29.84ID:504Vu0b/0
流石に釣りだろ
毎回確保してたらなんでforループが回るんだよ
javaのintegerオブジェクトみたいな話ならわかるがメモリそのまま使ってんだからさ
708デフォルトの名無しさん (ワッチョイ df60-ts7H)
2020/04/29(水) 09:54:13.18ID:U7o9KgzC0
>>706
ISO C 規格より引用。
> ... There are four kinds of scopes: function, file, block, and function prototype. ...
同じく:
> A block allows a set of declarations and statements to be grouped into one syntactic unit.

少なくともCではそんな区別は無いね。
709デフォルトの名無しさん (ワッチョイ a7f9-h83k)
2020/04/29(水) 14:26:19.40ID:skx4o1Ma0
>>708
それ、
>「スコープ」は名前の有効範囲で静的・ソースコード上のこと
を肯定してるように読めるよ
710デフォルトの名無しさん (ワッチョイ e710-7QW2)
2020/04/29(水) 15:34:59.85ID:9HSaf6AX0
関係ないが、iが10個確保されるという考え方は面白いな
ループを再帰で書いたような感じか
711デフォルトの名無しさん (ワッチョイ e7ca-Rrpt)
2020/04/29(水) 15:52:26.64ID:p4QkWxoM0
アセンブラをちょっとやるとそこら辺の迷いも無くなるしポインタが何なのかってこともよく分かるんだが、
いかんせん最近のPCは規模が大きすぎてアセンブラでちょっと何かやるのには適さないからなぁ
712デフォルトの名無しさん (ワッチョイ 7f46-rZIF)
2020/04/29(水) 15:58:07.06ID:19JAw+bw0
代入の度に左辺変数が新規作成される言語無かったっけ。Python?
713デフォルトの名無しさん (ドコグロ MM9f-kuXe)
2020/04/29(水) 15:59:47.38ID:ERu+PHi5M
>>709
そっちは正しいけど
> 動的・実行時のことなら「ブロック」というべきじゃないかな
がおかしいって話だろ
714デフォルトの名無しさん (ワッチョイ a7e6-9ss0)
2020/04/29(水) 16:41:13.25ID:CC6TnmVU0
昔はアドレスレジスタとデータレジスタで簡単に説明できたし、コンパイルして「ほらね」と言う説明もできた
今はその辺が難しい
715デフォルトの名無しさん (ワッチョイ 7f69-mIzA)
2020/04/29(水) 17:38:44.58ID:AWau/KJM0
どう実装されるかは最適化含めて色々あるからなんとなくこんなもん程度で
716デフォルトの名無しさん (ワッチョイ 07b3-wl64)
2020/04/29(水) 17:43:06.84ID:6z2jvBCe0
>>710
OpenMPやSIMDによる並列化を使えば10個くらい同時に出来る
717デフォルトの名無しさん (ワッチョイ a7f9-h83k)
2020/04/29(水) 18:21:25.20ID:skx4o1Ma0
>>713
>708の引用がそれを否定してるようにも読めない
718デフォルトの名無しさん (ワッチョイ df60-ts7H)
2020/04/29(水) 18:55:17.87ID:U7o9KgzC0
>>717
引用足しとくね。
> A compound statement is a block.
...
> A selection statement is a block whose scope is a strict subset of the scope of its enclosing block. ...
...
> An iteration statement is a block whose scope is a strict subset of the scope of its enclosing block. ...

こんな感じで、ソースコード上の文に対応する概念でスコープ(静的・ソースコード上のこと)を
成すものの一種であるから、これが「動的・実行時のこと」というようなことはありえない。
719デフォルトの名無しさん (ドコグロ MMeb-kuXe)
2020/04/29(水) 18:55:54.46ID:aNqmXzgwM
>>717
そりゃアホな内容をいちいち否定してたらキリないからな
720デフォルトの名無しさん (ワッチョイ a7f9-h83k)
2020/04/29(水) 21:14:04.28ID:skx4o1Ma0
>>718
足してくれても情報量増えてないね
ブロックがスコープの一種であることはわかった(ってかそれを否定してない)けど、
それ以上のことは言ってない

「自動変数の寿命はスコープ(=関数、ファイル、ブロック、関数宣言)を抜けたら尽きる」
より
「自動変数の寿命はブロックを抜けたら尽きる」
でよくないか?

>>719
ID:U7o9KgzC0さんはそのキリないことをしてくれてるみたいだし
お前もしようとしてるんじゃないの??
721蟻人間 ◆T6xkBnTXz7B0 (スフッ Sdff-wyJ8)
2020/04/29(水) 21:22:07.90ID:EqfxCPAQd
自動変数はレジスタ割り当てにより記憶領域が再利用されることかある訳だし、最適化で変数自体が消える可能性もあり得る。
722デフォルトの名無しさん (ワッチョイ df52-dhD/)
2020/04/29(水) 23:20:52.24ID:EKyVvulT0
>>720
スコープという概念が初心者にとって馴染みがなく伝わりにくいから構文の要素として目に見えて理解しやすいブロックと言い換えて説明する、というなら理解できる。
しかし、発端の>>706で言っているスコープは静的・ソース上のこと、動的・実行時にはブロックという理解は頓珍漢だと思うぞ。
723デフォルトの名無しさん (ワッチョイ df60-ts7H)
2020/04/29(水) 23:25:04.77ID:U7o9KgzC0
>>720
>706 で言ってるような違いは無くてどっちでも同じ意味になると理解してくれたらないいんだけど、
その言い換えを改めて推してくるとなると何か誤解がありそうな気がする。

ブロックに言い換えることで何がよくなるのか、あるいはスコープだと何がよくないのか、言える?
724デフォルトの名無しさん (アウアウエー Sa9f-kSwD)
2020/04/29(水) 23:58:02.35ID:uCKNv2Kba
>>699
言葉遣いや着眼点と、分からないことがアンバランスだなぁ〜
725720 (ワッチョイ a7f9-h83k)
2020/04/30(木) 00:42:18.37ID:hNg1W2hQ0
「スコープは名前の有効範囲で静的・ソースコード上のこと」は正しいと認めてもらえたと思っていいのかな
それを「自動変数の寿命」という動的・実行時のことに使うのが気に入らない
ファイルスコープという関係無いことも含んじゃうじゃないか
726デフォルトの名無しさん (ワッチョイ df60-ts7H)
2020/04/30(木) 01:17:57.08ID:WifEy9Hu0
>>725
> 「スコープは名前の有効範囲で静的・ソースコード上のこと」は正しいと認めてもらえたと思っていいのかな

それはそう。そしてその点についてブロックも変わらないと言っている。

自動変数の寿命に関する規格の言い回しはこんな感じ。
> ... its lifetime extends from ... until execution of that block ends in any way. ...
...
> ... its lifetime extends from ... until execution of the program leaves the scope of the declaration. ...

「ブロックの実行が終わったら」「プログラムの実行がスコープを出たら」などと定めている。
特に誤解の余地も無いかと。
727デフォルトの名無しさん (ドコグロ MM9f-kuXe)
2020/04/30(木) 08:18:03.97ID:1K8TO0XxM
>>725
> 「スコープは名前の有効範囲で静的・ソースコード上のこと」は正しいと認めてもらえたと思っていいのかな
それに反対して奴なんていないだろ

> 動的・実行時のことなら「ブロック」というべきじゃないかな
が頓珍漢だって言われてるだけ
728デフォルトの名無しさん (ワッチョイ df52-dhD/)
2020/04/30(木) 08:50:53.47ID:WdGtAJJk0
>>725
局所変数(自動変数とstatic局所変数)のスコープは関数とブロックなのだから、ファイルスコープが入るからおかしいという理屈は的はずれだろう。
で、局所変数である自動変数とstatic局所変数の違いが、スコープから出たときに生存期間が終わるかどうかということなのだから、自動変換の生存期間としてスコープを出たらというのはごく自然なことだと思うぞ。
729デフォルトの名無しさん (ワッチョイ 7fd2-ts7H)
2020/04/30(木) 12:23:16.18ID:SRUQMA9G0
蚊帳の外の住人「それ知ってなんの役に立つの?自分でコンパイラでも作るの?」
730デフォルトの名無しさん (ワッチョイ e701-h83k)
2020/04/30(木) 18:49:14.38ID:889RNOPY0
コード書くのに何処まで生きているかだけを意思しとけばいいし
731デフォルトの名無しさん (ワッチョイ 07b3-wl64)
2020/04/30(木) 18:54:36.66ID:BmbmhQuP0
デストラクタもないし
732デフォルトの名無しさん (ドコグロ MMff-kuXe)
2020/04/30(木) 20:01:49.37ID:C2m9eJq7M
>>729
さすがにスコープと生存期間ぐらいは把握してなきゃコード書けんだろ
733デフォルトの名無しさん (ワッチョイ 07b3-wl64)
2020/04/30(木) 20:26:12.67ID:BmbmhQuP0
コードを書くための知識はある
厳密な言葉の定義が論点
734デフォルトの名無しさん (ワッチョイ a7f9-h83k)
2020/04/30(木) 21:11:49.19ID:hNg1W2hQ0
>>726
引用ありがとう
規格にそれがあるなら納得するしかないな

>>728
静的なことと動的なことの区別がついていないように感じてしまう
俺が気に入らないってだけのことなんだ、すまんかったね
735デフォルトの名無しさん (ワッチョイ df0e-ts7H)
2020/05/01(金) 07:10:40.17ID:9yUywlA00
解放のタイミングが保証されているのではなく
存在の保証が切れるタイミングが規定されているわけだ
736デフォルトの名無しさん (アウアウエー Sa9f-ur4w)
2020/05/01(金) 09:05:45.71ID:k2YlXFh6a
面倒なのは同じ用語でも言語によって定義とか意味が違うことだな
737デフォルトの名無しさん (ワッチョイ 7f69-mIzA)
2020/05/01(金) 09:13:25.69ID:szy0v2+r0
実装する側の自由度を持たせるために >>735 みたいな規定になるんだろう
738デフォルトの名無しさん (ワッチョイ 7fd2-ts7H)
2020/05/01(金) 09:42:08.95ID:M7Vhg9zM0
次はmalloc&free問題ですか?
739デフォルトの名無しさん (ワッチョイ a7e6-9ss0)
2020/05/01(金) 12:13:03.23ID:qAMe7KCB0
それは考え方としては分かりやすい
740デフォルトの名無しさん (ワッチョイ 07b3-wl64)
2020/05/01(金) 17:40:11.58ID:DtDCGOpK0
>>737
保証されてないし実際違う
741デフォルトの名無しさん (ワッチョイ df0e-ts7H)
2020/05/01(金) 20:59:04.90ID:9yUywlA00
>>740
まるでおまえさんの脳味噌だなw
742デフォルトの名無しさん (ワッチョイ 07b3-wl64)
2020/05/01(金) 21:00:09.83ID:DtDCGOpK0
おれの脳味噌は良い方だと思う
743デフォルトの名無しさん (ワッチョイ 07b3-wl64)
2020/05/01(金) 21:00:54.26ID:DtDCGOpK0
大学出てるし
744デフォルトの名無しさん (ワッチョイ 07b3-wl64)
2020/05/01(金) 21:02:34.98ID:DtDCGOpK0
>>741みたいな中卒とは違う
745デフォルトの名無しさん (ワッチョイ df0e-ts7H)
2020/05/01(金) 21:36:47.12ID:9yUywlA00
>>744
ここCスレだよ?
ISO/IEC9899に学歴制限書いてあるように見えたの?
それともアホなの? バカなの? 不細工馬鹿童貞なの?
中学生は生えたかどうか、高校生は剥けたかどうか、大学生はヤッたかどうかが下ネタだけど
3連敗してて、ねえ今どんな気持ち?
746デフォルトの名無しさん (ワッチョイ df0e-ts7H)
2020/05/01(金) 21:40:45.08ID:9yUywlA00
次は院だねえ
仕事見つかるかどうかで4連敗ほぼ確定だろwwwwwwww
747デフォルトの名無しさん (ワッチョイ 07b3-wl64)
2020/05/01(金) 21:41:59.19ID:DtDCGOpK0
さわっちゃいけないヤツだった
748デフォルトの名無しさん (ワッチョイ df0e-ts7H)
2020/05/01(金) 21:44:03.26ID:9yUywlA00
図星しすぎたね、ごめんねーwwww
749デフォルトの名無しさん (ワッチョイ df0e-ts7H)
2020/05/01(金) 21:47:34.08ID:9yUywlA00
尻尾巻くなら端っから喧嘩売るなよクズ
750◆QZaw55cn4c (ワッチョイ 4798-8vus)
2020/05/01(金) 21:50:44.92ID:Mnds36v/0
>>747
触って触って!!
751デフォルトの名無しさん (ワッチョイ df0e-ts7H)
2020/05/01(金) 21:51:48.94ID:9yUywlA00
学歴がどうしたって? オラ出てこい!
752デフォルトの名無しさん (ワッチョイ df0e-ts7H)
2020/05/01(金) 21:55:39.98ID:9yUywlA00
ネットで発言するにあたっての注意事項を
絶望的に知らねえど初心者か

バカッターの類だな
753デフォルトの名無しさん (ワッチョイ df1e-UKGB)
2020/05/02(土) 08:39:17.16ID:jX0/TiVk0
これ、どう思う?
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13224055453

何を検証したいのかをなぜ誰も問わないのか。
そして、何を検証したいのだとしても自分で memcpy を書く必要は無いと思うのだが。
754デフォルトの名無しさん (ワッチョイ 07b3-wl64)
2020/05/02(土) 09:03:38.50ID:al5W2dBm0
なんで状況を何も知らない状況で不要と判断出来るの?
755デフォルトの名無しさん (ワッチョイ df52-dhD/)
2020/05/02(土) 10:13:13.80ID:JIdmGKfZ0
>>753
質問者が理由を明確に書いてるのに読めないのか?
756デフォルトの名無しさん (ワッチョイ dfad-G4G7)
2020/05/02(土) 13:48:44.85ID:HrddHHvE0
>>753
何とも思わない。
757デフォルトの名無しさん (ドコグロ MM9f-kuXe)
2020/05/02(土) 14:08:39.54ID:ynh75MXgM
>>753
memcpyとかはコンパイラがインラインで展開したりすることあるからなかなか難しいことやってるな
って言う感想です
758デフォルトの名無しさん (ブーイモ MMcf-foD7)
2020/05/02(土) 14:11:46.01ID:DE/iTFA0M
メムカピ
759デフォルトの名無しさん (JP 0H9f-r+sk)
2020/05/02(土) 14:28:28.96ID:WcFHKfxWH
simulationライブラリで純粋な関数式プログラミングをする
http://x0000.net/topic.aspx?id=3631-0

UIライブラリ (C#, 2D) を作ったよ
http://x0000.net/topic.aspx?id=3688-0

連続と離散を統一した!
http://x0000.net/topic.aspx?id=3709-0

4Dエンジン
http://x0000.net/topic.aspx?id=3677-0

matrixのライブラリ
http://x0000.net/topic.aspx?id=3711-0

ある強力なFor関数
http://x0000.net/topic.aspx?id=3630-0

SQLライブラリ
http://x0000.net/topic.aspx?id=3675-0
760デフォルトの名無しさん (ワッチョイ df0e-ts7H)
2020/05/02(土) 14:38:25.17ID:rikTYdqt0
主がキモい個人サイトいらね
761デフォルトの名無しさん (ワッチョイ df1e-UKGB)
2020/05/02(土) 17:42:33.39ID:jX0/TiVk0
解りにくかったのなら申し訳ない。
ログ出力をしてから memcpy を呼ぶんじゃだめなのかなってことなんだけど。
当人はログ出力によって何かを検証するのが目的なわけで
動作が変わってしまうかもしれないというリスクを冒してまで
memcpy を書きたいようには見えない。
もちろん、書きたければ書けばいいが、それは当人に聞いてみなきゃ判らない。
そういう確認もなく、なぜ回答が memcpy を書く方向なのかなと。
まあ、自分で回答する気はないんだけどね。
762デフォルトの名無しさん (ワッチョイ df52-dhD/)
2020/05/02(土) 17:51:23.03ID:JIdmGKfZ0
>>761
膨大なソースのmemcpy使用箇所のすべてにログ出力処理を埋め込む方が、自作のmemcpyに置き換えるよりも遥かにバグを埋め込むリスクが高いだろう。
763デフォルトの名無しさん (ワッチョイ 6763-rsUV)
2020/05/02(土) 18:09:51.27ID:nvl/jQk10
規模によるけど1万ファイル越えとか想像してみ?
その規模で全部のmemcpyをちゃんとログ付き自作関数に置き換えられたか?なんて考えたくない
764デフォルトの名無しさん (ドコグロ MMff-4Orb)
2020/05/02(土) 19:41:25.20ID:UokhlAwkM
>>761
> もちろん、書きたければ書けばいいが、それは当人に聞いてみなきゃ判らない。
当人が「ライブラリ関数memcpyを自作の関数に変更したいと考えています。」って書いてるのに何を言ってるんだよ
恥の上塗りしすぎw
765デフォルトの名無しさん (ワッチョイ e7ca-Rrpt)
2020/05/02(土) 20:25:23.36ID:tgfrYhqy0
デバッガがやってるような技術で memcpy をフックできないもんかね。
そういうツールとか無いんかな。
766デフォルトの名無しさん (アウアウエー Sa9f-kSwD)
2020/05/02(土) 20:30:45.84ID:SkwzP24ja
マクロで置き換えちゃう?
767デフォルトの名無しさん (ワッチョイ 07b3-wl64)
2020/05/02(土) 20:41:48.88ID:al5W2dBm0
>>765
memcpy全てが素直に1個の関数になってたらいろいろと手はあるけど
そうじゃないからねえ
768デフォルトの名無しさん (ドコグロ MM9f-4Orb)
2020/05/02(土) 20:52:43.50ID:msFe1SpIM
>>765
動的に置き換えたいってこと?
>>757にも書いたようにインライン展開されるケースとかにまで対応しようと思ったらすげー大変な気がする
769デフォルトの名無しさん (ワッチョイ e701-6yIX)
2020/05/02(土) 21:14:36.58ID:CjZAdjNx0
システムヘッダファイルの配置先フォルダの設定を変更する
770デフォルトの名無しさん (ワッチョイ bf8c-Sf3c)
2020/05/03(日) 06:15:32.58ID:IR/jNgkc0
GNUライセンシーを回避しようとしても下層のライブラリ呼び出しでバレてしまう。
771デフォルトの名無しさん (ワッチョイ dfc5-h83k)
2020/05/03(日) 15:03:38.89ID:TPvygFvF0
関数の引数を構造体で抽象化してるんですが、速度的に問題になる場合ってあるのでしょうか?
抽象化というのは↓のような構造体を

struct args {
int a; // func1の引数
int b; // func2の引数
};

複数の関数に渡します

void func1(struct args *args) { args->a += 1; }
void func2(struct args *args) { args->b += 1; }

呼び出す時は一時オブジェクトで渡します

func1(&(struct args){ .a = 1 });
func2(&(struct args){ .b = 2 });

構造体のメンバが増えると一時オブジェクトの作成に時間がかかるようになって、
func1やfunc2などの関数が沢山呼ばれた場合に重くなるんじゃないかと心配してます
772デフォルトの名無しさん (ワッチョイ dff8-gylr)
2020/05/03(日) 15:24:56.30ID:D9VxT7Mz0
スタックポインタ加減算するだけだから大したことないだろうけど、心配なら測定したら?
773デフォルトの名無しさん (ワッチョイ e701-h83k)
2020/05/03(日) 15:38:01.56ID:9RS4MG9F0
どうしても気になるんなら union にしときゃいい

union args {
struct { int a,b,c, … } forA;
struct { double A,B,C, … } forB;
 …
struct { int a,b,c, … } forZ;
};

void func1(union args *args) { args->forA.a += 1; }
void func2(union args *args) { args->forB.A += 1; }
774デフォルトの名無しさん (ワッチョイ dfc5-h83k)
2020/05/03(日) 15:44:14.80ID:TPvygFvF0
>>772
やっぱり測定するしかないですかね

>>773
なるほど
共用体使えば節約できますね

とりあえず気にしない方向でいきますm(_ _)m
775デフォルトの名無しさん (ワッチョイ e7ca-Rrpt)
2020/05/03(日) 20:50:14.66ID:YCnT8Ic+0
>>771
値のレジスタ渡しをしなくなるから、遅くなると言えば遅くなる。
776デフォルトの名無しさん (アウアウエー Sa9f-kSwD)
2020/05/03(日) 21:01:09.61ID:VoACNqTya
>>771 の↓の書き方はいつからできるようになったのですか?

>func1(&(struct args){ .a = 1 });

こういうのはC++に任せといてもらいたいなぁ…
777デフォルトの名無しさん (アウアウエー Sa9f-kSwD)
2020/05/03(日) 21:10:45.99ID:VoACNqTya
スレ汚しですみません、>>776 です
ググりなおしたら分かりました
C99 からなんですね
778デフォルトの名無しさん (ブーイモ MMcf-oXVp)
2020/05/03(日) 22:27:02.54ID:oqZmrKinM
逆にC++では出来なかったりするのだ
779入門者 (ワッチョイ dfad-D935)
2020/05/04(月) 03:08:12.32ID:fONA7GYV0
Win32APIを学びたいと思ってて
その前にCかC++を学ばなきゃいけないみたいなのですが
どっちを選んでも同じようにWIN32APIが使えるのでしょうか?
プログラミング経験自体ほぼないです

http://wisdom.sakura.ne.jp/system/winapi/win32/index.html
780デフォルトの名無しさん (ワッチョイ a7f9-h83k)
2020/05/04(月) 03:57:58.15ID:aRLx0l420
>>779
うん、どっちでも同じように使える
Win32APIのインターフェースはCで、C++はかなり上位互換なので
だからC++じゃないCでやる意味はあまりないよ

そこだいぶ古いなぁと思ったら、新しいところに移行してるじゃん
http://www.wisdomsoft.jp/
でもやっぱり古いね

猫でもの方がまだちょっと新しい分マシかも
http://www.kumei.ne.jp/c_lang/
781デフォルトの名無しさん (ワッチョイ dfad-D935)
2020/05/04(月) 04:23:31.56ID:fONA7GYV0
>>780
わかりました。難しいことは全く分かりませんが
同じように使えるとお聞きし、安心しました!
教えていただきありがとうございます。
782デフォルトの名無しさん (ワッチョイ dfc5-h83k)
2020/05/04(月) 06:41:41.63ID:89CdWSZ70
>>775
一時オブジェクトではなくて引数の構造体を使いまわした場合は構造体のほうが早いのでしょうか?

struct args args = { .a=0, .b=1, .c=2 };
func1(&args);
func2(&args);

func1(0, 1, 2);
func2(3, 4, 5);
783デフォルトの名無しさん (ワッチョイ 07b3-wl64)
2020/05/04(月) 06:44:52.23ID:nMCshN110
興味があるなら
コンパイルの結果と測定結果を自分で見ると良い
784デフォルトの名無しさん (ワッチョイ dfc5-h83k)
2020/05/04(月) 07:11:51.47ID:89CdWSZ70
はい
アセンブラ勉強しないといけないみたいですね
785デフォルトの名無しさん (ワッチョイ dfc5-h83k)
2020/05/04(月) 07:25:22.71ID:89CdWSZ70
>>782
すみません、これは自分で計測してみることにします
どうもありがとうございましたm(_ _)m
786デフォルトの名無しさん (アウアウエー Sa9f-ur4w)
2020/05/04(月) 10:51:06.23ID:mShckTAJa
>>779
Win32API を使いたいだけなら
むしろ C++ 知らない方が良い
C からやれ
http://2chb.net/r/tech/1588339011/
787デフォルトの名無しさん (ワッチョイ 2701-tcyL)
2020/05/04(月) 11:06:11.52ID:XxHrn+6R0
win32apiを学びたいのは何でなんだろう
788デフォルトの名無しさん (ワッチョイ df0e-ts7H)
2020/05/04(月) 11:09:31.13ID:/zUHO7E00
余計なことを言ってやる気なくさせるな
とっかかりは何だっていいんだよ
789デフォルトの名無しさん (アウアウエー Sa9f-ur4w)
2020/05/04(月) 11:12:33.82ID:mShckTAJa
C も C++ も経験ないからどっちが良いかって聴かれて
C が良いって言っただけなのに

なんでお前がやる気を無くす必要があるんだ?
790デフォルトの名無しさん (ワッチョイ df0e-ts7H)
2020/05/04(月) 12:14:31.76ID:/zUHO7E00
>>789
そのとおりだよ
あんたのことじゃない
791デフォルトの名無しさん (ワッチョイ 7f46-rZIF)
2020/05/04(月) 12:40:32.82ID:GWxjhlJ10
>>789
> C も C++ も経験ないからどっちが良いかって聴かれて

そういう質問ではない。

>>779
>>789 は Win32API のコード例が何で書かれてあるかといったことをまるきり勘案していないようなので、無視していい。
792デフォルトの名無しさん (ワッチョイ df0e-ts7H)
2020/05/04(月) 12:54:09.43ID:/zUHO7E00
M$のチュートリアルはわかってる人をも混乱させるクオリティだからなあ
「猫でもわかる」はCだね
http://www.kumei.ne.jp/c_lang/index_sdk.html
793デフォルトの名無しさん (ワッチョイ e763-ts7H)
2020/05/04(月) 12:54:38.34ID:GsKQPEDp0
C言語用に書かれたコード例って見つけるのが大変かも
794デフォルトの名無しさん (ドコグロ MM3b-4Orb)
2020/05/04(月) 13:08:36.01ID:oicr5OD+M
いまさらCを勧める理由がわからん
795デフォルトの名無しさん (ドコグロ MMeb-4Orb)
2020/05/04(月) 13:12:22.44ID:8bo0chxSM
>>792
> 「猫でもわかる」はCだね
C++のクラスとかを使ってないだけ
そもそもサンプルコードのファイル名はsample01.cppとかだからC++としてビルドしてるし
796デフォルトの名無しさん (JP 0H9f-r+sk)
2020/05/04(月) 16:02:52.28ID:VPxf0TWkH
simulationライブラリで純粋な関数式プログラミングをする
http://x0000.net/topic.aspx?id=3631-0

UIライブラリ (C#, 2D) を作ったよ
http://x0000.net/topic.aspx?id=3688-0

連続と離散を統一した!
http://x0000.net/topic.aspx?id=3709-0

4Dエンジン
http://x0000.net/topic.aspx?id=3677-0

matrixのライブラリ
http://x0000.net/topic.aspx?id=3711-0

ある強力なFor関数
http://x0000.net/topic.aspx?id=3630-0

SQLライブラリ
http://x0000.net/topic.aspx?id=3675-0
797デフォルトの名無しさん (ワッチョイ e7ca-Rrpt)
2020/05/04(月) 16:41:52.22ID:7/M++IMa0
>>782
一時オブジェクトかどうかじゃなく、関数の引数の型によって内部的な関数の呼び出し方(というか引数の渡し方)が変わる。
int の値のなんかだとスタックに詰まずレジスタで渡す高速な呼び出し方になったりするが、
構造体ポインタ渡しだとポインタそのももはレジスタで渡されても実際の値はポインタ経由のメモリアクセスにならざるを得ないから、理屈の上では遅くなる。
798デフォルトの名無しさん (ワッチョイ dfc5-h83k)
2020/05/04(月) 18:17:25.07ID:89CdWSZ70
>>797
計測してみたら仰るとおりでした
一番早いのが普通の引数で、ポインタ渡ししてメンバに代入とかすると遅くなりました
ポインタアクセスって遅いんですね
799デフォルトの名無しさん (ワッチョイ df47-ts7H)
2020/05/04(月) 18:27:04.51ID:Fiop0J3e0
>>798
その計測、最適化有効にして比べてる?
最適化すればそんな大きな差が出る話だと思ってなかったんで、気になる。
800デフォルトの名無しさん (ワッチョイ dfc5-h83k)
2020/05/04(月) 18:35:18.11ID:89CdWSZ70
>>799
-O3だとみんな同じと言うか0秒になって差がわかりませんw
801デフォルトの名無しさん (ワッチョイ df52-dhD/)
2020/05/04(月) 19:20:21.44ID:xCaPkE7P0
>>800
それが正解。最適化されたら検知できないほどの差しかないから通常は気にする必要ないよ。
802デフォルトの名無しさん (ワッチョイ 07b3-wl64)
2020/05/04(月) 19:26:17.85ID:nMCshN110
差が大きいか小さいかなんて中身によるだろ

ほとんど何もしない関数で
関数として実装されて
ループの中にあれば
差が大きいこともある

構造体の方が速い事もあるし
直接の方が速い事もある

とりあえずはきれいなコードで作っておいて
パフォーマンスが問題だとわかった時点で対策すれば良い
おそらく今回の部分は99.99%気にしなくて良い
803デフォルトの名無しさん (ワッチョイ 07b3-wl64)
2020/05/04(月) 19:30:22.69ID:nMCshN110
非常に短時間の測定は
x86ならTSCレジスタで測るのが良い
非常に軽く非常に分解能が高い

QPCもTSCから計算して求めている
804デフォルトの名無しさん (ワッチョイ 07b3-wl64)
2020/05/04(月) 19:34:24.84ID:nMCshN110
同じコードでも周りのコードによって時間が大幅に変わる事があるので注意

例えば関数がインライン展開されてたものが
全然関係ない所からのコールが追加されただけで
関数コールに変わったりする

また、
結果を使わないただの時間測定コードだと
関数コール自体消される事も良くある
805デフォルトの名無しさん (ワッチョイ e7ca-Rrpt)
2020/05/04(月) 21:14:13.28ID:7/M++IMa0
最適化しててもアセンブラソース吐かせて比べてみると勉強になると思う。
いやむしろ最適化してる時こそアセンブラソース吐かせて確認するのがいいかも。
勝手にインラインになってたり処理が省略されたりするしね。
806デフォルトの名無しさん (スフッ Sdff-h83k)
2020/05/04(月) 21:45:58.62ID:GSMTfSohd
最適化なしでリリースすることはあり得ないのだから
当然測定もチューニングも最適化オプション込みででやるべきだし
O0オプションで吐いたアセンブラなんて見ても無意味
807デフォルトの名無しさん (ワッチョイ 07b3-wl64)
2020/05/04(月) 22:01:22.81ID:nMCshN110
一般的な話をすると
最適化無しでリリースする事はあるけど

パフォーマンスが重要であれば無いだろうねえ
808デフォルトの名無しさん (ワッチョイ e7ca-Rrpt)
2020/05/04(月) 22:11:38.30ID:7/M++IMa0
あぁ、呼出規約についての勉強のつもりだったから最適化無しを想定したけど、
ベンチマークみたいなコード書いてるんだろうからそもそも処理が残ってるかの確認とかの意味で最適化時のを見た方がいいと書いた。
809デフォルトの名無しさん (ワッチョイ e7ca-Rrpt)
2020/05/04(月) 22:11:58.28ID:7/M++IMa0
あぁ、呼出規約についての勉強のつもりだったから最適化無しを想定したけど、
ベンチマークみたいなコード書いてるんだろうからそもそも処理が残ってるかの確認とかの意味で最適化時のを見た方がいいと書いた。
810デフォルトの名無しさん (ワッチョイ e7ca-Rrpt)
2020/05/04(月) 22:15:22.94ID:7/M++IMa0
ダブりすまん
811デフォルトの名無しさん (ワッチョイ 07b3-wl64)
2020/05/04(月) 22:17:04.56ID:nMCshN110
>>810
昔両親にそう言って謝ったことがある
812デフォルトの名無しさん (ワッチョイ e763-ts7H)
2020/05/04(月) 22:19:56.77ID:GsKQPEDp0
「書込失敗」ってでたときは、念のためリロードしてみた方がいい
813デフォルトの名無しさん (スップ Sd7f-rsUV)
2020/05/04(月) 22:45:06.74ID:OG81C0sgd
自分の業界じゃ最適化無しリリースなんて当たり前にしてるよ
多くは有りリリースだろうけど、無しがあり得ないなんてことは無い
814デフォルトの名無しさん (ワッチョイ 5fbd-NlPP)
2020/05/04(月) 22:55:41.14ID:nUxpSn1T0
初心者です。
ポインタの理解を深めるために、visual studioのデバッグで、変数の値をウォッチしています。

例えば、
FILE *src;
  fopen(〜10byteのファイルを開く〜)
fseek(fp, 0L, SEEK_END);
printf("%s は %ld byteです.\n",filename, ftell(fp));

こんな感じの命令をやった時に、*fpとかfpとか&fpの変数を観察してみたのですが、
値がピクリとも変化していないのに、ftell(fp)を使うとちゃんと10byteと表示されるのです。
fsekkの時点でfpは変化していると思いますが、どのようにウォッチすれば良いのでしょうか?
ftellはfpのなんの変数を見ているんでしょう…。。
815814 (ワッチョイ 5fbd-NlPP)
2020/05/04(月) 23:00:16.50ID:nUxpSn1T0
>>814
× FILE *src;
○ FILE *fp;
だめですね。ごめんなさい。
816◆QZaw55cn4c (NZ 0H9f-4Tsz)
2020/05/04(月) 23:15:21.86ID:7QD1dgDVH
>>814
FILE *fp はポインタですから、fp の指す位置は変化しません
fseek() で変化するのは、fp が指した先の領域(struct FILE 構造体)の中にあるパラメーターであって、fp 自体は変化せず同じ位置を指したままでいます。
817デフォルトの名無しさん (ワッチョイ df93-BhcZ)
2020/05/04(月) 23:19:51.78ID:FJ9kDVSL0
ポインタで詰まっている初学者ですが、皆様はどうやってポインタ勉強しましたか?
818デフォルトの名無しさん (ワッチョイ df47-ts7H)
2020/05/04(月) 23:20:08.53ID:Fiop0J3e0
>>814
FILE構造体が直接情報を持っているとは限らず、さらにポインタを多段に経由したり
OS管理のファイルハンドル・ファイルディスクリプタなどの先に情報がある可能性もある。

そもそも構造体メンバが規定されていないのでウォッチで何も見えなくても不思議は無いよ。
819デフォルトの名無しさん (ワッチョイ e763-ts7H)
2020/05/04(月) 23:22:46.58ID:GsKQPEDp0
インクルードファイルあさって、FILE構造体の中身を見てみると面白いよ
820デフォルトの名無しさん (ワッチョイ 5fbd-NlPP)
2020/05/04(月) 23:26:28.97ID:nUxpSn1T0
>>816
ありがとうございます。fp自体は変化してなかったのですね。
FILE構造体の中に現在値を示す変数があるのだと思い、fp.posみたいなことを試してみたのですが、
よくわかりませんでした。(_Placeholderとかいうのしかなさそうでした。)

struct FILE構造体の中身の値の変化を、ウォッチ機能で観察することは可能なんでしょうか?
821◆QZaw55cn4c (NZ 0H9f-4Tsz)
2020/05/04(月) 23:35:10.05ID:7QD1dgDVH
>>818
OS 側ファイルディスクリプタが FILE に記されることはあっても、
シーク位置を OS とで共有するのは難しいのではないでしょうか?
822デフォルトの名無しさん (ワッチョイ 5fbd-NlPP)
2020/05/04(月) 23:35:26.33ID:nUxpSn1T0
>>818
ありがとうございます。
もっと上位(OSレベル)でやり取りされてる情報であるから、下位(自作プログラムレベル)からでは観察できないってことですか…

>>819
ありがとうございます。
FILE構造体の中に、_ptr(現在値)や_base(先頭アドレス)があると聞きました。
なので、fp._ptrとかを試しましたが、何も見れませんでしたね。

自分で定義した構造体の中の変数は観察することができるのに、なんでFILE構造体の変数は観察できないんだって、
不思議に思ってました…。
823デフォルトの名無しさん (アウアウウー Saab-dhD/)
2020/05/04(月) 23:50:07.56ID:29dvD9qia
>>817
俺は以下のようなことを繰り返して段階的に複雑なケースを理解していったよ。
まずは入門書で基本的な概念を理解する。
実際にコードを書いて、様々な型の変数、配列、構造体やその要素に対して&演算子を適用してアドレス値を取り出して、対応する型のポインタに入れる。
ポインタが格納している値、ポインタが指している先に格納されている値をprintfで表示して確認する。
ポインタをインクリメント、デクリメントしたりしてポインタ自体の値の変化やポインタが指す先の値が何なのかを確認する。
一段階のポインタが理解できてきたらポインタのポインタなど多段階の間接参照を試してみる。ここでもまたポインタの演算を様々に試す。
値が予想とは異なるものだったり、型が違うとコンパイラに指摘されたりしたら、やはり絵を描いてどこがどう違っていたかを考えてみる。
何かを理解したら、更にここをこうしたらどうなるのかという疑問が色々沸いてくるのでそれらも逐一コードを書いて試していく。
慣れてくれば多次元だったりconstや関数ポインタなども含めて複雑にネストした宣言もシンプルなルールが再帰的に組み合わせただけのものというのが腑に落ちて理解できてくると思う。
824デフォルトの名無しさん (ワッチョイ e763-ts7H)
2020/05/04(月) 23:51:26.90ID:GsKQPEDp0
FILE構造体でアクセスした場合は、直接ファイルを操作するというよりも
バッファリングしたデータへのアクセスと考えた方が良いかも知れません

実際のファイルはファイルディスクリプタというOSの仕組みの中で操作してます
825デフォルトの名無しさん (ワッチョイ df47-ts7H)
2020/05/05(火) 00:00:06.80ID:3UIwTLmD0
>>821
lseek() で実装できるんじゃないの?何かダメな理由知ってるんなら教えて。
826デフォルトの名無しさん (ワッチョイ df52-dhD/)
2020/05/05(火) 00:00:45.59ID:J1ERvQ2q0
>>822
FILE構造体の内容は仕様で規定されていないから、使用するライブラリ等の実装で決められていてユーザ側が知ることはできないし知る必要もない物だよ。_ptrとかがあるという話も、とある実装ではそうなっているということ。
そもそものポインタの理解を深めるという目的なら、FILE構造体の中身はこれ以上深入りする必要はないね。
FILE構造体は初心者が真っ先に触れるものの一つだけどちょっと特殊な存在だね。
827デフォルトの名無しさん (ワッチョイ 7f61-IRNk)
2020/05/05(火) 00:06:58.87ID:NEWGqmtJ0
FILE構造体の中身は標準ライブラリの実装によって違うんだから深追いしても無駄なだけ
FILE *fp;はそもそもfopenで帰ってきたものを他のファイル操作関数に渡すだけの使い方しかしないんだからポインタを理解する教材に向いてない
828◆QZaw55cn4c (NZ 0H9f-4Tsz)
2020/05/05(火) 00:09:41.71ID:jNOFZ4L/H
>>825
lseek() の返り値を保存するんですね、返り値には気がつきませんでした
829デフォルトの名無しさん (ワッチョイ e77b-kZrw)
2020/05/05(火) 05:40:45.15ID:ifa9JNiv0
構造体 FILE は普通はポインタの形でしか使わないから
ユーザーが見るヘッダではopaqueかも知れないしね正ちゃん。

>>817
「ポインタ変数には“変数のアドレス”が記録される」っていう
素朴な理解でしばらく進められないかな。
&a は「変数aのアドレスを得る」
*p は「ポインタ変数pが指しているアドレスから内容を取り出す」
830デフォルトの名無しさん (ワッチョイ bf8c-Sf3c)
2020/05/05(火) 06:30:19.59ID:nQMNje/J0
初心者は最初にシェルスクリプトでプログラムを固めた方がいいよ。
831デフォルトの名無しさん (ワッチョイ df93-BhcZ)
2020/05/05(火) 07:21:12.68ID:H58nk9am0
823
829
830
みなさま、アドバイスどうもありがとうございます。
一個一個理解してスキルを身につけていきたいと思います。
832デフォルトの名無しさん (ワッチョイ c7e3-4AVG)
2020/05/05(火) 07:45:39.83ID:q3hMRGAJ0
コメント失礼します
年収200万、一年ごとに5%上がりさらに10万円あがる20年後の給料は?と言う問題と、2時間格闘したのですが全くわかりません。
whileを使って何度やってもエラーが出ます
833デフォルトの名無しさん (スップ Sd7f-rsUV)
2020/05/05(火) 07:51:08.70ID:77z9bUn/d
>>832
エラーの出るソースコードを見せてくれないと何もできないよ
834デフォルトの名無しさん (ワッチョイ 07b3-wl64)
2020/05/05(火) 07:54:39.70ID:rB6guZqB0
中学の数学の問題みたい
835デフォルトの名無しさん (ワッチョイ c7e3-NlPP)
2020/05/05(火) 08:38:22.00ID:q3hMRGAJ0
>>832
(repl):3: syntax error, unexpected '=', expecting end-of-input
x*1.05=+100000
こんなのが出ます
836デフォルトの名無しさん (ワッチョイ a7f9-h83k)
2020/05/05(火) 08:42:10.15ID:93R0w8QG0
普通にforでいいだろ、なんでwhile
whileでfor書けるけどさ
837デフォルトの名無しさん (スップ Sd7f-rsUV)
2020/05/05(火) 08:44:21.30ID:77z9bUn/d
>>835
x = x * 1.05 + 100000
って書くか
x *= 1.05
x += 100000
って2行で書くか

1行ではできない
838デフォルトの名無しさん (ワッチョイ 07b3-wl64)
2020/05/05(火) 08:45:28.28ID:rB6guZqB0
1行ではできない
の意味がわからん
839デフォルトの名無しさん (ワッチョイ a7f9-h83k)
2020/05/05(火) 08:50:35.47ID:93R0w8QG0
>>835
「=」という演算子は代入という動作をするものだ
変数aに(式)の値を代入したい場合
a = (式);
と書く
840デフォルトの名無しさん (ワッチョイ 07b3-wl64)
2020/05/05(火) 08:56:34.04ID:rB6guZqB0
どう考えてもネタと思うのだが
>>835の記述、考えられなくないか?

方程式にもなってないし
代入にしても意味的に>>832になってない
841デフォルトの名無しさん (ワッチョイ df79-h83k)
2020/05/05(火) 09:21:45.17ID:yvmW06JI0
亀だがみんなFILE構造体FILE構造体と呼んでるが
FILE型は構造体かどうかすら規定されてなかった記憶
842デフォルトの名無しさん (ワッチョイ df47-ts7H)
2020/05/05(火) 09:30:09.69ID:3UIwTLmD0
>>841 そうだね。規格見てきた。
> ... an object type capable of recording all the information needed to control a stream, including ...
843デフォルトの名無しさん (スップ Sd7f-rsUV)
2020/05/05(火) 09:53:01.97ID:77z9bUn/d
https://ideone.com/SwC3g6
スマホで書いたから見づらいのは許して
844デフォルトの名無しさん (ワッチョイ dff8-av+H)
2020/05/05(火) 12:43:31.47ID:IcOCoxT/0
自宅待機中の課題なんだろうけど、先が思いやられるな
845デフォルトの名無しさん (ワッチョイ c7e3-NlPP)
2020/05/05(火) 13:25:50.40ID:q3hMRGAJ0
>>843
わざわざ丁寧にありがとうございます!
846デフォルトの名無しさん (ワッチョイ dfa5-fzHW)
2020/05/05(火) 13:36:18.22ID:JDagEH9a0
FILEは紙テープ時代の仕様を引き摺ってるからね
しょうがないね
847デフォルトの名無しさん (ワッチョイ e7ca-Rrpt)
2020/05/05(火) 14:21:07.04ID:ZggaRwfV0
>>832
万円単位で
double answer = 200.0 * pow(1.05, 19) + 10.0;
848デフォルトの名無しさん (ワッチョイ 67da-QzNg)
2020/05/05(火) 14:38:54.54ID:Bvt0+Nbg0
>>847
その計算式だと毎年の10万が復利の枠外になってしまうのでは?
849デフォルトの名無しさん (ワッチョイ 67da-QzNg)
2020/05/05(火) 14:41:31.81ID:Bvt0+Nbg0
とうか10万が1年分しか反映されないな
850デフォルトの名無しさん (ワッチョイ e7ca-Rrpt)
2020/05/05(火) 14:54:18.83ID:ZggaRwfV0
>>848
あぁ、20年後に10万追加されるってことじゃないのか
851デフォルトの名無しさん (スップ Sd7f-rsUV)
2020/05/05(火) 15:04:19.69ID:77z9bUn/d
20年目ではなく20年後なのでpowするなら20じゃないと
852デフォルトの名無しさん (スプッッ Sd7f-wl64)
2020/05/05(火) 15:11:01.35ID:oj0p8Curd
おまいら中学生でも出来るぞ
853デフォルトの名無しさん (ワッチョイ 5fbd-NlPP)
2020/05/05(火) 18:12:23.92ID:ekADkGWO0
なぜ、fopenは"fp"でポインタ受け取り、fopen_sは"&fp"でポインタを受け取るのか分かりません。
定義?を見て、見極める方法はありますか?

fopen_sの定義に、引数として"FILE** pFile"を指定されているとこに、"&fp"が入るのは何故ですか?
他の命令でも*fp、fp、&fpのどれを入れるのか判断がつきません…。

<プログラム例>
FILE *fp
fp=fopen("aiueo.txt","rb");
fopen_s(&fp,"aiueo.txt","rb") …★

<fopenの定義>
errno_t fopen_s(
 FILE** pFile,
 const char *filename,
 *mode
);

語彙力が乏しいのでわかりにくくて大変申し訳ございません。
854蟻人間 ◆T6xkBnTXz7B0 (スフッ Sdff-wyJ8)
2020/05/05(火) 18:16:13.22ID:NHsraqIFd
fpの型はFILE*だよね。それに&をつけるとFILE**型になる。
855蟻人間 ◆T6xkBnTXz7B0 (スフッ Sdff-wyJ8)
2020/05/05(火) 18:20:26.43ID:NHsraqIFd
FILE**型の仮引数はFILE*型を受け取れる。FILE*の扱いは従来の入出力関数と同じ。
856デフォルトの名無しさん (ワッチョイ e701-h83k)
2020/05/05(火) 18:35:00.87ID:GarexHwt0
errorno 使わずに戻り値で異常を伝えるために & で受けてるのか
857デフォルトの名無しさん (ワッチョイ 5fbd-NlPP)
2020/05/05(火) 18:42:13.15ID:ekADkGWO0
>>854-855
ありがとうございます。
以下の理解でよろしいのでしょうか?

(1)変数FILE* fpの場合
・"*fp"(FILE型?)
・"fp"(FILE*型)
・"&fp"(FILE**型)

(2)変数FILE**fpの場合
・"**fp"(FILE型?)
・"*fp"(FILE*型)
・"fp"(FILE**型)
・"&fp"(FILE***型)

変数に付ける"*"の数を増やすと、逆に型の"*"が減るのはなんか気持ち悪いんですね…
858蟻人間 ◆T6xkBnTXz7B0 (スフッ Sdff-wyJ8)
2020/05/05(火) 18:48:36.63ID:NHsraqIFd
>>857
その通り。
859デフォルトの名無しさん (ワッチョイ 5fbd-NlPP)
2020/05/05(火) 20:26:30.94ID:ekADkGWO0
>>858
ありがとうございます。

型側と変数側で"*"を奪い合ってるイメージをすると覚えやすいかなと感じました。
int型:値そのものを入れるイメージ
int*型:値が格納されているアドレスを入れるイメージ(ポインタ)

int * p;
*p = 1; (1つしかない"*"を変数側に付けてしまったので、int型となり"*p"には値が入る。)
p=&hensu; (変数側に"*"を付けてないので、int*型となり、"p"にはアドレス番号が入る)
860デフォルトの名無しさん (ワッチョイ df52-dhD/)
2020/05/05(火) 20:48:34.53ID:J1ERvQ2q0
>>859
覚え方は色々あると思うけど、俺は以下の方法がオススメ。

int i; → iがint型の値になる。iはint型の変数。
int *p; → *pがint型の値になる。
つまりpは*を付けてint型の値になる、すなわちp自信はint型を指すポインタ (=pはint*型の変数。)
861デフォルトの名無しさん (ワッチョイ 2701-tcyL)
2020/05/05(火) 21:32:51.06ID:FuU+hT+R0
俺の覚え方はこうだな

&:メモリの位置(アドレス)を取り出す操作
*:メモリの位置に記録されている値を取り出す操作
型:値が格納されているメモリの幅を示す
  ※例えばint型は4バイトなのであるint型のポインターが0x0000を指していたら
   メモリの0x0000〜0x0031に格納されている値が対象となるデータ
   int型ポインターでなくchar型ポインターだとしたら
   メモリの0x0000〜0x0001に格納されている値が対象となるデータ
862デフォルトの名無しさん (ワッチョイ 2701-tcyL)
2020/05/05(火) 21:36:39.09ID:FuU+hT+R0
>>861
誤記った
誤)0x0000〜0x0031
正)0x0000〜0x0003
863デフォルトの名無しさん (ワッチョイ 2701-tcyL)
2020/05/05(火) 21:43:41.89ID:FuU+hT+R0
>>861
*については2つ意味があるとして覚えているわ(この認識が合ってるのかは分からん)

変数宣言時の*の意味:宣言した変数がポインターであることを示す
それ以外の*:メモリの位置に記録されている値を取り出す操作

ポインター:メモリの位置を保存するための変数
ダブルポインター:(ポインターの)メモリの位置を保存するための変数
トリプルポインター:(ダブルポインターの)メモリの位置を保存するための変数
・・・・以下略
864デフォルトの名無しさん (アウアウエー Sa9f-kSwD)
2020/05/05(火) 21:43:43.86ID:fevQ7qkha
fopen_s では、*fp を引数として参照渡ししてるからだよね、関数側で書き換えてもらうために
int i; を &i で参照で渡して、i を書き換えてもらうように、ポインタを渡して fopen_s で内容を書き換えてもらっている
865デフォルトの名無しさん (ワッチョイ e7ca-Rrpt)
2020/05/05(火) 22:05:47.08ID:ZggaRwfV0
ポインタの覚え方もさることながら、型の修飾もどうだったかすぐ忘れるw
値を指し示す const ポインタなのか、const な値を指し示すポインタなのか、その両方なのか、それらの書き分けするのに毎回 google に聞いてる。
多重ポインタとか関数ポインタとか volatile なんかも組み合わされてくると、書けはしてももはや読める自信が無いw
866デフォルトの名無しさん (ワッチョイ df0e-ts7H)
2020/05/05(火) 22:36:47.41ID:w8UzBWRO0
>>795
クラスを使ってないだけか?
テンプレートや無名共同体は使ってるか?
867デフォルトの名無しさん (ワッチョイ df0e-ts7H)
2020/05/05(火) 22:38:28.76ID:w8UzBWRO0
>>832
C関係ないから余所行きな
868デフォルトの名無しさん (ドコグロ MM1b-4Orb)
2020/05/05(火) 22:48:35.43ID:n0fzAd1LM
>>866
クラス「とか」な
普通に考えたらわかるだろ
869デフォルトの名無しさん (スッップ Sdff-7QW2)
2020/05/05(火) 23:47:03.47ID:gMlNnRrSd
なぜだか832が自動であぼーん
870デフォルトの名無しさん (ワッチョイ 6aad-48kr)
2020/05/06(水) 00:52:01.23ID:izcxg96Z0
>>822
FILE型についてはわざと中身を隠蔽していると思って良い。

オブジェクト指向の言語ならクラス変数が全てprivateになってるのと同じようなもの。で、そういう変数の読み書きは専用のメソッドを通して行う。
何故そうしているのかというと、外部から勝手に書き換えられたくないからだ。書き換えられると正常な動作を保証できなくなるということでもある。
871デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/06(水) 07:01:26.49ID:Ye566tnt0
>>868
いーや795で何が言いたいのかさっぱりわからん
揚げ足取りたかっただけか?

拡張子がcppでも内容的にCかどうか
あんたに聞いているんだ
答えてくれ
872デフォルトの名無しさん (ドコグロ MMbb-6mzC)
2020/05/06(水) 07:22:53.41ID:AY471CJRM
>>871
書いてある内容そのままだし別に理解できないならそのままでいいんじゃね?
Visual Studioは(既定の動作として)拡張子でC/C++を切替えるだけって話だし
873デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/06(水) 07:48:12.19ID:Ye566tnt0
>>872
書いてある内容そのままなら
http://www.kumei.ne.jp/c_lang/index_sdk.html
ここに書いてある内容のどこに
>>779がCではなくC++を憶えないと
理解できないコードがあるのか例示してくれ

失言ならとっとと引っ込めろ
逃げてる限り絶対に許さんぞ
874デフォルトの名無しさん (ワッチョイ 8a47-oySJ)
2020/05/06(水) 08:09:42.99ID:8YawtAIF0
> CではなくC++を憶えないと
・・・誰もそんなこと言ってなくね?こわいわ。
875デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/06(水) 08:14:38.70ID:Ye566tnt0
strcmp的な「言ってない」で逃げたいの見え見えだな
逃げればいいじゃん、嘲笑ってやるぜ
876蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd8a-cHSE)
2020/05/06(水) 08:22:59.32ID:P0iwnu8zd
コメントはC++スタイルだが、他に特にC++特有のものはなかった。
877蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd8a-cHSE)
2020/05/06(水) 08:24:53.54ID:P0iwnu8zd
ただ、無駄なキャスト(LPCSTR)が気になる。
878デフォルトの名無しさん (ワッチョイ 268c-Ds/W)
2020/05/06(水) 08:39:08.38ID:yZWcrGyp0
>>859
C言語で2次元配列を動的に割り当てる4つの方法
もお薦め
879◆QZaw55cn4c (ワッチョイ 66e9-EltK)
2020/05/06(水) 10:31:42.57ID:Jg+95xA+0
>>878
4 種類もあるのですか…
そのうちのひとつになるだろうのものは書いたことがあります
http://2chb.net/r/tech/1434079972/36
880デフォルトの名無しさん (アウアウエー Sae2-jgrQ)
2020/05/06(水) 11:10:31.35ID:q6Rk1GB6a
本来Cでは「二次元配列」と呼ばれないものまで
二次元配列の4種類!(キリっ)とか紹介するのは非常にまずいと思う
881デフォルトの名無しさん (ドコグロ MM22-6mzC)
2020/05/06(水) 15:21:29.55ID:+SMDQMnPM
>>875
strcmp的とかよくわからんし、
>>779がCではなくC++を憶えないと理解できないコードがあるのか例示してくれ
と言われてもそんなものがあるなんて誰も言ってないから「ないけど、それが何か?」で終わる話なんだけどw
882デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/06(水) 16:17:32.30ID:Ye566tnt0
>>881
では何故俺が792で「猫でもわかる」はCだと言ったことに対して
拡張子がcppだなどと絡んできた?

779 Win32APIを学ぶにはCとC++どっちを学ぶべき?
780 Win32APIはCだ(猫でものリンクを貼る)
786 むしろC++を知らないほうがいい、Cからやれ
795 「猫でもわかる」はCだ
796 C++のクラスを使ってない、拡張子はcppだ

この流れで「猫でもわかる」がC++だと主張してないとぬかすなら
アホは黙ってろ
883デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/06(水) 16:19:34.86ID:Ye566tnt0
自分の言葉に責任を持たない社会のクズは
このあと「それ、俺じゃない」とぬかす
884デフォルトの名無しさん (ドコグロ MM8a-6mzC)
2020/05/06(水) 18:37:10.19ID:UHy6F9xlM
>>882-883
> C++のクラスとかを使ってないだけ
> そもそもサンプルコードのファイル名はsample01.cppとかだからC++としてビルドしてるし
と言う「事実」を書いてるだけだよw
C/C++の両方でビルドできるコードの存在を知らんのか?
885デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/07(木) 06:50:59.58ID:Xvq6sZ7Q0
>>884
そうか、ではアホは黙ってろ
886デフォルトの名無しさん (ドコグロ MM22-6mzC)
2020/05/07(木) 07:26:49.56ID:MuxY24VvM
理解力のない>>885撃沈!
チーンw
887デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/07(木) 08:00:10.49ID:Xvq6sZ7Q0
黙ってろと言ったはずだ
端っから内容のないゴミレスして突っ込まれて
とぼけるしかなかったボーガスは身の程をわきまえろ
888デフォルトの名無しさん (ワッチョイ 3fb3-oFD5)
2020/05/07(木) 08:13:45.44ID:wkYaXeHy0
会話が噛み合わないのは両方の責任だと思う
889デフォルトの名無しさん (ドコグロ MMcf-6mzC)
2020/05/07(木) 08:27:14.54ID:mY1dxeUWM
自己紹介乙w
890デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/07(木) 08:31:41.78ID:Xvq6sZ7Q0
何も意図せずに「猫でもわかる」は拡張子がcppだと譫言をぬかすのは
ガキが何のボタンかわからんものを押しちまうのと同じ
自分が何をしでかしたか理解してない
891デフォルトの名無しさん (ドコグロ MM8a-6mzC)
2020/05/07(木) 09:19:09.13ID:85L7nIzNM
事実を指摘されて発狂
譫言言ってるのはお前だろw
892デフォルトの名無しさん (スッップ Sd8a-Sbo7)
2020/05/07(木) 09:30:29.84ID:iq2XxwEdd
x=f(x)で、f(x)が複雑でx=定数の形にするのが大変なんで、数値計算でxの値をだしたいんですが、いい方法は有りますでしょうか
893デフォルトの名無しさん (ワッチョイ 8a47-oySJ)
2020/05/07(木) 09:51:47.65ID:Bo7tbMN60
>>892 ↓こちらへどうぞ。
http://2chb.net/r/tech/1187922645/
894デフォルトの名無しさん (ワッチョイ 33f9-gIrT)
2020/05/07(木) 09:51:54.21ID:FGS63TE90
>>892
ニュートン・ラフソン法

x=f(x)は0=f(x)の間違いかな
895デフォルトの名無しさん (スッップ Sd8a-Sbo7)
2020/05/07(木) 10:22:21.57ID:iq2XxwEdd
>>894
ありがとうございます!
間違ってました笑
896デフォルトの名無しさん (ワッチョイ bb69-7oqX)
2020/05/07(木) 10:24:21.75ID:khGNNtcv0
f(x)=任意の数値 となる x を数値演算で探せ
g(x) = f(x) - 任意の数値 として g(x) = 0 となる x を数値演算で探す
※ 任意の数値が変数 x でも差しさわりはない f(x)-x = 0 となる x を探索する話に帰着

あとは >>894 の通り
ニュートン・ラプソン法なり 2分法なりで
897デフォルトの名無しさん (スプッッ Sd8a-oFD5)
2020/05/07(木) 10:28:56.33ID:PvsEcGe8d
解析的な解法
微分可能
連続性
全ての解が必要かどうか

などで最適な解法はいくらでも変わる

無条件でニュートン法を勧めるヤツはアホ
898デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/07(木) 10:32:32.77ID:Xvq6sZ7Q0
>>891
何を指摘されたんだ?
俺は「猫でもわかる」はCだと言った
おまえはCともC++とも言ってないんだろ
逃げ回るそのザマはまるでハエだなw
899デフォルトの名無しさん (ワッチョイ bb69-7oqX)
2020/05/07(木) 10:34:45.28ID:khGNNtcv0
あとは自分に見合ったのを探して で
900デフォルトの名無しさん (スプッッ Sd8a-oFD5)
2020/05/07(木) 10:35:33.37ID:PvsEcGe8d
>>890には多少同意するが
まあただの匿名掲示板だし
「しでかした」ってのも大袈裟

リアルだとかなり迷惑な存在なのは確か
話の流れを読まずに首を突っ込んで来るヤツ
901デフォルトの名無しさん (ドコグロ MMcf-6mzC)
2020/05/07(木) 10:55:03.14ID:jSOdmY17M
>>898
指摘内容すら理解できてないのかよ…
流石に恥ずかしくね?w

> クラスを使ってないだけか?
> テンプレートや無名共同体は使ってるか?

> クラス「とか」な

> ここに書いてある内容のどこに
> >>779がCではなくC++を憶えないと
> 理解できないコードがあるのか例示してくれ

> と言われてもそんなものがあるなんて誰も言ってないから「ないけど、それが何か?」で終わる話なんだけどw

> この流れで「猫でもわかる」がC++だと主張してないとぬかすなら

> C/C++の両方でビルドできるコードの存在を知らんのか?
902デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/07(木) 11:04:44.61ID:Xvq6sZ7Q0
>>901
テンプレートと無名共同体は使っているのかいないのかって聞いたのに
通じてねえのおまえだろ、それが恥ずかしいことくらいはわかるのか

早く答えろ、Yes/Noで
903無名共用体は知らんけどw (ドコグロ MM43-6mzC)
2020/05/07(木) 11:20:36.94ID:AFL68b4JM
恥の上塗り乙
テンプレートや無名共同体を含めてクラス「とか」って書いてあるんだが
904デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/07(木) 11:30:22.51ID:Xvq6sZ7Q0
>>903
テンプレートと無名共用体は使ってないんだな? 言質取るぞ
905デフォルトの名無しさん (ドコグロ MM43-6mzC)
2020/05/07(木) 11:48:10.71ID:BJMZjP5rM
>>904
揚げ足取ろうと必死やな
全部は確認してないよ、それが何か?
ちなみに無名共用体は拡張機能としてあるからいいとしてもテンプレート使ってたら>>792も嘘つきになるけどなw
906デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/07(木) 11:54:32.43ID:Xvq6sZ7Q0
>>905
で、おまえ792を嘘つき呼ばわりできるのか?
「猫でもわかる」はCだと言った792にイチャモンつけてきたのおまえだぞ
嘘つきなのか否か挙証責任を果たせないなら撤回か逃亡しかねえぞ
907デフォルトの名無しさん (ドコグロ MMbb-6mzC)
2020/05/07(木) 11:57:27.98ID:nQsqe3i/M
>>906
>>792が正しいとか間違いだなんて言ってないけど?
被害妄想で逆ギレ?
基地外の行動やねw
908デフォルトの名無しさん (ワッチョイ 0bda-e0rh)
2020/05/07(木) 12:43:05.75ID:mY1dxeUW0
どうでもいいけど>>792のサイト内で

>この時ファイル名は「*.c」でも「*.cpp」でもかまいません。

と書かれてるくらいだから少なくともサイトの作者はC++は必須としてないように思えるけどなぁ
909デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/07(木) 12:50:21.47ID:Xvq6sZ7Q0
>>907
じゃあ、795で何が言いたかったんだよ
俺が「猫でもわかる」はCだと言ったことに対して
何か文句でもあんのかよ? 寂しかったのか?
910デフォルトの名無しさん (アウアウエー Sae2-jgrQ)
2020/05/07(木) 12:55:44.12ID:iKRewGMta
>>897
ルンゲクッタですねω判りますωω
911デフォルトの名無しさん (スプッッ Sd2a-oFD5)
2020/05/07(木) 13:09:50.52ID:hUdQ5UHmd
いやさすがに>>892が微分方程式だという発想はなかった
解は定数と書いてるし

xが実数以外(複素数、ベクトル、行列、...)の可能性はちょっと考えたけど
912デフォルトの名無しさん (ドコグロ MMbb-6mzC)
2020/05/07(木) 14:25:20.08ID:QfSfBFzmM
>>908
> C++は必須
誰がそんなことを言ってるんだ?

>>909
レスしただけで文句ガーとか何キレてるんだよ
チンピラ(死語)かよw
913デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/07(木) 14:38:41.35ID:Xvq6sZ7Q0
>>912
俺が「猫でもわかる」はCだと言ったことに対して
何か文句でもあんのかと聞いているんだ

自分の主張から逃げるヘタレが人のことをチンピラだと?
914デフォルトの名無しさん (アウアウクー MM73-jIkB)
2020/05/07(木) 14:41:31.91ID:itkoAyTSM
win32APIはCででもC++でもいいけどこのスレはc言語ならスレだから答えはcでいやん

それとどうでもいいけど拡張子は.cc派
915◆QZaw55cn4c (ワッチョイ e798-EltK)
2020/05/07(木) 14:47:08.49ID:VS6AE9q50
>>914
>win32APIはCででもC++でもいいけど
コールバック関数はマングリングしていてはだめなので、最低コールバックだけは extern "C" が必要だと思いますから C++ オンリーというわけにはいかないでしょう
extern "C" を含んでの C++ 、というのなら理解しますが
916デフォルトの名無しさん (ワッチョイ 8a52-ouS7)
2020/05/07(木) 14:52:09.99ID:NfUWzWTo0
>>912
自分に対する指摘は(ただの事実の指摘であっても)否定的な意味を持つ攻撃ととらえる残念な精神構造の人なんだと思う。最初の思い込みは後からどうやっても訂正しない(出来ない)タイプだろうから、これ以上突っつくのはやめてくれないかな?
理性のある側が引かないと、このどうでもいいレスバトルが終わらないから、頼むよ。
917デフォルトの名無しさん (ドコグロ MM22-6mzC)
2020/05/07(木) 14:54:50.73ID:w/qZ5OkDM
>>913
> 何か文句でもあんのかと聞いているんだ
単に事実を書いてるだけと書いたはずだが、頭に血が上って理解できなかったのか?w
918デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/07(木) 15:36:35.58ID:Xvq6sZ7Q0
>>917
何のためにそれを書いたのかと意図を聞いている
手が勝手に動いたとでも言うつもりか?
それとも得意の「俺じゃない」で逃げるか?
ヘタレにはよく似合うぜ
919デフォルトの名無しさん (ドコグロ MM8a-6mzC)
2020/05/07(木) 15:42:05.78ID:MtCAwcuOM
>>918
事実を伝えるためだけど?
理解力のないチンピラには伝わらなかったみたいだけどw
920デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/07(木) 16:00:41.95ID:Xvq6sZ7Q0
>>919
俺に伝える必要がおまえにはあったんだな
で、なぜそんな必要があったんだ?

自分の主張が言えない腰抜けが人のことをチンピラだと? 笑わせるぜ
921デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/07(木) 16:02:05.69ID:Xvq6sZ7Q0
キリッてから後になって自信なくなったんだろゲラゲラ
922デフォルトの名無しさん (ワッチョイ 0bda-e0rh)
2020/05/07(木) 16:06:27.79ID:mY1dxeUW0
サイトのサンプルプログラムについては
*.cでも*.cppでもどちらでもいい
923デフォルトの名無しさん (ドコグロ MM22-6mzC)
2020/05/07(木) 16:30:40.81ID:zVtuPzpBM
>>920-921
> 俺に伝える必要がおまえにはあったんだな
レスを見てるのはお前だけじゃない事も理解できないのかよ、どんだけ自意識過剰なんだか
むしろ理解できないアホはいちいち絡んで来るなよ
924デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/07(木) 16:36:52.52ID:Xvq6sZ7Q0
>>923
俺にレスアンカーつけといて
そんな言い逃れは通らんぜ

自らの言葉に責任を持てない社会のクズにアホとか言われても
全く響かねえぜ、どうせその言葉にも責任持たないだろうからな
925デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/07(木) 16:39:41.92ID:Xvq6sZ7Q0
こっちは弱点晒してんだぜ?
「猫でもわかる」のサンプルにC++の知識が必要な例を示されたら負けだ
こんだけノーガードしてやってんのに、そこを攻められない無能なやつw
926デフォルトの名無しさん (アウアウエー Sae2-jgrQ)
2020/05/07(木) 16:49:50.98ID:8jv+kISLa
ID真っ赤な人をNGすればいいのかな?ω
927デフォルトの名無しさん (ワッチョイ fb63-oySJ)
2020/05/07(木) 16:57:43.81ID:VKbX/7v80
レス数が10を越える様な人は、概ねNGにしてかまわないね
928デフォルトの名無しさん (ワッチョイ bb69-7oqX)
2020/05/07(木) 17:20:50.97ID:khGNNtcv0
>>915
スタックの使い方等の呼び出し規約に準じた関数へのポインタさえ渡ってれば
シンボル名が割当たってなくてもコールバックは為されるんじゃない?

シンボル名で呼び出す必要が出てきたときにマングリングがというのはあるだろうけど・・・ COM?
929デフォルトの名無しさん (ドコグロ MM22-6mzC)
2020/05/07(木) 18:27:53.38ID:WyDD2uB5M
>>924
アンカーはお前のレスを参照してるんだからつけるのは当たり前
だからと言ってお前だけに言ってるわけじゃない
掲示板の使い方もわからんのかよ…

>>925
> 「猫でもわかる」のサンプルにC++の知識が必要な例を示されたら負けだ
だれもC++の知識が必要だとか言ってないのに何を言ってるんだよ
しかも勝ち負けとか
>>916が言う様に引っ込みつかなくなってるんだろうなw
930デフォルトの名無しさん (ワッチョイ 3fb3-oFD5)
2020/05/07(木) 18:37:02.14ID:wkYaXeHy0
他でやれ
931デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/07(木) 21:11:55.76ID:Xvq6sZ7Q0
>>916
「猫でもわかる」はCだと言ったのは思い込みか?
Cではないと主張するなら挙証責任を果たせ
自分は何も主張しないなら無駄口たたくな

どーせ自演だろw
932デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/07(木) 21:13:00.46ID:Xvq6sZ7Q0
>>929
俺だけに言ってるんでなくても
俺に言ってるだろ

「猫でもわかる」はCなのかC++なのかShow your flatg!
933デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/07(木) 21:15:24.95ID:Xvq6sZ7Q0
>>929
お前にレスアンカーついてるのに
お前に言ってないとでも思っているか?

アホw バカwww ゴミ クズ 不細工 童貞
お前に言ってないのかなあwwwwww
934デフォルトの名無しさん (ドコグロ MMcf-6mzC)
2020/05/07(木) 21:43:44.11ID:mj5cVlGOM
>>932
> 俺に言ってるだろ
お前に「も」言ってるよ
理解できるかどうか知らん
別に理解できなくてもいいよ、そういうアホもいるだろうしw

> 「猫でもわかる」はCなのかC++なのかShow your flatg!
なんでわざわざ頭悪い事を示すかなぁ

>>933
低能らしいレス乙
935デフォルトの名無しさん (ワッチョイ 8a47-oySJ)
2020/05/07(木) 21:57:56.60ID:Bo7tbMN60
触ったら負け
936デフォルトの名無しさん (ワッチョイ fb7b-mW5x)
2020/05/08(金) 06:23:43.52ID:Br/73fC20
『猫でもわかる』のサイトで紹介されてるソースが
Cの範囲で書かれてるかC++特有の機能も使ってるか検証せよ、って
実際やってみるだけの価値のない口論な気がするけどなぁ。

そりゃ「俺の言ったことは正しい」「一片の反論も許さない」って
ご当人にはスレッド埋め立てるほど重要な件かも知れないけど。
それとも俺以外の皆さんはこの議論の決着を手に汗握って見守ってるのかな。
937デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/08(金) 07:03:34.21ID:FYQVpLgs0
>>925でFA
938デフォルトの名無しさん (ドコグロ MM22-6mzC)
2020/05/08(金) 09:15:09.55ID:dq2lIdE/M
>> 「猫でもわかる」のサンプルにC++の知識が必要な例を示されたら負けだ
> だれもC++の知識が必要だとか言ってないのに何を言ってるんだよ
> しかも勝ち負けとか
> >>916が言う様に引っ込みつかなくなってるんだろうなw

確かにFAだなw
939デフォルトの名無しさん (アウアウエー Sae2-jgrQ)
2020/05/08(金) 10:57:20.51ID:oIDbptWLa
>>935
文字通り隔離入院が必要だな
触らなければ感染しない
940デフォルトの名無しさん (ワッチョイ 3fb3-oFD5)
2020/05/08(金) 10:58:44.88ID:NOJZfKLR0
バカ vs アホ
941デフォルトの名無しさん (ワッチョイ 6aad-48kr)
2020/05/08(金) 11:08:34.04ID:VEr63gxN0
>>926
いや、もうこのスレ読まなくて良いと思う。見るのは次スレからで良いんじゃないかな。
942デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/08(金) 12:58:30.29ID:FYQVpLgs0
>>938
無能は黙ってろ
943デフォルトの名無しさん (ドコグロ MM43-6mzC)
2020/05/08(金) 13:13:19.06ID:QODMZkK/M
>>942
おや、FAじゃなかったのか?
まあいきなり玉砕してたらノコノコ出てこざるを得ないわなw
944デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/08(金) 13:48:27.76ID:FYQVpLgs0
ホレホレここだってチャンスやってんのに撃てねえ無能が何だって?
945デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/08(金) 14:03:29.86ID:FYQVpLgs0
まあ正直、あのサイトから
丸のまんまDLなんかしたことないから
拡張子なんか気にしてなかったな
petzoldとの説明の仕方の違いを読んでただけで

まさか、あれをC++だと言い張るやつがいるとは思わなくて面食らった
言い張ってねえととぼけているようだが
Cだと言う発言に同調しない以上BASICやCOBOLなわけもなく答えは1つだ
自分の発言のしょーもなさに気付いて言い訳しまくってももう遅い
946デフォルトの名無しさん (JP 0Ha2-BedC)
2020/05/08(金) 14:17:14.69ID:UwSV314GH
simulationライブラリで純粋な関数式プログラミングをする
http://x0000.net/topic.aspx?id=3631-0

UIライブラリ (C#, 2D) を作ったよ
http://x0000.net/topic.aspx?id=3688-0

連続と離散を統一した!
http://x0000.net/topic.aspx?id=3709-0

4Dエンジン
http://x0000.net/topic.aspx?id=3677-0

matrixのライブラリ
http://x0000.net/topic.aspx?id=3711-0

ある強力なFor関数
http://x0000.net/topic.aspx?id=3630-0

SQLライブラリ
http://x0000.net/topic.aspx?id=3675-0

学術の巨大掲示板群 - アルファ・ラボ
http://x0000.net

数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など

PS 連続と離散を統一した!
http://x0000.net/topic.aspx?id=3709-0
947デフォルトの名無しさん (ドコグロ MMcf-6mzC)
2020/05/08(金) 14:27:02.39ID:CIh1Y7kYM
>>945
> Cだと言う発言に同調しない以上BASICやCOBOLなわけもなく答えは1つだ
またその話かよ、チャンスどころかノーガードじゃねーかw
まあ毎回玉砕してるのに無視してるんだから無敵だわな

> この流れで「猫でもわかる」がC++だと主張してないとぬかすなら

> C/C++の両方でビルドできるコードの存在を知らんのか?
948デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/08(金) 14:48:39.11ID:FYQVpLgs0
>>947
ノーガードは>>925で言っただろ
こっちが引き下がる条件をはっきり書いてやってんのに
おまえそれができねえだろうが

で、何が玉砕だ? 弾切れのくせに勝利宣言してんなよw
C言語なら俺に聞け 154 YouTube動画>16本 ->画像>6枚
こんな状況で先手が投了したなんて言っても誰も信じねえのと同じだ
949デフォルトの名無しさん (ワッチョイ 33f9-gIrT)
2020/05/08(金) 14:54:19.86ID:iEDJrLRe0
だったらそんなに必死になる必要ないだろ
うぜぇ
950デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/08(金) 15:02:05.89ID:FYQVpLgs0
必死つーか、ボコられるのが好きなマゾさんに付き合ってやってるだけさ
951デフォルトの名無しさん (ドコグロ MM43-6mzC)
2020/05/08(金) 15:13:10.54ID:tdVddCdpM
>>948
既に
>> 「猫でもわかる」のサンプルにC++の知識が必要な例を示されたら負けだ
> だれもC++の知識が必要だとか言ってないのに何を言ってるんだよ
> しかも勝ち負けとか
> >>916が言う様に引っ込みつかなくなってるんだろうなw
…で、玉砕してるのに何度も繰り返すのは低能によくある行動

>>950
ボコられてる事すら理解できてないんだろうな…
理解力に致命的な欠陥があるんだろう
952デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/08(金) 15:20:29.91ID:FYQVpLgs0
ああ、そうか
「玉砕」という日本語の意味を間違えて憶えてしまっているのか

俺があのサイトはCだと言っていることに文句つけようとして
その目的が全く果たせないようなことを玉砕って言うんだぜ

俺: C++だと主張したな?
屑: 主張してません
俺: じゃあ何の用だ
屑: 他の人に言ってます

宣戦布告(または先制攻撃)しといて歯が立たないと見るや
そんなことしてません、だっておバンバン
953デフォルトの名無しさん (ワッチョイ 2301-kk50)
2020/05/08(金) 15:50:45.07ID:H/a69LIv0
このスレに限らず結構他のスレも煽りあってるんだな
ム板の傾向なのかコロナのせいでみんなピリついているのか
954デフォルトの名無しさん (ドコグロ MM43-6mzC)
2020/05/08(金) 16:42:52.62ID:6VnAph/sM
>>952
> 俺: C++だと主張したな?
> 屑: 主張してません
> 俺: じゃあ何の用だ
> 屑: 他の人に言ってます

チンピラ: なにガンつけてるんだ?
一般人: いや、見てませんけど
チンピラ: じゃあ何の用だ
一般人: 他の人を見てます

なるほど、チンピラの思考回路が良く分かるw
955デフォルトの名無しさん (アウアウエー Sae2-jgrQ)
2020/05/08(金) 17:15:10.30ID:iOEjZYuSa
今日は夕方出勤かおまいら
ちゃんと夜には寝ろ
956デフォルトの名無しさん (ブーイモ MM97-Qa3R)
2020/05/08(金) 17:24:34.25ID:+t+L26mCM
敵「ノーガードだぞっと」
ゲーム脳な俺「(罠はどこだ…)」
957865 (スプッッ Sd2a-a65k)
2020/05/08(金) 17:47:51.13ID:oXFvjLKZd
相手の名前を呼んでおいてガンたれたかどうかじゃねえだろ
958デフォルトの名無しさん (アウアウエー Sae2-jgrQ)
2020/05/08(金) 18:10:54.26ID:iOEjZYuSa
だれでも良かった
スカっとしたかった
今は反省している

みなさんそうおっしゃいます
959デフォルトの名無しさん (ワッチョイ 5bda-gIrT)
2020/05/08(金) 20:09:27.74ID:isH4x5Zd0
>>956
空条承太郎の計
960デフォルトの名無しさん (ドコグロ MM22-6mzC)
2020/05/08(金) 20:39:06.48ID:8JNotEaVM
言ってもないのに
> > 俺: C++だと主張したな?
とか、「ガンたれる」行為そのものじゃねーかw
961デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/08(金) 21:09:42.70ID:FYQVpLgs0
ガンたれたのかどっちか逆転する必要も出てきたかw
962デフォルトの名無しさん (ドコグロ MM43-6mzC)
2020/05/08(金) 22:17:06.03ID:6RefN5WiM
チンピラの捨て台詞乙w
963デフォルトの名無しさん (アウアウクー MM73-jIkB)
2020/05/09(土) 03:41:35.63ID:RyAo9srtM
猫でもわかる
ガン
チンピラ

NGはここらへんでいいですか
なんなんだコノスレは
964デフォルトの名無しさん (ワッチョイ 8a52-ouS7)
2020/05/09(土) 06:56:42.64ID:qZuZMPTr0
>>963
それ以外にも汚い罵詈雑言は一通りNGしとくと良いかも。そんな言葉が入っているレスはほとんどの場合は当人たちにしか意味のないものだから。
あんだけ自己主張激しくて承認欲求強いんだから、コテハン付けてくれると助かるんだけどね。
965デフォルトの名無しさん (ワッチョイ 2301-kk50)
2020/05/09(土) 07:31:37.38ID:djQF9o2a0
競技プログラミング系の動画だったと思うんだが
登壇者がプログラミング覚えたての頃(中学生ぐらい?)に
猫でもわかるを読んでみたけど分からなくて
「あれは猫でもわかるじゃなくて猫しかわからないだ」
みたいな話をしていた動画があった気がする
966デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/09(土) 07:36:56.22ID:TBKnesgm0
「俺は猫以下です」なんてのもあったね
967デフォルトの名無しさん (ワッチョイ fb63-oySJ)
2020/05/09(土) 11:00:20.03ID:mr/P9GQq0
自己紹介は「我が輩」でたのむ
968デフォルトの名無しさん (ワッチョイ dabd-Geaw)
2020/05/09(土) 12:13:47.04ID:GitA8I250
fopen_sでのファイル作成について教えてください。

現在は、↓で"test.txt"を作成しています。
fopen_s(&file, "test.txt", "w");

これを変数iの値と組み合わせたファイル名を作りたいときはどうすればいいですか?
例えば、i=5 で”5_test.txt”というファイルを作りたい場合です。
printfでしたら、printf("%d_test.txt",i);で表示自体はできると思います。

fopens_sではどのように記述すればできるでしょうか?
よろしくお願いいたします。
969デフォルトの名無しさん (アウアウエー Sae2-jgrQ)
2020/05/09(土) 12:16:37.23ID:3rxWY8lSa
sprintf
970デフォルトの名無しさん (アウアウエー Sae2-4FnY)
2020/05/09(土) 12:17:09.28ID:6LzYHNAqa
sprintfでいったん文字配列へ書き出してみては
971デフォルトの名無しさん (アウアウエー Sae2-4FnY)
2020/05/09(土) 12:28:49.72ID:6LzYHNAqa
セキュア版の sprintf_sか
972デフォルトの名無しさん (ワッチョイ eaa5-NK3V)
2020/05/09(土) 12:35:40.00ID:qYhHAGHH0
>>968
#define LEN 1024


char fn[LEN];

int i = 5;
sprintf_s(fn, LEN, "%d_test.txt", i);

fopen_s(&file, fn, "w");
973デフォルトの名無しさん (アウアウエー Sae2-jgrQ)
2020/05/09(土) 12:40:25.81ID:3rxWY8lSa
#define LEN 1024
char fn[LEN] = "0_test.txt";
int i = 5;
fn[0] += i;
fopen_s(&file, fn, "w");
974デフォルトの名無しさん (スップ Sd8a-oFD5)
2020/05/09(土) 12:52:10.52ID:rji3K/MTd
そういう糞テクニックを教えるな
975デフォルトの名無しさん (ワッチョイ 2ac5-gIrT)
2020/05/09(土) 13:06:20.74ID:OlXlCaqe0
>>973
わらた
976デフォルトの名無しさん (ワッチョイ dabd-Geaw)
2020/05/09(土) 13:43:10.35ID:GitA8I250
>>969-972
解決できました!こんなコマンドがあったのですね。
例も記載頂き、ご丁寧にありがとうございました。

>>973
その発想はありませんでした…。
値を追ってみたところ、バイナリ値で "0"=0x30、"5"=0x35なので、30+5ってことなのですね。
確かに配列で1文字ずつ管理しているのだから、指定して直接文字を変えてしまえばいいんですね…
977デフォルトの名無しさん (JP 0Ha2-BedC)
2020/05/09(土) 14:41:14.53ID:kMGTFWTFH
学術の巨大掲示板群 - アルファ・ラボ
http://x0000.net

数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など

PS 連続と離散を統一した!
http://x0000.net/topic.aspx?id=3709-0
978デフォルトの名無しさん (ワッチョイ 2301-lxbn)
2020/05/10(日) 01:10:39.43ID:ES5yl2P70
ポインタ宣言

int * a;

intの部分、なんでいるのかわからん?

だって、型宣言に、サイズだけが必要なら、ポインタ型(intへのポインタ型、ではなく)
っていう、情報だけで、いいはずじゃん?

コンパイラの理解が必要なのかね?
979デフォルトの名無しさん (ワッチョイ 8a52-ouS7)
2020/05/10(日) 01:19:58.02ID:/ZIx9Fkg0
>>978
サイズだけが分かればいいという理解が間違いだぞ
980デフォルトの名無しさん (ワッチョイ be2c-Qfm0)
2020/05/10(日) 02:04:46.37ID:xljGyfa/0
型が無ければ、コンパイル時に、型違いを発見できない
981デフォルトの名無しさん (ワッチョイ be7b-KsCX)
2020/05/10(日) 02:22:18.72ID:BEpCNKhk0
>>978
なんの型かわからないと解釈のしようがないだろ
ポインタはアドレスをその型で解釈するんだから
ポインタ演算も逆参照もなにもできない
982デフォルトの名無しさん (ワッチョイ 9f02-5fG7)
2020/05/10(日) 02:41:19.19ID:D0AaY1h70
int *a; ← intのポインター

*a = 1; ← ポインターaが示すメモリーにint型として1を格納

void *b; ← 型のないポインター

*b = 2; ← ポインターbが示すメモリーにどんな型で2を格納したらいいかわからないからコンパイル時にエラー
983デフォルトの名無しさん (ワッチョイ 4af8-KsCX)
2020/05/10(日) 02:46:47.65ID:KxiPn0ce0
a[3]ってかけなくなるのはやだなあ
984デフォルトの名無しさん (ワッチョイ 7346-V1Fr)
2020/05/10(日) 03:08:09.76ID:uLhUltA20
>>978 は言語仕様の話題だろう。
コンパイル時に、型違いを発見できないとか、コンパイル時にエラーとか言ってるの何なんだよ。
985デフォルトの名無しさん (ラクッペペ MMe6-Wm8c)
2020/05/10(日) 06:28:55.73ID:RAqxqFKNM
言語仕様ならポインタ演算禁止か
そういうのが好きな人はJavaとか使ってそう
986デフォルトの名無しさん (ドコグロ MM22-6mzC)
2020/05/10(日) 06:30:58.87ID:xBlsi2kLM
>>978
>>983と同じような話だけど a++ ってされた時に困るだろ

>>984
まあコンパイル時にエラーになるかどうかは処理系依存(ほぼなると思うが…)だけど>>982は言語仕様の話だぞ
987デフォルトの名無しさん (ワッチョイ bbca-BAqB)
2020/05/10(日) 08:22:42.64ID:L8gH+HH40
>>984
なんでそんな言語仕様になったのかって話と捉えるべきでしょ。

単純にCは型を意識する言語であって、その領域のサイズや代入や演算時の暗黙のキャストの仕方を決定するために *a が何なのか判明してる必要があるからだろ。
その領域が 8byte ということしか分からなければ、ポインタなのか long long なのか double なのか構造体なのかも分からず、(*a)++ すらどんなマシンコードを吐けばいいのか分からん。
988デフォルトの名無しさん (ワッチョイ 3fb3-oFD5)
2020/05/10(日) 09:47:23.46ID:FEs4SWZl0
アセンブラか動的型付け言語を使え
989デフォルトの名無しさん (ワッチョイ 2301-kk50)
2020/05/10(日) 09:57:55.40ID:Zy24yVHQ0
ポインター使える言語で動的型付けのものって存在する?
990デフォルトの名無しさん (アウアウエー Sae2-jgrQ)
2020/05/10(日) 12:57:55.79ID:hDQHciega
python
991蟻人間 ◆T6xkBnTXz7B0 (スフッ Sd8a-cHSE)
2020/05/10(日) 14:38:04.72ID:S8GzHBO7d
そろそろ次スレ
992デフォルトの名無しさん (ワッチョイ d3e6-Ufoj)
2020/05/10(日) 14:39:56.49ID:9C5GEtoh0
ctypesはビックリするほどCとの親和性が高い
993デフォルトの名無しさん (ワッチョイ 6aad-48kr)
2020/05/10(日) 21:41:25.92ID:D+x5WbLs0
GNUCはvoid*計算時はchar*計算した時と同じになるな。
GNUだけの特別仕様のようだが。
994デフォルトの名無しさん (ワッチョイ 7eba-P5bm)
2020/05/10(日) 23:21:46.50ID:Z3WQBr9X0
C言語なら俺に聞け 155
http://2chb.net/r/tech/1589120427/
995デフォルトの名無しさん (ワッチョイ cf47-HyQB)
2020/05/11(月) 01:53:13.72ID:koNT22Cg0

Slot
🌸🍜💣
🎴👻🌸
👻🎴👻
(LA: 0.60, 0.69, 0.78)
996デフォルトの名無しさん (ワッチョイ cf47-HyQB)
2020/05/11(月) 01:53:20.10ID:koNT22Cg0

Status ♠6 ♦10 ♥K ♥6 ♠K (1st.)HP: 1000 pts. たぶん(0)
0.63, 0.70, 0.78(967.722656) Proc. [0.122706 sec.]
997デフォルトの名無しさん (ワッチョイ cf47-HyQB)
2020/05/11(月) 01:53:26.63ID:koNT22Cg0

Status ♦5 ♥8 HP: 1000 pts. たぶん(0)
0.58, 0.69, 0.78(966.628906) Proc. [0.127749 sec.]
998デフォルトの名無しさん (ワッチョイ cf47-HyQB)
2020/05/11(月) 01:53:34.25ID:koNT22Cg0

Status ♥4 ♠A ♥Q ♣3 ♠J (2nd.)HP: 1000 pts. たぶん(0)
0.73, 0.71, 0.78(965.578125) Proc. [0.122267 sec.]
999デフォルトの名無しさん (ワッチョイ cf47-HyQB)
2020/05/11(月) 01:53:38.24ID:koNT22Cg0

Slot
🎴👻💣
🎰🎴🌸
🌸🎰👻
(LA: 0.67, 0.70, 0.78)
1000デフォルトの名無しさん (ワッチョイ cf47-HyQB)
2020/05/11(月) 01:53:43.02ID:koNT22Cg0

Slot
🍒😜💣
😜👻👻
🍜💣🌸
Win!! 4 pts.(LA: 0.61, 0.69, 0.77)
ニューススポーツなんでも実況



lud20250926075326nca
このスレへの固定リンク: http://5chb.net/r/tech/1578997950/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

TOPへ TOPへ  

このエントリをはてなブックマークに追加現在登録者数177 ブックマークへ


全掲示板一覧 この掲示板へ 人気スレ | Youtube 動画 >50 >100 >200 >300 >500 >1000枚 新着画像

 ↓「C言語なら俺に聞け 154 YouTube動画>16本 ->画像>6枚 」を見た人も見ています:
C言語なら俺に聞け 148
【籠池佳茂】私の妹の長女は菅野完から「言うことを聞かなければレイプする。セックスさせろ」と迫られて教育勅語をやめました★2
ポーランド「アメリカの言うことなんざ聞くか!!俺だけでもロシアに攻撃するぞ!」
人生の伴侶とまでは言わないけど仕事に対して弱気な俺を抱きしめて大丈夫大丈夫だからって言ってくれる相手が欲しい
ホリエモン「俺は天皇不要論を唱えただけで右翼団体から抗議を受けた 日本は北朝鮮並に言論統制国だな」
政府「年金減らします」フランス国民「ふざけんな!(暴動)」ジャップ国民「言うこと聞くよ…(自民に投票)」⇐なぜなのか
前から疑問だったんだけどお前らってなんで俺に敬語じゃないの?
俺には敬語使ってしまうって言われたんだけどどういう意味だと思う?
職場で好きな漫画聞かれたから「あずみ」って答えたらすげー白けた。俺がなにしたっていうんだよ。
ゆたぼんみたいに学校行きたくないからいかないって言ってるやつになら働けって思ってしまうの俺だけ?
日笠陽子さんの声を「アナルに大根捻じ込んだみたいな声」って言ったら怒られたんだけど俺間違ってなくね?
森香澄 学生時代にいじめ被害「私だけが理解できない、暗号みたいな言語が作られてて」 [ネギうどん★]
俺「最近の声優って個性ないよな」お前ら「なんでそんな事言うんだよ!!ふざけんなよ!!!」←お前らが声優にルックス求めた結果じゃん
(ヽ゚ん゚)「俺が言ってないことを勝手に読み取るな!」 俺「じゃあ細かく書け」 (ヽ゚ん゚)「それくらい察しろ!」 何このクソ上司ムーヴ
妹にお勧めのアニメ聞かれて「魔王城でおやすみ」と「ジャヒー様はくじけない!」をDアニメで見せたら超ハマッて次も教えてって言われた
【産経】あいまいな「関与」という言葉を独り歩きさせる朝日新聞、印象操作に気をつけたい
【ボクシング】亀田興毅氏 1千万円企画に提言「俺が天心選手とやってたら良かったな…笑」
お前らが適当な言葉書くと俺がそれを笑ゥせぇるすまんのサブタイトルにしてお客様と悩み、結末を書く
【悲報】勇気を振り絞って死ぬ覚悟で好きな女性を食事に誘った俺氏、なんか相手の愚痴を聞くだけで食事があっさり終了する
一般人「値上げ、苦しいよ…」俺「アベノミクスが失敗すると散々言っていただろ。なんで俺の意見を聞かなかったの?」
日本政府「ナ、ナイストゥーミーチュー」 アメリカ政府「聞き取れないから日本語でいいよ。通訳つけるし」
男尊女卑の体育会系の陽キャに無理矢理犯されて「チー牛なんか俺から見たら女みたいなもんだよw」って言われて泣きながらイきたいよな
「父のようになりたくない」窪塚洋介のマリファナ発言が物議のウラで息子・愛流が語っていた父への憧れ [朝一から閉店までφ★]
自民石崎「行けよ」タクシー運転手「ですが信号が赤でして…」石崎「俺が行けって言ってるからいいんだよ」新たなパワハラ発覚
【芸能】山里亮太、フジ会見で「臆測と思っていたのが…衝撃は隠せない」 中居氏の言葉も「聞けたら」 [冬月記者★]
ロシア人ハーフの村重杏奈がワリエワ号泣映像に「日本語には訳されてなかったけどみんな本当に大嫌い!ってすごい言ってたんですよ…」
姪っ子「友達がおじちゃんカッコいいって言ってた(笑)会ってみる?」俺「ガキに興味ない、大人になっても同じ気持ちならその時またな」
【入閣】#小泉進次郎 「切り取り報道酷い。『育休取りますか?』と聞かれたから『検討します』と答えただけ。閣議を休むとは言ってない」
坂道とかイコラブとかカワラボを棍棒にしてハロプロを叩くアンチにひと言言いたい!俺たちハロヲタは村内で内ゲバがしたいだけなんだよ!
【日本哨戒機の呼び出し】韓国、聞こえていたけど無視していた事をうっかりバラしてしまう…「英語の発音が悪かった」 ネット「言い訳」
【芸能】 太田光、匿名で芸能人を批判する “ツイッター民” に怒り 「こいつの言うことなんか、聞く必要、全くないよ」 [影のたけし軍団ρ★]
いやらしい意味はないのにいやらしく聞こえる言葉參
お前ら小さい頃よく将来は俺のお嫁さんになるんだって言ってたじゃん?
良い上司だと思ってた人が、俺の事悪く言ってるのを人づてに聞いてしまった
リフレ政策の大失敗で西側経済終了。俺「ほーら、言った通りになった」
左翼が誰も言わないからあえて俺が言うけど北朝鮮ってキチガイ国家だよな。
女同士の馴れ合いムカつくんだけど、俺の悪口を言うことを手段にして仲良くなろうとしてる
風俗嬢に「俺が守ってやる」って言われたら笑われたんや。傷ついたからなんGでうさ晴らししとる
かっこいい言葉、かっこいい慣用句集めてるんだけど無知な俺に教えてくれないか?
【芸能】月亭方正が語る『笑ってはいけない』の魅力 蝶野の“ビンタ封印”発言に本音
大阪来たら標準語のこと東京弁とか言っててワロタ どんだけ東京にコンプレックスあんだよ..
嫌儲にAIの回答ペタペタ貼り付けるおじさんのウザさは異常。掲示板への書き込みぐらい自分の言葉で語れよ
粗品「フジテレビには切り込まないんですか言われた!ただ。俺レギュラーあるからこの件は言いません」
俺福岡からゆうかりん最後の握手会に行って「ゆうかりん勉強頑張ってね立派な先生になってね」て言ったんだ・・・
東京新聞佐藤 「加戸発言が報じられなかったのは価値がないからに過ぎない」 国民「お前が決めんな」
買い込んだカップ酒をビニール袋にてんこもりに入れて職場で「俺に構わずこれで一杯やってくれ!」と言うのが俺の癖なんだけど
【安倍首相】朝日新聞の「安倍晋三記念小学校」誤報に 「哀れですね。朝日らしい惨めな言い訳」と批判★4
俺が子供の頃に宇宙王子って小説が流行っててアニメになったりしてたんだけどあれはどういう物語だったの?
プロレス3大名言「俺の人生にも一度くらい幸せな時があってもいいだろ?」「明日また生きるぞ」あと一つは?
俺「ここって実際はこうなるよな」バカ「フィクションに何言ってんの?」←この思考停止は知性の敗北に他ならない
【YouTuber】シバター、誤送金を返還しない男性に提言「4630万円で人生を捨てるな! 俺の会社で働け」 [爆笑ゴリラ★]
合コンで英語の話になってたまたまデザートの果物が出てきたから女の子が「果物を剥くって英語でなんて言うの?」って言い始めた
野々村友紀子氏が語る「家族で出かける際の」NGワード ノブコブ吉村にクギ刺した「絶対言うなよ!」 [爆笑ゴリラ★]
妻「ある人からお前の子は俺の子と言われた」光GENJI大沢「そんなわけないだろ」DNA鑑定「父性確率0%」大沢「あああああああ」
【アッキード疑獄/虚偽公文書作成問題】謝罪と裏腹、時にいら立つ麻生節 「俺に聞かないで」【朝日新聞】[03/12/21:44]
(ヽ´ん`)「職場でマクドの話になって女の子は死んだって聞いて 貴重なマンコがって言ったらドン引きされた。総務と面談する事になった」
松本わかな「橋迫さんに紅茶味の食べ物なにが美味しかったか聞いたら紅茶はガムシロップ入れるの好きと答えました。何言ってんだこいつ」
橋下徹氏 『失恋事案』発言めぐり、文春で主張したX子さんに反論 「失恋事案とは言っていない」「女性側から事実を聞いてもいい」★3 [冬月記者★]
ChatGPTにPHPとかいう古代言語書いてもらった
「生意気」という言葉は死語になっちゃったの?
ソロライブ2つしか聞けないとしたら誰と誰にする?
【悲報】 緊急事態宣言のおかげでCMがにゃんぱく宣言だらけになる
周りからキチガイと言われるんだけど俺の感覚は正しいのか…
おまえら「C言語は独学できない!!」 ぼく「いうほど難しいか?」
【ツイート】同窓会は自慢大会と言われるが違う、聞かれるから答えてるだけ
ウクライナ「俺達が負けたらEUはロシアに制圧され、第三次大戦になる」 [971283288]
18:53:29 up 13 days, 16:02, 1 user, load average: 89.12, 116.17, 117.90

in 3.2435591220856 sec @[email protected] on 092607