!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
https://mevius.5ch.net/test/read.cgi/tech/1566050562/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
C言語なら俺に聞け 154
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん (ワッチョイ bf63-lB9F)
2020/01/14(火) 19:32:30.16ID:SgRnb4BR02デフォルトの名無しさん (ワッチョイ 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
ちょっと待てや
おまえ単一仮想記憶を前提に話してるか?
今や多重仮想記憶が当たり前で単一仮想記憶はかなり特殊な存在だぞ
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 https://mevius.5ch.net/test/read.cgi/tech/1566050562/982
>FARポインタを扱えるようにするか
馬鹿いってんじゃないよ!このニワカ!死ね!百遍死ね!
「far/near ポインタ」は 16bit リアルモードでの用語だ
>FARポインタを扱えるようにするか
馬鹿いってんじゃないよ!このニワカ!死ね!百遍死ね!
「far/near ポインタ」は 16bit リアルモードでの用語だ
9デフォルトの名無しさん (ワッチョイ 5f02-tgR8)
2020/01/14(火) 21:13:14.20ID:Ae/uveiQ0 しかし別プロセスにしようとどうしようと
結局データのアドレスは受けないといけないので
そのポインタ自体が32bitで管理されてる以上
その限界はどうしようもないような。
結局データのアドレスは受けないといけないので
そのポインタ自体が32bitで管理されてる以上
その限界はどうしようもないような。
10デフォルトの名無しさん (ワッチョイ df73-AxFo)
2020/01/14(火) 21:21:42.62ID:vjAz2zAO011デフォルトの名無しさん (ワッチョイ df73-AxFo)
2020/01/14(火) 21:22:29.52ID:vjAz2zAO0 ニワカはどっちだwww
12デフォルトの名無しさん (ワッチョイ 7fa6-uXf3)
2020/01/14(火) 21:31:07.55ID:S6Ak+Pxt0 32ビットだと大きいメモリは最初の方で確保して最後の方で解放するなぁ
あるいはプロセスを分けるか
あるいはプロセスを分けるか
>>10-11
ではお聞きいたしますが、セグメントレジスタ16ビット+レジスタ32ビットのペアで指定した先は何ビット空間ですか?
IA-32 アーキであるかぎり、どうあがいても32bit 空間ではないでしょうか?PAE 搭載であってもユーザーからみえるのはやっぱり32ビットなのでは?
ではお聞きいたしますが、セグメントレジスタ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/多重仮想記憶
前スレの質問はアプリの話だからあんまり関係ないよ
オーバープロセスとか言うオレオレ用語はよくわからんけど…
オーバーコミットの話じゃないよね?
(逆に単一仮想記憶はプロセッサのアドレス空間を分割してプロセスに提供する)
http://yougo.ascii.jp/caltar/多重仮想記憶
前スレの質問はアプリの話だからあんまり関係ないよ
オーバープロセスとか言うオレオレ用語はよくわからんけど…
オーバーコミットの話じゃないよね?
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超のメモリ空間を扱える、と言えなくもない予感がする。
ということで話を戻すと、例えば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ビット指定できるから
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:jSZPoIDP025デフォルトの名無しさん (ワッチョイ 5f02-tgR8)
2020/01/14(火) 22:16:46.27ID:Ae/uveiQ026デフォルトの名無しさん (ワッチョイ df73-AxFo)
2020/01/14(火) 22:18:31.70ID:vjAz2zAO0 それでもダメなら
DLLを扱う用の32bitプロセスと
多量のメモリを扱う64bitプロセスに分けて
プロセス間通信でデータをやり取りする
DLLを扱う用の32bitプロセスと
多量のメモリを扱う64bitプロセスに分けて
プロセス間通信でデータをやり取りする
>>19
80386 に関していえば、その記述「386の時代から仮想アドレス空間は64TB」はわりとデマ的に流布されていることは理解します。手元の本
https://www.あまぞん.co.jp/dp/4756101305/
にも載っていました、確かに紛らわしい記述だとは思います
セグメントレジスタが指す「セレクタ値」は8バイトごとである、という事実から、セレクタ値のアドレスを意味する部分を16-2=14ビットとして、これと一般レジスタ32ビットとの直積から
46ビット=64T 分のアドレス空間が取れる、という計算だとは思いますが、この記述は不正確であり実情からは程遠いと思います
80386 では、セグメントレジスタが指すセレクタ値にひも付けられているセグメントベースはやはり32ビット空間の中なんです。32ビット空間の外に出ることはありません。
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使える(ものもある)わけですが
問題はフラグメントなのでアドレス空間が広がれば解決するわけですが
Windows Server系は32bitでも64GiB使える(ものもある)わけですが
問題はフラグメントなのでアドレス空間が広がれば解決するわけですが
29デフォルトの名無しさん (ワッチョイ df73-AxFo)
2020/01/14(火) 22:36:48.89ID:vjAz2zAO0 コテのくせにド素人だな
>>29
セグメントレジスタが指すグローバルディスクリプタテーブル(GDT)中の一つ一つのエントリー(セレクタ値)に含まれる情報の配置状況が 80386 から変わっておれば、あなたのおっしゃることは理解できます
pentium を例にそれを示せますか?
セグメントレジスタが指すグローバルディスクリプタテーブル(GDT)中の一つ一つのエントリー(セレクタ値)に含まれる情報の配置状況が 80386 から変わっておれば、あなたのおっしゃることは理解できます
pentium を例にそれを示せますか?
31デフォルトの名無しさん (ワッチョイ df73-AxFo)
2020/01/14(火) 23:11:55.67ID:vjAz2zAO032デフォルトの名無しさん (ワッチョイ 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 リソースの再利用について
https://www.youtube.com/watch?v=XQdAlM4TnQU
https://www.youtube.com/watch?v=XQdAlM4TnQU
36デフォルトの名無しさん (ワッチョイ 02a6-pREH)
2020/01/15(水) 13:56:26.73ID:+l1Z2xEr0 大きいメモリをできるだけ上位のアドレスで割り当てる
普通のメモリ割り当てなら下位のアドレスになるから
使い分けで断片化の影響を減らせる
VirtualAllocの MEM_TOP_DOWN
普通のメモリ割り当てなら下位のアドレスになるから
使い分けで断片化の影響を減らせる
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); }
こんな感じで待機してるんだけどやっぱマヌケかな?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:Ed4nA3uH041デフォルトの名無しさん (ワッチョイ 412d-6zBS)
2020/01/17(金) 01:14:24.13ID:rOjn9SwA042デフォルトの名無しさん (ワッチョイ bd02-otum)
2020/01/17(金) 01:18:32.17ID:e4Iv2ZR10 >>39-41
環境はWindowsです。
スレッドは二つだけでサブも結構使ってるので
flagで管理して動かしたい時だけTRUEにしてる感じです。
特に動作に問題はないのでこのままでいいんでしょうかね。
環境はWindowsです。
スレッドは二つだけでサブも結構使ってるので
flagで管理して動かしたい時だけTRUEにしてる感じです。
特に動作に問題はないのでこのままでいいんでしょうかね。
43デフォルトの名無しさん (ブーイモ MMe5-4X0p)
2020/01/17(金) 01:31:08.41ID:uTUiG7kHM リソースの競合がないんなら好きにすればいいけど、
あるなら、動いているように見えて低い確率で破綻するってのもあるよ
あるなら、動いているように見えて低い確率で破綻するってのもあるよ
44デフォルトの名無しさん (ワッチョイ 412d-6zBS)
2020/01/17(金) 01:37:20.83ID:rOjn9SwA045デフォルトの名無しさん (ワッチョイ bd02-otum)
2020/01/17(金) 02:10:16.80ID:e4Iv2ZR1046デフォルトの名無しさん (ワッチョイ b957-otum)
2020/01/17(金) 02:43:46.95ID:gAZZjojh0 呼んでから起きるまでのタイムロスはどうでもいいのか
47デフォルトの名無しさん (ワッチョイ bd02-otum)
2020/01/17(金) 03:19:40.62ID:e4Iv2ZR10 >>46
そこはOKです。瞬時に処理してくれなくても問題ない処理なので。
そこはOKです。瞬時に処理してくれなくても問題ない処理なので。
48デフォルトの名無しさん (ワッチョイ 1db3-EgUp)
2020/01/17(金) 06:13:31.64ID:KcAYJrW8049デフォルトの名無しさん (ドコグロ MM09-mQF2)
2020/01/17(金) 07:22:16.67ID:C1DTJTUYM50デフォルトの名無しさん (ワッチョイ 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なんてしないでしょ?
{
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だわ
みすった
*(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
添字つけない場合は配列の先頭のメモリアドレスを持つポインタなんだが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]にアクセスできる
例えば
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の値が違うことがある。
多重ポインタと多次元配列はメモリレイアウトが異なる。
よって配列はポインタではない。
配列とポインタではsizeofの値が違うことがある。
多重ポインタと多次元配列はメモリレイアウトが異なる。
よって配列はポインタではない。
61デフォルトの名無しさん (ワッチョイ 4135-TOPI)
2020/01/17(金) 22:35:45.81ID:EE408Bd70 2次元配列は各行の配列が配置されてるメモリ上のアドレスのリストですか?
その場合、そのリストの要素であるアドレス値はどうやって取り出せますか?
https://i.imgur.com/Ibk3T9G.png
その場合、そのリストの要素であるアドレス値はどうやって取り出せますか?
https://i.imgur.com/Ibk3T9G.png
62デフォルトの名無しさん (ワッチョイ 4135-TOPI)
2020/01/17(金) 22:43:50.57ID:EE408Bd70 この場合で言う、データの列の10,20,30というようなアドレス値を取り出す方法はありますか?
63デフォルトの名無しさん (ワッチョイ 4135-TOPI)
2020/01/17(金) 22:44:02.60ID:EE408Bd7064蟻人間 ◆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]というのを行と呼ぶとした時、なぜこの実行結果では行間のアドレス間隔が行数になるのでしょうか。
https://i.imgur.com/CIV0x2N.png
https://i.imgur.com/CIV0x2N.png
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個だ。
それは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 でないものとなる
おまえさんが 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:8VbKHwfkr74デフォルトの名無しさん (ワッチョイ 42c5-6zBS)
2020/01/18(土) 12:36:57.02ID:ADLYtxAZ0 int three[2][3][4];
これは4の配列が3個で、それが2個ということでおk?
これは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個ってなる
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が出力される
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);
}
}
これなにやってるかパット見て分かる人いる?
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 の中はゼロとの比較の方が良いと思う
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)
漸化式による記述
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) 位にして自分でトレースしてみればわかると思う
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は業が深い言語だと思ったわ
まぁあれが一番早いんだろうけど
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:UmCLgzkS099デフォルトの名無しさん (ワッチョイ a17b-WxMz)
2020/01/19(日) 08:26:41.57ID:bqsJmSpA0100デフォルトの名無しさん (ワッチョイ 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してるだけのループじゃん
スタックに積んでgotoしてるだけのループじゃん
103デフォルトの名無しさん (ワッチョイ 82a5-36M6)
2020/01/19(日) 10:09:42.96ID:IjeRNxme0 本物の再帰を実現できる無限のメモリーなんて存在しないじゃん
だから現状は擬似再帰、
しかもあと500年くらいは擬似再帰で我慢してもらうしかない
だから現状は擬似再帰、
しかもあと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が言うからには他の言語ではもっと画期的な方法があるのかと思ってた
>>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));
そんなキャストはしてはいけない
お前の使い方が間違ってる
敢えて括弧を付けるが正しいのはこの二つだけ
printf("%d\n", *(array[0]));
printf("%d\n", *(*array));
114デフォルトの名無しさん (ワッチョイ 8236-HLSl)
2020/01/19(日) 17:47:28.55ID:6oeBvQPN0 無駄なだけの「正しい」括弧なんかやめれ
printf("%d", (*array)[0]); //少なくともこれの意味がわかるようになるまでは
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でも見てきたら?
なんか演算子の優先順位をいい加減に覚えてそう。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
デバッガで見てもゴミ値が入るだけで特に警告もエラーも出さないので
バスエラーになっているかいないか分かりません。バスエラーを体験するにはどうすればいいですか?
コンパイルオプションで対応出来ますか?
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 など
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;
}
の方が簡単
{
return *(int *)0;
}
の方が簡単
124デフォルトの名無しさん (アウアウウー Sa4b-AenA)
2020/01/24(金) 17:55:51.18ID:zcPs/H1Xa >>123
それセグメンテーションフォルトでは?バスエラーになるCPUあるの?
それセグメンテーションフォルトでは?バスエラーになるCPUあるの?
125デフォルトの名無しさん (ワッチョイ 5f36-m6Yn)
2020/01/24(金) 18:05:28.52ID:xfkHfIRp0 リードアクセスだしなあ
0番地が未実装というのは考えにくいね
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として扱う。
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がある
単にズレるだけってCPUがある
130デフォルトの名無しさん (アークセー Sx7b-lpLI)
2020/01/25(土) 00:46:35.96ID:cts07rfpx int i;
int *pi = &i;
*((int *) (((char *) pi) ÷ 1)) = 1;
x86はこれがバスエラーにならないね
int *pi = &i;
*((int *) (((char *) pi) ÷ 1)) = 1;
x86はこれがバスエラーにならないね
131デフォルトの名無しさん (バットンキン MMeb-/WoK)
2020/01/25(土) 01:00:05.76ID:vvn39fxSM132デフォルトの名無しさん (アークセー Sx7b-lpLI)
2020/01/25(土) 01:03:11.29ID:cts07rfpx133デフォルトの名無しさん (ワッチョイ 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系で実行すると期待通りの結果になるんだよ。
ARMのCPUでアラインメントの整合を怠ったら
偶数番地/奇数番地か、その2倍のアドレス値だったか
データの半分しか書き込まれなくて…って事態を目撃したことがある。
素朴なビットマップグラフィックのプログラムだったので
画面がシマシマになるのが文字通り目で見えた。
同じソースをx86系で実行すると期待通りの結果になるんだよ。
135デフォルトの名無しさん (ワッチョイ c701-/WoK)
2020/01/25(土) 18:58:17.60ID:OESzqPub0136デフォルトの名無しさん (アークセー Sx7b-lpLI)
2020/01/25(土) 23:01:02.31ID:5aeLZw2zx >>135
130です
130のように書くとバスエラーがなければ ip を破壊する可能性が高いし、最適化でコードが生成されないためのケアもされていて思慮深いコードですね…
しかしGASのオベランドは逆に見えてしまって…
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 バカには(再帰は)無理
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:i1SX986la154デフォルトの名無しさん (ワッチョイ 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:iDUguYS70159デフォルトの名無しさん (ワッチョイ 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:kTgu21G10165デフォルトの名無しさん (ワッチョイ 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がどくじにかんがえたさいきょう再帰ってことでいいですか?
真の再帰ってなんですか?160がどくじにかんがえたさいきょう再帰ってことでいいですか?
173デフォルトの名無しさん (ワッチョイ 1546-10I6)
2020/01/30(木) 06:00:39.64ID:gnQ2YSBX0174デフォルトの名無しさん (ワッチョイ 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!
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言語ソース生成くらいグリグリやってんとちゃう?
金融なら、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:70BTs5bI0193デフォルトの名無しさん (ワッチョイ 6a36-i7CI)
2020/01/31(金) 21:29:06.27ID:aVH6lH010 4GLとか使って「COBOLの範疇」で書いたつもりになってるやつらが
縁の下の力持ちを知らないのか無視しているのかどっちでもいいが
悪いが鼻で笑わせてもらってたね
俺が見てた事例ではCじゃなくアセンブラだったが
縁の下の力持ちを知らないのか無視しているのかどっちでもいいが
悪いが鼻で笑わせてもらってたね
俺が見てた事例では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で作ってた
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もみると)あるにはありそうな気もするけど
やっぱあまりよくないのかな。強烈に速度がほしい。
(googleもみると)あるにはありそうな気もするけど
やっぱあまりよくないのかな。強烈に速度がほしい。
201デフォルトの名無しさん (ワッチョイ 1163-+5rw)
2020/02/02(日) 01:09:27.11ID:8cBiUpXt0 一方でIoTや組込的な決済プログラムは結構あるそうな。
C言語は安心して使えるから好きなんだよね。
C言語は安心して使えるから好きなんだよね。
202デフォルトの名無しさん (ワッチョイ 2a63-unxX)
2020/02/02(日) 01:19:26.11ID:lNG3EL+m0 業務アプリケーションまで持って行くのが割と大変だと思う
例えばお金の計算させるにしても、概算で良いなんてことは普通無いし
そのライブラリ作っても、信頼性の検証もしないと行けなくなる
預金システムなら、安全堅牢なファイルシステムも工夫しないといけない
趣味や学習として作る分にはとても興味深いものがあるけれど
実用するには、それを得意とするミドルを利用する方が無難だと思う
例えばお金の計算させるにしても、概算で良いなんてことは普通無いし
そのライブラリ作っても、信頼性の検証もしないと行けなくなる
預金システムなら、安全堅牢なファイルシステムも工夫しないといけない
趣味や学習として作る分にはとても興味深いものがあるけれど
実用するには、それを得意とするミドルを利用する方が無難だと思う
203デフォルトの名無しさん (ワッチョイ 1163-+5rw)
2020/02/02(日) 02:59:35.06ID:8cBiUpXt0 むむぅ
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銭が循環小数になっちゃ困るね
全人類の富を表現できるけど
10銭が循環小数になっちゃ困るね
207デフォルトの名無しさん (ワッチョイ 7dda-unxX)
2020/02/02(日) 09:10:15.49ID:Wawdq7250 10銭を1単位にすりゃいいんじゃね?
表現できる最高金額が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進数じゃなく
10進数で計算するんだよ、2進数じゃなく
212デフォルトの名無しさん (ワッチョイ 7dda-unxX)
2020/02/02(日) 09:35:04.50ID:Wawdq7250213デフォルトの名無しさん (ワッチョイ a612-i7CI)
2020/02/02(日) 09:42:25.20ID:SWo7Ruqh0214デフォルトの名無しさん (ワッチョイ 7dda-unxX)
2020/02/02(日) 09:47:08.09ID:Wawdq7250 一銭二銭、あるいはそれ未満を扱うのなら、uint64_t を固定小数点で使えばいいだけでしょうね
>>205
>足し算引き算しかしないと思ってるの?
お金の計算なんて 9 割が加減乗除で済むのでは?
お金の計算で特に必要で特別な計算ってなにかありますか?
>>205
>足し算引き算しかしないと思ってるの?
お金の計算なんて 9 割が加減乗除で済むのでは?
お金の計算で特に必要で特別な計算ってなにかありますか?
>>211
10進で計算しなければならない、その必要性はなんですか?
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進演算ライブラリとかもないですよね
個別に作ってるだけかもしれませんが
個別に作ってるだけかもしれませんが
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とかやるの
精度が確保されてればより正確なんだけど、「本当はこっちの方がより正確です」はダメなんだわ
それまでと変わっちゃダメなの
それと合わなきゃならないの
だからBCDとかやるの
精度が確保されてればより正確なんだけど、「本当はこっちの方がより正確です」はダメなんだわ
それまでと変わっちゃダメなの
223デフォルトの名無しさん (ワッチョイ 1163-6LpL)
2020/02/02(日) 10:57:27.98ID:8cBiUpXt0 >>221
はい、8086 AAA, AAD, AAM, AAS 等の10進補正命令は知っていますが、今から考えても何故にアンパック形式10進なる形式を作ったのか、普通に2進整数+固定小数点では何故だめだったのか、納得できる理由をずっと探しているのです
はい、8086 AAA, AAD, AAM, AAS 等の10進補正命令は知っていますが、今から考えても何故にアンパック形式10進なる形式を作ったのか、普通に2進整数+固定小数点では何故だめだったのか、納得できる理由をずっと探しているのです
226デフォルトの名無しさん (ワッチョイ a902-vKSH)
2020/02/02(日) 11:23:45.02ID:85W5AYJA0 金融業界の習わしの発端について知りたいなら、それ関係のスレで聞けばいいんじゃね?
金融関係システムが10進で計算してるのは常識なんだし要求要件なんだから
それに疑問挟んでごねるプログラマーにはシステム開発発注したくねぇなぁ
金融関係システムが10進で計算してるのは常識なんだし要求要件なんだから
それに疑問挟んでごねるプログラマーにはシステム開発発注したくねぇなぁ
227デフォルトの名無しさん (ワッチョイ 7d4f-unxX)
2020/02/02(日) 11:32:34.14ID:nz0OxFB30 単純に考えて、「(10進)小数点以下N桁目で四捨五入する」なんて規定があるときに
2進固定小数でやるのは面倒くさいじゃん。
2進固定小数でやるのは面倒くさいじゃん。
228デフォルトの名無しさん (ワッチョイ a612-i7CI)
2020/02/02(日) 11:36:06.33ID:SWo7Ruqh0229デフォルトの名無しさん (ブーイモ MM0a-Ftjm)
2020/02/02(日) 12:32:50.80ID:VB3p6sP1M230デフォルトの名無しさん (ワッチョイ 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進演算では正しく扱えない
最小単位をいくらにしても同じことというのをキリがないと言ったんだ
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%を掛けたらいくらになる?
\1,000,500_に源泉税率10.21%を掛けたらいくらになる?
234デフォルトの名無しさん (ワッチョイ a612-i7CI)
2020/02/02(日) 12:49:20.92ID:SWo7Ruqh0 >>232
誤差の出方が10進と2進では違うって話
誤差の出方が10進と2進では違うって話
235デフォルトの名無しさん (ワッチョイ 39d2-fhCF)
2020/02/02(日) 12:51:06.34ID:w7N5c9rM0 誤差がでてもそれよりすごく大きい数で四捨五入するんだから同じだろ
236デフォルトの名無しさん (ブーイモ MM0a-Ftjm)
2020/02/02(日) 12:51:15.29ID:VB3p6sP1M237デフォルトの名無しさん (ワッチョイ ea2c-KoMo)
2020/02/02(日) 12:56:31.50ID:ceem9FS20 10進数では、1/3 が循環小数で、
2進数では、1/10 が循環小数って、言うだけ!
2進数では、1/10 が循環小数って、言うだけ!
238デフォルトの名無しさん (ワッチョイ a612-i7CI)
2020/02/02(日) 12:59:27.07ID:SWo7Ruqh0239デフォルトの名無しさん (ワッチョイ 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まで全部表示できるけど
2進数だと0.1が表示できないってことじゃないのか?
10進数なら0.1から0.9まで全部表示できるけど
241デフォルトの名無しさん (ワッチョイ ea02-L01+)
2020/02/02(日) 13:28:12.47ID:OL0mFBDc0 計算機イプシロンでいいだろもう
今回の低レベルの諍いについてvoid君はどう思う?
今回の低レベルの諍いについてvoid君はどう思う?
242デフォルトの名無しさん (ワッチョイ 89b3-x67y)
2020/02/02(日) 13:32:17.04ID:D8WvcGqJ0243デフォルトの名無しさん (ワッチョイ 89b3-x67y)
2020/02/02(日) 13:34:11.48ID:D8WvcGqJ0 100万円を利息年3%で借りた時
1年で利息はいくら?
1年で利息はいくら?
244デフォルトの名無しさん (ワッチョイ 7dda-unxX)
2020/02/02(日) 13:39:19.37ID:Wawdq7250 そんなもんどんな返し方をするかがわからんと解析解さえ出ない
>>227
その場合、小数点以下N桁目、あるいは余裕をみて N+4桁目くらいを考えて
10^(N+4) 倍して整数1 と内部表現 10^(N+4) を一対一対応とすれば整合性はとれるのでは?(これを固定小数点といいます)
その場合、小数点以下N桁目、あるいは余裕をみて N+4桁目くらいを考えて
10^(N+4) 倍して整数1 と内部表現 10^(N+4) を一対一対応とすれば整合性はとれるのでは?(これを固定小数点といいます)
>>231
10進の1 の内部表現を 10, 10進の2 の内部表現を 20, 10進の3 の内部表現を 30 …、10進の0.1 の内部表現を 1
という固定小数点にすれば、 お金の計算のような演算では十分なのでは?
10進の1 の内部表現を 10, 10進の2 の内部表現を 20, 10進の3 の内部表現を 30 …、10進の0.1 の内部表現を 1
という固定小数点にすれば、 お金の計算のような演算では十分なのでは?
>>242
まあ五捨五入というのは、よそではあまり聞かないですね
まあ五捨五入というのは、よそではあまり聞かないですね
249デフォルトの名無しさん (スッップ Sd0a-x67y)
2020/02/02(日) 13:56:18.00ID:gkoi3ncld 値を保持するだけなら何でも良いよ
保持出来るだけの精度が有れば
固定小数点だろうが整数部と小数部だろうが
10進浮動小数点だろうが
BCD整数だろうが
計算の方法、式、丸め方が特殊で
途中の型も特殊だったりする
これに多くの評価が必要
だから
結果の型だけを語るのはトンチンカン
保持出来るだけの精度が有れば
固定小数点だろうが整数部と小数部だろうが
10進浮動小数点だろうが
BCD整数だろうが
計算の方法、式、丸め方が特殊で
途中の型も特殊だったりする
これに多くの評価が必要
だから
結果の型だけを語るのはトンチンカン
250デフォルトの名無しさん (ワッチョイ 7d4f-unxX)
2020/02/02(日) 14:01:47.01ID:nz0OxFB30 >>246
一回計算する毎にいちいち2進に戻すのにそんな手間かけるより10進演算器用意する方が効率的ということ
一回計算する毎にいちいち2進に戻すのにそんな手間かけるより10進演算器用意する方が効率的ということ
251デフォルトの名無しさん (スッップ Sd0a-x67y)
2020/02/02(日) 14:06:26.86ID:gkoi3ncld 手間とか効率とかの問題じゃなくて
値の一貫性の問題
最終的に得る値が整数だとしても
途中の計算精度や丸め方によって誤差が微妙に異なり
結果1円の誤差になりました
じゃダメなの
値の一貫性の問題
最終的に得る値が整数だとしても
途中の計算精度や丸め方によって誤差が微妙に異なり
結果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桁精度でも無限精度でもダメ
決まってるロジック通りの結果を返さなきゃダメ
数値計算と思わない方が良いかも
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でも同じ値である必要かある
対戦相手と結果が異なってはまずいので
そういう部分では
厳密にCPUでもGPUでも同じ値である必要かある
256デフォルトの名無しさん (ワッチョイ 39d2-fhCF)
2020/02/02(日) 14:17:57.04ID:w7N5c9rM0 わかったぞ
十進数だと0.5円になるときには四捨五入すると1円になるけど
2進数の時0.4999999999円みたいになった時0円になっちゃうってこと?
十進数だと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円払って終わりじゃね?
アメリカとかだと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進で計算せよというロジックがあるからであって,循環小数を避けるためではない
ということか
そういうことなら誰も文句ないんじゃね?
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 を使う
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
何も考えずに計算結果出して見せたら、
合計が100%になってないと文句を言われたw
266デフォルトの名無しさん (ワッチョイ b501-0Ybi)
2020/02/02(日) 15:07:37.05ID:mzCY/+E00 一番上のお姉ちゃんがプリン食べれないやつか。
>>250
>一回計算する毎にいちいち2進に戻すのにそんな手間かけるより10進演算器用意する方が効率的ということ
いいえ、値の保持と計算はずっと 2 進+固定小数点のままで行い、人間に値を見せるときにはじめて 2 進→ 10 進変換を実施します
>途中の計算精度や丸め方によって誤差が微妙に異なり
お金の計算における丸め方法の規則は、四捨五入にしても五捨五入にしても 10 進法整数に親和的なのだから、多桁長表現+固定小数点で表現すればかなり厳密に扱えるとおもいますよ
>一回計算する毎にいちいち2進に戻すのにそんな手間かけるより10進演算器用意する方が効率的ということ
いいえ、値の保持と計算はずっと 2 進+固定小数点のままで行い、人間に値を見せるときにはじめて 2 進→ 10 進変換を実施します
>途中の計算精度や丸め方によって誤差が微妙に異なり
お金の計算における丸め方法の規則は、四捨五入にしても五捨五入にしても 10 進法整数に親和的なのだから、多桁長表現+固定小数点で表現すればかなり厳密に扱えるとおもいますよ
>>263
>Decimal を使う
Decimal の内部表現方法に興味がありますね、まさか、今でも BCD だとは思えませんが(x86_AMD64 でも関連ニーモニックは消えました)、もしかして?!
>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で表せる
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年来の疑問
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 小数と少数を間違えないで
>>267
>>いいえ、値の保持と計算はずっと 2 進+固定小数点のままで行い、人間に値を見せるときにはじめて 2 進→ 10 進変換を実施します
>>271
>丸めは計算ごとに適用されるんだよ、馬鹿。
そうか、確かに私にも落ち度がありました、2進整数+固定小数点ならば、丸める桁まで 10 で割り続けて余りを求める必要がありますね、これはほとんど2進→10進変換といっていいですね
しかし、全桁を 2進→10進する必要はなく、丸める桁までで 2 進→ 10 進するだけでいい
x86-AMD64 では 8086 時代の BCD 補正命令は全部なくなってしまったことから考えても、「Decimal」型は整数+小数点位置なんじゃないかな…
>>いいえ、値の保持と計算はずっと 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:SWo7Ruqh0279デフォルトの名無しさん (ブーイモ 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進数があるから見てみれば
IEEE754にも10進数があるから見てみれば
282デフォルトの名無しさん (ブーイモ MM0a-Ftjm)
2020/02/02(日) 16:50:09.63ID:VB3p6sP1M283デフォルトの名無しさん (ワッチョイ a612-i7CI)
2020/02/02(日) 17:00:29.36ID:SWo7Ruqh0284デフォルトの名無しさん (ワッチョイ 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+m0288デフォルトの名無しさん (ワッチョイ 6aa5-OeZ9)
2020/02/02(日) 19:18:27.60ID:825maVGz0 >>219
そりゃーC言語よりも古いCOBOLがあるもん
銀行案件は全部そっち任せだろ
だからそういうライブラリを発達させる必要が無かった
COBOL最盛期がいつかは知らんがきっとIBM最高益の時代あたりだろ
そりゃー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;}
普通に書けば最適化してくれる場合もある。
とりあえず 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命令で複数一気に
スーパーコンピュータでも遅い
定数の割り算で済む所は定数に
並列化可能ならSIMD命令で複数一気に
291デフォルトの名無しさん (ワッチョイ a612-i7CI)
2020/02/02(日) 20:55:57.98ID:SWo7Ruqh0 >>285
まあそういうことだ
おまえさんにとっての関心事に関係するかどうかは知らん
さっき言ったとおり、俺は保育士じゃないんで他人ん家の坊ちゃん嬢ちゃんは扱えない
プラレールだかリカちゃんだかの相手はしてられない
まあそういうことだ
おまえさんにとっての関心事に関係するかどうかは知らん
さっき言ったとおり、俺は保育士じゃないんで他人ん家の坊ちゃん嬢ちゃんは扱えない
プラレールだかリカちゃんだかの相手はしてられない
292デフォルトの名無しさん (ワッチョイ a612-i7CI)
2020/02/02(日) 20:57:05.76ID:SWo7Ruqh0293デフォルトの名無しさん (スッップ Sd0a-x67y)
2020/02/02(日) 23:53:32.36ID:gkoi3ncld タンジェントもべき乗も遅いけど
使う頻度的には割り算より圧倒的に少ないし
見るからに遅そうだから気を付けるだろう
割り算や余りは手軽に使いがちで遅い
例えばSkylakeでは加減乗算の100倍くらいかかる
割り算と余り両方使うなら
以下のように書いた方が良い
c=a/b;
d=a-c*b;
除算命令を2回呼ぶことはなくなるし
bが定数なら乗算に置き換えてくれる
ライブラリだとbが定数でも除算命令を使ってしまうと思う
使う頻度的には割り算より圧倒的に少ないし
見るからに遅そうだから気を付けるだろう
割り算や余りは手軽に使いがちで遅い
例えばSkylakeでは加減乗算の100倍くらいかかる
割り算と余り両方使うなら
以下のように書いた方が良い
c=a/b;
d=a-c*b;
除算命令を2回呼ぶことはなくなるし
bが定数なら乗算に置き換えてくれる
ライブラリだとbが定数でも除算命令を使ってしまうと思う
294デフォルトの名無しさん (ワッチョイ ea79-/fp1)
2020/02/03(月) 07:43:30.26ID:0n0692Cx0 除算が遅いってのは常識だな
浮動小数点数演算の話だが2回以上同じ数で割るなら逆数を取っておいてそれを掛けろと習ったわ
そもそも浮動小数点数演算が圧倒的に遅いから可能な限り整数型で済ませろとも
浮動小数点数演算の話だが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/[定数])
で値が異なることがあるため、最適化してくれない場合がある
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:e9E2NTEb0299デフォルトの名無しさん (ワッチョイ 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:m5kUFkC70302デフォルトの名無しさん (スッップ 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を無条件で使ってしまう
スループットを見ると
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クロックもかかる
遅さがわかるでしょ?
加減乗算と積和は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;
}
#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 になるとも限りません。
対象の環境を限定して何が起こっているか知りたいならアセンブリを出力してみるのがいいと思います。
aliasing rule 違反やアライメント違反の可能性などにより未定義動作なので 0x4433 になるとも限りません。
対象の環境を限定して何が起こっているか知りたいならアセンブリを出力してみるのがいいと思います。
311デフォルトの名無しさん (ワッチョイ 7d01-0Ybi)
2020/02/04(火) 07:14:24.84ID:j6eziqdx0 >>310
アセンブリ出力してみてみたんですが、そもそもなぜそのようになるのかが疑問です。
この場合、"0x11"がBYTE, "0x22, 0x33"がWORDのバイト配列を構造体で表したい場合どうすればいいのでしょうか?
アセンブリ出力してみてみたんですが、そもそもなぜそのようになるのかが疑問です。
この場合、"0x11"がBYTE, "0x22, 0x33"がWORDのバイト配列を構造体で表したい場合どうすればいいのでしょうか?
312デフォルトの名無しさん (ワッチョイ 89b3-x67y)
2020/02/04(火) 07:36:55.76ID:CGekWIL20 bは2バイトだから2バイト境界になるように詰め物をした
コンパイラやCPUの仕様
コンパイラやCPUの仕様
313デフォルトの名無しさん (ワッチョイ 89b3-x67y)
2020/02/04(火) 07:38:21.05ID:CGekWIL20 環境依存
#pragma pack とかコンパイルオプションで
変えられたりする
#pragma pack とかコンパイルオプションで
変えられたりする
314デフォルトの名無しさん (ワッチョイ e5f9-/fp1)
2020/02/04(火) 07:49:06.50ID:QC3PzamG0315デフォルトの名無しさん (ワッチョイ 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は構造体の性質を調べる実験をしていて
そのために普段しないことをわざとやってるんだが
309は構造体の性質を調べる実験をしていて
そのために普段しないことをわざとやってるんだが
319デフォルトの名無しさん (アウアウウー Sa21-lBRq)
2020/02/04(火) 15:53:52.78ID:MHG3R7Tga ネットワークやファイルから読んだバイナリの塊を構造体に当て嵌めて解析を楽にするなんてことは、よくやる。
まあ、本当だったらバイナリから読んで構造体側にコピーするような関数を作った方が良いんだろうけどね。(またはPerlのunpackみたいなやつ)。
まあ、本当だったらバイナリから読んで構造体側にコピーするような関数を作った方が良いんだろうけどね。(または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:b7qwiVAD0322デフォルトの名無しさん (スッップ 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+0332デフォルトの名無しさん (アウウィフ 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は
問題が分かりにくく厄介
例外発生
ズレてアクセス
性能以外の振舞いこのくらいは経験がある
他にあるかな?
ズレてアクセスされるCPUは
問題が分かりにくく厄介
338デフォルトの名無しさん (ワッチョイ b7b3-pfqa)
2020/02/06(木) 07:35:58.42ID:/W9iMVJD0 机上も重要
CPUのデータシートやコンパイラの説明書は当然見ないと
ズレてるスタックポインタをずらしたまま使う意味とかわからんでしょ
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;ググってて遭遇ちょっと新鮮な驚き
実体を作らず、ポインタキャストでのみ利用してっとグチャゲチャなアドレスを引っ張ってくるみたいな
union { ;static{ al,ah;ググってて遭遇ちょっと新鮮な驚き
実体を作らず、ポインタキャストでのみ利用してっとグチャゲチャなアドレスを引っ張ってくるみたいな
344デフォルトの名無しさん (ラクッペ MMcb-oJhu)
2020/02/07(金) 17:54:26.07ID:flffdOy2M AAと出力されて欲しいのですがなぜ4バイトになるのでしょうか
https://ideone.com/0v6mPr
https://ideone.com/0v6mPr
345デフォルトの名無しさん (ブーイモ MM1b-CFeS)
2020/02/07(金) 18:46:29.60ID:ZbQSjjsiM charを引数として渡すとintに格上げされる。
charがこの環境ではsigned charらしいので、0xAAはマイナス扱いされる。
intに格上げするときに符号拡張されて上位24ビットが1で埋められる。
charがこの環境ではsigned charらしいので、0xAAはマイナス扱いされる。
intに格上げするときに符号拡張されて上位24ビットが1で埋められる。
346デフォルトの名無しさん (ラクッペ MMcb-oJhu)
2020/02/07(金) 19:07:15.66ID:OIss2gZ6M347デフォルトの名無しさん (ワッチョイ 9f63-56gX)
2020/02/07(金) 19:12:45.37ID:2Fs88HW00 こうする、とか
printf("%0X\n", *(unsigned char*)u);
printf("%0X\n", (unsigned char)u[0]);
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万稼げるエンジニアになった理由
https://www.youtube.com/watch?v=DrbbyGsHQic
意識が低いエンジニアこそフリーランスになれ
https://www.youtube.com/watch?v=nSEaAJlgjbQ
フリーランスエンジニアの週3労働ってどんな感じ?
https://www.youtube.com/watch?v=8yjoDCdbzMc
ぼくがスキルのない社畜ならこうやって脱する
https://www.youtube.com/watch?v=aae8xxbUlMM
初めて人を雇ったらもう二度とサラリーマンをやりたくないと思った話
https://www.youtube.com/watch?v=U0OCGRVLFsM
プログラミングは文系でも余裕で出来ます!理由を現役プログラマーが解説
https://www.youtube.com/watch?v=iBOeiSKBIW8
貧乏人こそ社会不適合者
https://www.youtube.com/watch?v=O3BT72BIBJI
元ド貧乏が教える】貧乏を抜け出すための2つの考え方
https://www.youtube.com/watch?v=IRrCgTy3ckc
より良いオファー貰ってるのに転職しないとか何考えてるの?
https://www.youtube.com/watch?v=i0J6uRhlj7o
https://www.youtube.com/watch?v=DrbbyGsHQic
意識が低いエンジニアこそフリーランスになれ
https://www.youtube.com/watch?v=nSEaAJlgjbQ
フリーランスエンジニアの週3労働ってどんな感じ?
https://www.youtube.com/watch?v=8yjoDCdbzMc
ぼくがスキルのない社畜ならこうやって脱する
https://www.youtube.com/watch?v=aae8xxbUlMM
初めて人を雇ったらもう二度とサラリーマンをやりたくないと思った話
https://www.youtube.com/watch?v=U0OCGRVLFsM
プログラミングは文系でも余裕で出来ます!理由を現役プログラマーが解説
https://www.youtube.com/watch?v=iBOeiSKBIW8
貧乏人こそ社会不適合者
https://www.youtube.com/watch?v=O3BT72BIBJI
元ド貧乏が教える】貧乏を抜け出すための2つの考え方
https://www.youtube.com/watch?v=IRrCgTy3ckc
より良いオファー貰ってるのに転職しないとか何考えてるの?
https://www.youtube.com/watch?v=i0J6uRhlj7o
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ファイルを作成するにはどうすればよいのでしょうか?
ある.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++の違いについて調べていけば良さそうとわかったので、自力で調べてみようと思います。
ありがとうございました。
質問内容についても、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"ってこういうことだったんですね。お騒がせいたしました。
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ぺろぺろ
おいCぺろぺろ
360デフォルトの名無しさん (ワッチョイ 7276-bbsC)
2020/02/15(土) 07:15:19.12ID:AzMEQbXZ0361デフォルトの名無しさん (ラクッペ 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:26AgvMdu0370デフォルトの名無しさん (ワッチョイ ffc5-IdAT)
2020/02/19(水) 13:02:11.34ID:/eqfvSaW0371デフォルトの名無しさん (スップ 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コアで複数スレッド動くのはどっち?
とか
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万】
https://www.youtube.com/watch?v=o2ISWP-VZsw
年収3000万円以上になってはじめて理解すること【拝金からの脱却】
https://www.youtube.com/watch?v=nLEfFj2jL3A&t=182s
貧乏人に発言権とかないからwww
https://www.youtube.com/watch?v=BLGxunoO7X0&t=32s
【日常】実働20hで700万円稼ぐインフルエンサーの生活を公開
https://www.youtube.com/watch?v=YhX6Quus6lY&t=232s
皆正しいと思ってるけど実は間違ってる上司のクソ発言5選
https://www.youtube.com/watch?v=-M0BICeFSFg
月収700万円の僕が大学生のうちに身につけておきたかったスキル4選
https://www.youtube.com/watch?v=PZ2YYhCryAQ
https://www.youtube.com/watch?v=o2ISWP-VZsw
年収3000万円以上になってはじめて理解すること【拝金からの脱却】
https://www.youtube.com/watch?v=nLEfFj2jL3A&t=182s
貧乏人に発言権とかないからwww
https://www.youtube.com/watch?v=BLGxunoO7X0&t=32s
【日常】実働20hで700万円稼ぐインフルエンサーの生活を公開
https://www.youtube.com/watch?v=YhX6Quus6lY&t=232s
皆正しいと思ってるけど実は間違ってる上司のクソ発言5選
https://www.youtube.com/watch?v=-M0BICeFSFg
月収700万円の僕が大学生のうちに身につけておきたかったスキル4選
https://www.youtube.com/watch?v=PZ2YYhCryAQ
384デフォルトの名無しさん (ワッチョイ 83f9-IdAT)
2020/02/19(水) 22:29:58.40ID:fef8YCm90 並んで行くのが並行
列が並んでいるのが並列
なんでTSSは並行なの?並列じゃダメなの?
なんでデュアルコアは並列なの?並行じゃダメなの?
列が並んでいるのが並列
なんでTSSは並行なの?並列じゃダメなの?
なんでデュアルコアは並列なの?並行じゃダメなの?
385デフォルトの名無しさん (ワッチョイ cf8f-zycr)
2020/02/19(水) 23:45:11.13ID:i+U4mRBo0 とりあえずこういう時は日本語で考えるのやめようぜ。並列も並行も海外で生まれた概念を翻訳しただけなのでそのまま考えると帰って混乱する。
concurrentは同時。これは時間的な概念。
parallelは並存。これは物理的な概念。
つまり同時に処理するものはなんでもconcurrentな処理と言っていいわけだけど、その中でも処理するcpuも別れてるものがparallelな処理。
concurrentは同時。これは時間的な概念。
parallelは並存。これは物理的な概念。
つまり同時に処理するものはなんでもconcurrentな処理と言っていいわけだけど、その中でも処理するcpuも別れてるものがparallelな処理。
386デフォルトの名無しさん (ワッチョイ 83f9-IdAT)
2020/02/20(木) 10:12:07.92ID:znahik0W0 >>385
TSSはconcurrentだけどparallelじゃない(ミクロにみればconcurrentでもない)
デュアルコアはparallelだしconcurrentでもある
でいい?
「TSSは並行、デュアルコアは並列」の使い分けを肯定しないってことでいいのかな
TSSはconcurrentだけどparallelじゃない(ミクロにみればconcurrentでもない)
デュアルコアはparallelだしconcurrentでもある
でいい?
「TSSは並行、デュアルコアは並列」の使い分けを肯定しないってことでいいのかな
387デフォルトの名無しさん (ワッチョイ 7353-Nz9x)
2020/02/20(木) 10:53:44.93ID:yQ1/Uz2n0 TSS? 全然関係ないぞ
ユニプロセッサの場合CPUは並行処理で動くが
端末やチャネルは並列だ
マルチプロセッサでもTCASにCPUアフィニティがかかっている場合まであるしな
ユニプロセッサの場合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+nIZM390デフォルトの名無しさん (ラクッペペ MM7f-sDUE)
2020/02/20(木) 13:30:18.30ID:MjOQHpIxM >>385
これ見て納得した。並行と並列って翻訳した人が戦犯だな。
これ見て納得した。並行と並列って翻訳した人が戦犯だな。
392デフォルトの名無しさん (ワッチョイ 7353-Nz9x)
2020/02/20(木) 16:04:59.94ID:yQ1/Uz2n0393デフォルトの名無しさん (ワッチョイ ff63-Nz9x)
2020/02/20(木) 16:13:55.60ID:yRc9LKeD0 喧嘩を買う人が出てきました
394デフォルトの名無しさん (ドコグロ MM1f-P13C)
2020/02/20(木) 19:00:10.65ID:2rLj+nIZM395デフォルトの名無しさん (ワッチョイ 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はそれを肯定してる
それ本当かなぁどの程度浸透してるのかなぁ、って興味があるだけ
>369の
>ユニプロセッサでプリエンプティブは並行処理
ってTSSのことじゃないの?
並行/並列、concurrent/parallelはどっちでもいいよ
単語を置き換えてるだけだ
>365は"「TSSは並行、デュアルコアは並列」と使い分けるもんだ"と言ってるように見える
>368,369はそれを肯定してる
それ本当かなぁどの程度浸透してるのかなぁ、って興味があるだけ
397デフォルトの名無しさん (ワッチョイ 7353-Nz9x)
2020/02/20(木) 21:41:18.48ID:yQ1/Uz2n0398デフォルトの名無しさん (ワッチョイ 83f9-IdAT)
2020/02/20(木) 22:37:15.34ID:znahik0W0 今俺の興味はそこにはないからどうでもいいんだけどさ
https://www.google.com/search?q=time+sharing+system
その定義のみしかないわけじゃないみたいだよ
単に時分割の意味で使ってたよ
そう読み替えてくれ
https://www.google.com/search?q=time+sharing+system
その定義のみしかないわけじゃないみたいだよ
単に時分割の意味で使ってたよ
そう読み替えてくれ
399デフォルトの名無しさん (ワッチョイ ff01-P13C)
2020/02/20(木) 23:22:33.12ID:zL7x3NPI0400デフォルトの名無しさん (ワッチョイ 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
誰も間違えてるなんて言ってないし、一つ上のレスすら見てないのか?w
402デフォルトの名無しさん (ワッチョイ 7353-Nz9x)
2020/02/21(金) 07:42:26.05ID:ZYgKzVvr0403デフォルトの名無しさん (アウアウクー 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
> ダム端末は確かに昔のことだが並行か並列かという話には関係ない
だからその定義だと関係ないとしても、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/JCh9M413デフォルトの名無しさん (ドコグロ MM87-P13C)
2020/02/21(金) 19:43:30.51ID:GK8/JCh9M414デフォルトの名無しさん (ワッチョイ 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は出来る
ほとんどの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 でもその構造体名を展開したいというのが要点です。
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使うしかないのでは。
として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
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 なんかと組み合わせるとここに居る連中でも頭を悩ませることになりそうだ。
でもただ * を並べるだけじゃなく、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
ttps://qiita.com/kaityo256/items/84d8ba352009e3a0fe42
たった4000個ほどしか付けられないらしい
printfに4285個アスタリスクをつけるとclang++が死ぬ - Qiita
ttps://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 も関数自体のアドレスで同じ値になる。
ちょっとややこしいかも。
ちなみに関数ポインタ変数 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 データ)
を指していることかな。
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;
とは書けない模様。
この辺の挙動はコンパイラによって違うのかも。
と定義された関数ポインタ 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
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:VZ0aGjef0438437 (ワッチョイ 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てのはいつ頃流行ったシロモノなんだ?
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 単位に区切ってるんじゃないのかな。
ポインタを ++ しながらメモリアクセスして 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以降のメモリにアクセスできないって事ですか?
連続アクセスはポインタを ++ でインクリメントしながらループするレベルで言っています
Hugeポインタというものもあったんですね、知りませんでした
これを使うとポインタを ++ する度にセグメントレジスタを更新するので遅いが64KB以上のアクセスができるって事ですよね
farポインタはポインタを ++ してもセグメントレジスタは更新されず、早いけど64KB以上のアクセスはできないって事でしょうか?
あれ、もしそうなら例えば0x0EFFF0を指すfarポインタで ++ しながらメモリアクセスした場合
16バイト以上は0xE0000に戻ってしまい0x0F0000以降のメモリにアクセスできないって事ですか?
453デフォルトの名無しさん (ワッチョイ 657b-M08V)
2020/04/02(木) 17:09:56.05ID:0sikvQpW0 「正規化マクロ」なんてのもあった記憶がある。
オフセット部の上位ビットをセグメント部に移して、
オフセット部の値を 0-15 に制限する。
適当なタイミングで「正規化」することで
64KBを越える範囲を連続的にアクセスできるようになる。
いわゆる「透過的」ではないけれど。
オフセット部の上位ビットをセグメント部に移して、
オフセット部の値を 0-15 に制限する。
適当なタイミングで「正規化」することで
64KBを越える範囲を連続的にアクセスできるようになる。
いわゆる「透過的」ではないけれど。
454デフォルトの名無しさん (エムゾネ FF43-8H9x)
2020/04/02(木) 18:29:53.16ID:4X8ewqwSF >>442
90年代前半?
90年代前半?
455デフォルトの名無しさん (エムゾネ FF43-8H9x)
2020/04/02(木) 18:32:26.76ID:4X8ewqwSF456デフォルトの名無しさん (エムゾネ FF43-8H9x)
2020/04/02(木) 18:35:21.60ID:4X8ewqwSF >>452
誤解されそうなので補足だけど
>0x0EFFF0を指すfarポインタで ++ しながらメモリアクセスした場合
セグメントレジスタ 0x0EFFF
ポインタ 0x000F
なら 0x0EFFFF にアクセス出来るし
セグメントレジスタ 0x0EFFF
ポインタ 0x0010
なら 0x0F0000 にアクセス出来る
誤解されそうなので補足だけど
>0x0EFFF0を指すfarポインタで ++ しながらメモリアクセスした場合
セグメントレジスタ 0x0EFFF
ポインタ 0x000F
なら 0x0EFFFF にアクセス出来るし
セグメントレジスタ 0x0EFFF
ポインタ 0x0010
なら 0x0F0000 にアクセス出来る
457デフォルトの名無しさん (ワッチョイ 253d-5QI3)
2020/04/02(木) 18:58:03.66ID:SCUy7Ffk0 >>447
オフセットがあふれてもセグメント部分はインクリメントしない、したがって 64 KB を超えて連続アクセスはできない
オフセットがあふれてもセグメント部分はインクリメントしない、したがって 64 KB を超えて連続アクセスはできない
>>448
huge はバグっていた
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は後者
16ビットと一言で言ってるけど、x86の場合リアルモードとプロテクトモードでセグメントの扱いは全く異なるから注意
16倍して足すだけなのは前者のとき(DOSとか)
Windows3.1は後者
464デフォルトの名無しさん (ドコグロ MM93-5poS)
2020/04/03(金) 07:13:39.26ID:sD1svSjIM465デフォルトの名無しさん (ワッチョイ 6db3-ii8Z)
2020/04/03(金) 07:42:16.55ID:smM7aeLk0 そうそう
どうせコードがバグってるのをコンパイラのバグだと騒いでるんだと思って聞いてみた
どうせコードがバグってるのをコンパイラのバグだと騒いでるんだと思って聞いてみた
466デフォルトの名無しさん (ワッチョイ 6352-cvTZ)
2020/04/03(金) 08:17:02.15ID:y4LIlYUL0 まあQZは思い込みが激しいし話半分に聞いておけばいいな
468デフォルトの名無しさん (ワッチョイ e5ca-Otsn)
2020/04/03(金) 20:59:00.91ID:15ER3YJX0 >>464
条件が成立してるはずなのにどうしても走らないコードがあり、コンパイラの最適化のバグで処理が消えたと思い最適化のスイッチをいろいろいじり、
それでもだめでコンパイラ自体のバグを疑い吐かせたアセンブラソースに処理コードが吐かれてないことを確認して、
ほれ見たことかコンパイラが悪い!と報告を上げた後でコメントの */ が抜けてることを発見した俺には敵うまい。
条件が成立してるはずなのにどうしても走らないコードがあり、コンパイラの最適化のバグで処理が消えたと思い最適化のスイッチをいろいろいじり、
それでもだめでコンパイラ自体のバグを疑い吐かせたアセンブラソースに処理コードが吐かれてないことを確認して、
ほれ見たことかコンパイラが悪い!と報告を上げた後でコメントの */ が抜けてることを発見した俺には敵うまい。
469デフォルトの名無しさん (ワッチョイ 6db3-ii8Z)
2020/04/04(土) 00:47:19.29ID:qMa2xGJ10 私はいくつかコンパイラのバグを見つけたけどね
見つけた時は発生する最小形にしてから報告
コンパイラのバグだとさわぐヤツの99%は自分のバグ
ってのは同意
見つけた時は発生する最小形にしてから報告
コンパイラのバグだとさわぐヤツの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
> 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
× こういう風に書いたのですがxxのコンパイラなら問題ないのにxxxの方だと誤作が(ry
〇 xxxつかったら動かねぇ!!ソースに間違いは無い!!クソコンパイラ!!謝罪と賠(ry
474デフォルトの名無しさん (ドコグロ MM93-5poS)
2020/04/04(土) 10:12:08.70ID:o3XzX6/PM475デフォルトの名無しさん (ワッチョイ 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:glhU6EPt0480デフォルトの名無しさん (ドコグロ MM43-5poS)
2020/04/04(土) 15:13:09.29ID:KrNZzm/nM481デフォルトの名無しさん (ワッチョイ 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のメタ構築機能はゴミみたいなもんだし
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項演算子の結合は特殊なので
人間にとっては複雑なのは間違いないけど
演算子のネストなんて3項じゃなきゃ普通にやってることで
コンパイラにとっては普通のこと
3項演算子の結合は特殊なので
人間にとっては複雑なのは間違いないけど
487デフォルトの名無しさん (ワッチョイ 6db3-ii8Z)
2020/04/05(日) 07:31:27.17ID:c+nOX//s0488デフォルトの名無しさん (ドコグロ MM71-5poS)
2020/04/05(日) 09:05:29.09ID:1wSwWGx9M >>487
> 3項演算子の優先度は
> 良くある演算子の優先度表を見るだけじゃ仕様がわからない
意味不明、普通にわかるだろ
https://ja.cppreference.com/w/c/language/operator_precedence
> 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エンジン
ttp://x0000.net/topic.aspx?id=3677-0
ある強力なFor関数
ttp://x0000.net/topic.aspx?id=3630-0
SQLライブラリ
ttp://x0000.net/topic.aspx?id=3675-0
matrixのライブラリ
ttp://x0000.net/topic.aspx?id=3711-0
ttp://x0000.net/topic.aspx?id=3677-0
ある強力なFor関数
ttp://x0000.net/topic.aspx?id=3630-0
SQLライブラリ
ttp://x0000.net/topic.aspx?id=3675-0
matrixのライブラリ
ttp://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);
A ? B ? D : E : C ? F : G;
(A ? B ? D : E : C) ? F : G;
A ? B ? D : E : (C ? F : G);
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のはさらに結合の優先度が判りにくい気がする(慣れてないだけかも知れない)
人間には右につなげる方が見やすいのかも知れないが
コンパイラ的にあいまいさが無いのは左(内側?)に入れていく方だと思う
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 ?
B ? D : E :
C ? F : G;
A
? B ? D : E
: C ? F : G;
A ?
B ? D : E :
C ? F : G;
A
? B ? D : E
: 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;
. . B ? D : E :
. . C ? F : G;
A
. . ? B ? D : E
. . : C ? F : G;
502デフォルトの名無しさん (ワッチョイ 6db3-ii8Z)
2020/04/07(火) 07:20:31.07ID:Aukj6IXD0503デフォルトの名無しさん (ワッチョイ 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文を使うな
ただの代入にわざわざ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 のような書き方ができる。
他の言語からのパクリだとは思うが、val a = if (x == y) b else c のような書き方ができる。
>>509
lisp とか haskell とか、関数型全般はそうやりますよね…
lisp とか haskell とか、関数型全般はそうやりますよね…
511デフォルトの名無しさん (ワッチョイ ebb3-aNAp)
2020/04/08(水) 02:14:53.71ID:VV8vD69L0512デフォルトの名無しさん (ワッチョイ 8252-b+QY)
2020/04/08(水) 03:26:20.58ID:5a3Kp3Hv0 >>511
ダメと言われている三項演算子を使ってません!と言えることかなw
一つあるとしたら、ネストさせたときに if ... else if ... else if ... else とできることか。
式の中に文のような表現が入る気持ち悪さがあるから、三項演算子の方がまだましな気もするが。
ダメと言われている三項演算子を使ってません!と言えることかなw
一つあるとしたら、ネストさせたときに if ... else if ... else if ... else とできることか。
式の中に文のような表現が入る気持ち悪さがあるから、三項演算子の方がまだましな気もするが。
513デフォルトの名無しさん (ワッチョイ ebb3-aNAp)
2020/04/08(水) 08:02:03.15ID:VV8vD69L0514デフォルトの名無しさん (ワッチョイ 8252-b+QY)
2020/04/08(水) 09:37:01.78ID:5a3Kp3Hv0515デフォルトの名無しさん (スプッッ 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 にしてソース内にスコープを絞る感じじゃね。
別に構造体にする必要は無いじゃん。
しいて言えば、引数でたらい回しにするときこそ構造体が便利で、そういうやり方になるとシングルトンというより 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使おうかと思ってた時期もあるけど、けっきょく構造体使ってエラーハンドリングしちゃう
errno使おうかと思ってた時期もあるけど、けっきょく構造体使ってエラーハンドリングしちゃう
531デフォルトの名無しさん (ワッチョイ d7ca-BKMK)
2020/04/09(木) 11:29:30.64ID:DMgYiRAM0 >>530
グローバル変数とlongjmp
グローバル変数とlongjmp
532デフォルトの名無しさん (ワッチョイ 620e-AglQ)
2020/04/09(木) 11:41:05.77ID:tgAP9EIB0 jmp_bufはグローバルにしちゃダメだよ
533デフォルトの名無しさん (ワッチョイ a2c5-KRXG)
2020/04/09(木) 12:28:29.74ID:/KG6GbYC0534デフォルトの名無しさん (ドコグロ 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 なグローバル変数でもいいわけで。
グローバルにするかローカルにするかなんてその時の作りに応じて選べばいいだけで、グローバルじゃダメなんて何のルールだよって話なだけだろ。
別にライブラリが呼び出し元に戻る直前の手段として 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:doBqOulyM544デフォルトの名無しさん (ワッチョイ 6740-MOmQ)
2020/04/10(金) 13:35:44.69ID:OARfLwlq0 long long a;
int b;
a >>= 8 * b;
‾‾‾‾‾演算のオーバーフロー
4バイトの値に演算子*を使用し、結果を8バイトの値にキャストしています。
オーバーフローを避けるため、演算子*を呼び出す前に値を幅の広い型にキャストしてください。
シフト演算でも右辺値は左辺値の型にキャストされるのですか?
int b;
a >>= 8 * b;
‾‾‾‾‾演算のオーバーフロー
4バイトの値に演算子*を使用し、結果を8バイトの値にキャストしています。
オーバーフローを避けるため、演算子*を呼び出す前に値を幅の広い型にキャストしてください。
シフト演算でも右辺値は左辺値の型にキャストされるのですか?
545デフォルトの名無しさん (ワッチョイ 620e-AglQ)
2020/04/10(金) 15:49:55.13ID:1zuF7RzQ0546デフォルトの名無しさん (ワッチョイ e201-Y19k)
2020/04/10(金) 16:27:16.96ID:sn6MPl7m0 >>545
> 例外はむしろ回復可能なエラーへの対策が主要な用途だぞ
お前の流儀が主要とか言われても困る
> ゲロって止まるって、おまえエラーとバグを混同してるか?
文章理解力なさすぎだろw
>> 通常のエラー処理は戻り値とかでやるけど
> 俺は別に階層化の話から逸脱はしてねえぞ
飛ばされて困る処理が常に階層化されてると言うのか?
> そう思いたいのか?
お前が(あえてかどうかは知らんけど)書いてないから指摘しただけ
> 例外はむしろ回復可能なエラーへの対策が主要な用途だぞ
お前の流儀が主要とか言われても困る
> ゲロって止まるって、おまえエラーとバグを混同してるか?
文章理解力なさすぎだろw
>> 通常のエラー処理は戻り値とかでやるけど
> 俺は別に階層化の話から逸脱はしてねえぞ
飛ばされて困る処理が常に階層化されてると言うのか?
> そう思いたいのか?
お前が(あえてかどうかは知らんけど)書いてないから指摘しただけ
547デフォルトの名無しさん (ワッチョイ d7ca-BKMK)
2020/04/10(金) 17:07:36.93ID:bV/hR7tO0 >>544
32bit環境の gcc では特に何も言われないな。
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
> エラー処理には返却値を使う方法と例外を使う方法がある
> この点はおまえ完全に間違って憶えているようだな
この点がどの点なのか知らんけど、主要とか言ってたのにやけにトーンダウンしたなw
> 飛ばされて困る処理を確実に実行させるために
> 階層化とリスローをするんだよ
だからそういう流儀もあるというだけの話だろ
で、お前それちゃんとやってるか?
C++みたいに例外発生時にデストラクタが呼ばれる機能がないからちゃんとやろうとするとほとんどの階層毎にsetjmpするはめになること理解してる?
> おまえ何もわかっちゃいねえな
そのまま返すよ
> 買いかぶってた
そりゃどうも、ってかお前に買いかぶられてもなw
552デフォルトの名無しさん (ワッチョイ ebb3-aNAp)
2020/04/10(金) 19:42:36.77ID:TdKXcRvJ0 C言語のスレとは思えんほど視野が狭いヤツがいるな
RAM 16バイトのCPUからスーパーコンピューターまで使われてるんだぞ
RAM 16バイトのCPUからスーパーコンピューターまで使われてるんだぞ
553デフォルトの名無しさん (ワッチョイ d7ca-BKMK)
2020/04/10(金) 19:48:10.23ID:bV/hR7tO0 ケチつける意図は無いけどあんまり小規模な CPU ならアセンブラで書いちゃうかな。
>>548
>飛ばされて困る処理を確実に実行させるために
>階層化とリスローをするんだよ
例外のリスローってよくわからないんですよね
例外を食ってしまわないかぎり飛ばされることはないんだから、リスローって意味がないのでは?
それとも皆んな、例外を食い潰しまくっているのかな?
>飛ばされて困る処理を確実に実行させるために
>階層化とリスローをするんだよ
例外のリスローってよくわからないんですよね
例外を食ってしまわないかぎり飛ばされることはないんだから、リスローって意味がないのでは?
それとも皆んな、例外を食い潰しまくっているのかな?
555デフォルトの名無しさん (ワッチョイ a263-AglQ)
2020/04/10(金) 19:51:47.29ID:I9hTO0gF0 是非1ビットCPU用のCコンパイラを提供してください
>>555
1ビットCPU が存在するのなら作ってさしあげましょう
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
完成が楽しみだ
完成が楽しみだ
561デフォルトの名無しさん (ワッチョイ 2ff9-KRXG)
2020/04/10(金) 21:14:55.95ID:gFmjwv7d0 longjmpて関数の垣根を飛び越えるためのものだろ
jmp_bufをローカル変数になんて有り得なくね?
jmp_bufをローカル変数になんて有り得なくね?
562デフォルトの名無しさん (ワッチョイ 620e-AglQ)
2020/04/10(金) 21:27:53.89ID:1zuF7RzQ0563デフォルトの名無しさん (ワッチョイ d7ca-BKMK)
2020/04/10(金) 21:38:00.03ID:bV/hR7tO0 >>561
setjmp と同じかより深いスコープまたはスタックフレームから戻ってくるだけだから、
setjmp の呼び出し時点で存在しているスコープであればローカルだろうとグローバルだろうと構わないよ。
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
プログラムカウンターも1bitじゃないからダメとか言いそうw
568デフォルトの名無しさん (ドコグロ MM7a-Y19k)
2020/04/10(金) 22:26:36.48ID:jlvstp5nM >>562
> ああ、ちゃんとやってるよ
そりゃすげーな
> おまえやってないんだろ?
うん、性能も悪いしバカみたいだもんw
> C++の動きもわかってねえな
具体的に指摘しなよ
まあ出来ないから悪態しかつけないんだろうけど
> ああ、ちゃんとやってるよ
そりゃすげーな
> おまえやってないんだろ?
うん、性能も悪いしバカみたいだもんw
> C++の動きもわかってねえな
具体的に指摘しなよ
まあ出来ないから悪態しかつけないんだろうけど
569デフォルトの名無しさん (ワッチョイ 2ff9-KRXG)
2020/04/10(金) 22:34:25.59ID:gFmjwv7d0570デフォルトの名無しさん (ワッチョイ 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 をした時点のスタックが壊れていないことが条件だから。
いや、盛大な理解不足をしてそうだな。
そもそもとして setjmp をしたスコープから上位に出てしまったら longjmp はできないぞ?
setjmp をした時点のスタックが壊れていないことが条件だから。
572デフォルトの名無しさん (ワッチョイ 7b19-/9S9)
2020/04/11(土) 08:18:46.47ID:ESZwWJDK0 時間をトリガーとした実装について質問したいです。2つあります。
1
何時何分という絶対値をトリガーとしてスレッドを起動orコールバック関数の実行をしたいです。
どのような実装したらよいでしょうか。。
2
相対値、例えば何秒後というトリガーで1と同じ制限の処理をしたいときにはどうしたらよいでしょうか。
いずれも、任意個の処理とトリガーをつくりたいです。
POSIXの範囲でできるのが好ましいですが、不可能であればLinuxに依存してもOKです。
よろしくおねげーします。
1
何時何分という絶対値をトリガーとしてスレッドを起動orコールバック関数の実行をしたいです。
どのような実装したらよいでしょうか。。
2
相対値、例えば何秒後というトリガーで1と同じ制限の処理をしたいときにはどうしたらよいでしょうか。
いずれも、任意個の処理とトリガーをつくりたいです。
POSIXの範囲でできるのが好ましいですが、不可能であればLinuxに依存してもOKです。
よろしくおねげーします。
573デフォルトの名無しさん (ワッチョイ 42f8-8knU)
2020/04/11(土) 09:19:58.59ID:mccf80iK0 つat & crontab
posix準拠
posix準拠
574デフォルトの名無しさん (ワッチョイ 7b19-/9S9)
2020/04/11(土) 09:27:13.95ID:ESZwWJDK0 >>573
一つのプロセスの中でやりたいんですよ。決してシステム管理の一貫ではないです。
一つのプロセスの中でやりたいんですよ。決してシステム管理の一貫ではないです。
575デフォルトの名無しさん (ドコグロ MM87-Y19k)
2020/04/11(土) 10:02:10.80ID:1yaHqyx7M576デフォルトの名無しさん (ワッチョイ d7ca-BKMK)
2020/04/11(土) 10:30:52.73ID:BTIsFQoK0 >>572
sleepしながら時刻を確認するタイマースレッドでも作れば?
直近の時刻まで時間があるなら大まかにループして、イベント時刻に近づいたら細かくループすればそこそこの分解能と低CPU時間を両立できるんじゃね。
新しいタイマーをリストに加えたらタイマースレッドに signal 投げれば sleep からすぐ戻るから再計算もできるでしょ。
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 は時間待ちをするだけの目的で使うんだよね?
それでもいいんだろうけど、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:qsSqqeEW0581デフォルトの名無しさん (ワッチョイ 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:ESZwWJDK0584デフォルトの名無しさん (ワッチョイ 620e-AglQ)
2020/04/11(土) 21:07:01.99ID:U1tTiVMl0 >>568
え、すげーの?????
え、すげーの?????
585デフォルトの名無しさん (ドコグロ MM02-Y19k)
2020/04/11(土) 21:18:35.44ID:AxqfFildM586デフォルトの名無しさん (ワッチョイ d7ca-BKMK)
2020/04/11(土) 21:29:37.03ID:BTIsFQoK0 例外処理っぽいことをやること自体が目的になってる感はあるな。
ある程度のところへ longjmp したら後は return でいいんじゃねーの?みたいな。
goto 使ってもいいしな。
ある程度のところへ longjmp したら後は return でいいんじゃねーの?みたいな。
goto 使ってもいいしな。
587デフォルトの名無しさん (ワッチョイ 620e-AglQ)
2020/04/12(日) 06:36:15.91ID:GRbObigC0588デフォルトの名無しさん (ドコグロ MM87-Y19k)
2020/04/12(日) 07:04:02.05ID:CkeJkK0DM589デフォルトの名無しさん (ワッチョイ 620e-AglQ)
2020/04/12(日) 07:49:02.13ID:GRbObigC0 なんでsetjmpとlongjmpの区別って話になるの? おまえ精神分裂病なのか?
590デフォルトの名無しさん (ドコグロ MM7a-Y19k)
2020/04/12(日) 08:09:51.13ID:onC+zfyaM591デフォルトの名無しさん (ワッチョイ 620e-AglQ)
2020/04/12(日) 08:27:20.43ID:GRbObigC0592デフォルトの名無しさん (ドコグロ MM2b-Y19k)
2020/04/12(日) 08:34:51.02ID:3HJi1EoTM >>591
これまた意味不明なことを言い出したな
> longjmpが性能悪いわけねえだろ
はどうしたんだよw
あと前の話に噛み付くなら
>> C++の動きもわかってねえな
> 具体的に指摘しなよ
にもちゃんとレスしろよな
これまた意味不明なことを言い出したな
> longjmpが性能悪いわけねえだろ
はどうしたんだよw
あと前の話に噛み付くなら
>> C++の動きもわかってねえな
> 具体的に指摘しなよ
にもちゃんとレスしろよな
593デフォルトの名無しさん (ワッチョイ 620e-AglQ)
2020/04/12(日) 08:38:27.27ID:GRbObigC0594デフォルトの名無しさん (ワッチョイ 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
って書いちゃって顔真っ赤になってはぐらかしに必死w
599デフォルトの名無しさん (ワッチョイ 620e-AglQ)
2020/04/12(日) 09:34:53.23ID:GRbObigC0 正しいことを言ったのに真っ赤になるわけねえだろアホ
もうテキトーこくしかなくなってやんのw
もうテキトーこくしかなくなってやんのw
600デフォルトの名無しさん (ドコグロ MM7a-Y19k)
2020/04/12(日) 12:25:24.41ID:NktHaBkmM longjmpが性能悪い?
どう悪いのか説明してみ
まあどうせまともな説明できないからまたごまかすんだろうけどw
どう悪いのか説明してみ
まあどうせまともな説明できないからまたごまかすんだろうけど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界隈って民度低いんだね
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:vztTI3R90607デフォルトの名無しさん (ワッチョイ ffd2-Ho7r)
2020/04/16(木) 09:06:42.33ID:kHN+0sn+0 インラインアセンブラで1バイト相対ジャンプ命令使ったとき、
128バイト以上離れても警告されなくて何度もバグったわ。
当時はデバッガー使ってなかったし。
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で
ていう考え
それより多かったり分岐を含むのは
インラインじゃない普通のアセンブラ
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 とか効率のいい排他処理みたいな類いのアセンブラじゃないと書けない処理もあるし。
今時の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*
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();
}
戻った先で戻り値を使うことができる。そのままで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;
}
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;
}
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 と関係無いしダウンロードしてまで見るのは面倒だと思うけど、見てもらえればちょっとは面白いかも。
先頭の 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 で特に最適化は指定しなかったが。
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
できるよ。
正確には関数が持ってた構造体(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
おお、ちゃんと出力されるんだねthx
635デフォルトの名無しさん (ワッチョイ 57ca-1VFb)
2020/04/16(木) 21:43:50.28ID:CVnBB3Bm0636デフォルトの名無しさん (ワッチョイ 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();
}
ポインタで返さないなら、つまり関数内でメモリ確保したストラクチャでも値そのものを返すのであれば、受け取った側で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 のスタックフレームと共に消滅する。
その 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;
}
これと一緒
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変数の内容は保持される
が実行完了で自動的に消滅する。
ということですね。
なるほど!!よくわかりました。
関数はreturn値を呼び出し側にコピーして実行完了となりstackを開放する。
local 変数はstack上に作るので実行完了まではlocal変数の内容は保持される
が実行完了で自動的に消滅する。
ということですね。
643デフォルトの名無しさん (ブーイモ MMbb-fsvn)
2020/04/17(金) 11:34:39.45ID:0SFvwi0RM 常識過ぎてデフォルトコピーコンストラクタみたいな盲腸がC++に埋め込まれてしまったんだよ
あくまでC言語の中でコーダーが工夫し不便を乗り越えてた常識なのにね
あくまでC言語の中でコーダーが工夫し不便を乗り越えてた常識なのにね
644デフォルトの名無しさん (ワッチョイ 9f63-Ho7r)
2020/04/17(金) 12:08:02.28ID:uZ4GpX9X0 >人間の虫垂は、親知らずや体毛と同じように、かつては必要とされていたが今は
>なくても問題なくやっていける器官と考えられいた。
>しかし、虫垂がかつて何をしていたのか、また実際にいま用無しなのかについては、
>これまで明確になっていなかった。そんななか、米ミッドウェスタン大学の研究者が
>主体となった研究が発表され、この問題にひとつの答えが提示された。虫垂は、
>免疫細胞の反応を促し、有益な腸内細菌(善玉菌)が減少するとこれを増やすという
>二次的な免疫機能を担っているという。この役割は限定的な形ながら、いまも人間
>の体内で継続して機能している。
https://www.kagaku-kentei.jp/news_detail/data/355
むだなものなんて一つもない
>なくても問題なくやっていける器官と考えられいた。
>しかし、虫垂がかつて何をしていたのか、また実際にいま用無しなのかについては、
>これまで明確になっていなかった。そんななか、米ミッドウェスタン大学の研究者が
>主体となった研究が発表され、この問題にひとつの答えが提示された。虫垂は、
>免疫細胞の反応を促し、有益な腸内細菌(善玉菌)が減少するとこれを増やすという
>二次的な免疫機能を担っているという。この役割は限定的な形ながら、いまも人間
>の体内で継続して機能している。
https://www.kagaku-kentei.jp/news_detail/data/355
むだなものなんて一つもない
645デフォルトの名無しさん (ワッチョイ 7705-Ho7r)
2020/04/17(金) 12:30:59.31ID:AkLTGvvI0646デフォルトの名無しさん (ワッチョイ 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:VYQrLT4k0652デフォルトの名無しさん (ワッチョイ 9fad-Ho7r)
2020/04/18(土) 14:51:32.00ID:VYQrLT4k0 >>646
この世界全体が無駄と言えば無駄だな。
まあしかし人間は自分の欲望を満たすものに対して無駄がないと感じるだけのことなので、
欲望がなくなればそれもなり全てはあってもなくても良いどうでも良いものになる。
この世界全体が無駄と言えば無駄だな。
まあしかし人間は自分の欲望を満たすものに対して無駄がないと感じるだけのことなので、
欲望がなくなればそれもなり全てはあってもなくても良いどうでも良いものになる。
653デフォルトの名無しさん (ワッチョイ 9fa6-LSCM)
2020/04/20(月) 16:26:18.96ID:LGT//Bm+0654デフォルトの名無しさん (アウアウエー 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+dbI0657デフォルトの名無しさん (ワッチョイ 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言語は何?
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;
}
ご指導お願いします
#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']);
× 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; にした方が良い
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版をインストールしました。
コンパイルが通りません。
どこが悪いか教えてもらえないでしょうか。
-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+8iNgr0670デフォルトの名無しさん (ワッチョイ 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
ってな感じ。
「ライブラリとして libregex.a も使うのでリンクしてくれ」と教えるために
-lregex と書かなきゃいけないんじゃないかな。
> gcc -I "..." -L "..." filename.c -lregex
ってな感じ。
672デフォルトの名無しさん (ワントンキン MMac-3xit)
2020/04/24(金) 09:34:34.44ID:N82Nh9jxM これはゾンビですか?
いいえC言語です。
いいえ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言語の勉強を始めて間がないので、かなり困っていました。
先へ進めることができます、ありがとう。
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でゾンビプロセスになったんだ。速く直せ
お前の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言語固有の問題ではない
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
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 くっそ初歩的な質問なんですが、コンパイラ入れてパスも通したのにハローワールドさえ実行できなくなりました
何がいけないのかな?
https://dotup.org/uploda/dotup.org2128201.jpg
何がいけないのかな?
https://dotup.org/uploda/dotup.org2128201.jpg
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の前にあるの、半角ハイフォンじゃないのでは?
oの前にあるの、半角ハイフォンじゃないのでは?
684デフォルトの名無しさん (ワンミングク MM3e-RQtm)
2020/04/28(火) 14:40:19.14ID:xVP5Xe0nM685デフォルトの名無しさん (ワントンキン MM1a-3xit)
2020/04/28(火) 14:45:10.07ID:E3zbKYWLM >>684
状況を貼れ。
状況を貼れ。
686デフォルトの名無しさん (ワッチョイ d0d2-1Gce)
2020/04/28(火) 15:03:51.84ID:l2FqJJrF0 全角文字のパス未対応だったとか、"しゅもく"に\コード含んでたとか。
C:\prg とか作ってそっちで試したら?
C:\prg とか作ってそっちで試したら?
687デフォルトの名無しさん (ワッチョイ ba63-1Gce)
2020/04/28(火) 15:10:26.53ID:vhevaFWy0 試しに gcc helloworld.c ってやってみて
a.exeは出来ますか?
a.exeは出来ますか?
688デフォルトの名無しさん (ワンミングク MM3e-RQtm)
2020/04/28(火) 16:01:15.79ID:xVP5Xe0nM689デフォルトの名無しさん (ワンミングク 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 の前のハイフンがそれっぽくないようにも見えるし
?o となっているから、?の部分が文字化けのようでもあり
コマンドラインの o の前のハイフンがそれっぽくないようにも見えるし
696デフォルトの名無しさん (ワッチョイ 0a46-w3bp)
2020/04/28(火) 18:56:53.29ID:15/yEbjR0697デフォルトの名無しさん (アウアウエー Sa6a-WAKu)
2020/04/28(火) 19:01:58.68ID:e3702+yfa698デフォルトの名無しさん (ワッチョイ 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週ごとに上書きされて制御を抜けると解放されるのか?
お願いします
例えば
int a = 0;
a = 1;
のコードでaのメモリは上書きされるのか別の場所に確保されるのか
それらは参照が切れるまでかまたはプログラムの終了かまで解放されないのか?
また、
for(int i = 0; 10 > i; i++)
だとiは10回確保されるのかもしくは1週ごとに上書きされて制御を抜けると解放されるのか?
お願いします
>>699
>プリミティブ型が解放されるタイミングはいつですか?
>例えば
>int a = 0;
>a = 1;
>のコードでaのメモリは上書きされるのか別の場所に確保されるのか
プリミティブ型・構造体・共用体にかかわらず、static, extern をつけない auto 変数は、
その変数が定義されたスコープ { } から抜けると「解放される」ことになります
auto 変数はスタックに確保されるのが普通です、この場合は解放という言葉はちょっと意味が違ってきます
>for(int i = 0; 10 > i; i++)
>だとiは10回確保されるのかもしくは1週ごとに上書きされて制御を抜けると解放されるのか?
for() 文から抜けると i はスタックから外れます
>プリミティブ型が解放されるタイミングはいつですか?
>例えば
>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 は「}の直後」に消滅 */
こんな感じだったかね。
確保・解放と言うより、名前の同一性かも知れんけど。
/* 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:skx4o1Ma0707デフォルトの名無しさん (ワッチョイ df12-PmSV)
2020/04/29(水) 09:45:29.84ID:504Vu0b/0 流石に釣りだろ
毎回確保してたらなんでforループが回るんだよ
javaのintegerオブジェクトみたいな話ならわかるがメモリそのまま使ってんだからさ
毎回確保してたらなんで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ではそんな区別は無いね。
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:skx4o1Ma0710デフォルトの名無しさん (ワッチョイ e710-7QW2)
2020/04/29(水) 15:34:59.85ID:9HSaf6AX0 関係ないが、iが10個確保されるという考え方は面白いな
ループを再帰で書いたような感じか
ループを再帰で書いたような感じか
711デフォルトの名無しさん (ワッチョイ e7ca-Rrpt)
2020/04/29(水) 15:52:26.64ID:p4QkWxoM0 アセンブラをちょっとやるとそこら辺の迷いも無くなるしポインタが何なのかってこともよく分かるんだが、
いかんせん最近のPCは規模が大きすぎてアセンブラでちょっと何かやるのには適さないからなぁ
いかんせん最近の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+PHi5M714デフォルトの名無しさん (ワッチョイ 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個くらい同時に出来る
OpenMPやSIMDによる並列化を使えば10個くらい同時に出来る
717デフォルトの名無しさん (ワッチョイ a7f9-h83k)
2020/04/29(水) 18:21:25.20ID:skx4o1Ma0 >>713
>708の引用がそれを否定してるようにも読めない
>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. ...
こんな感じで、ソースコード上の文に対応する概念でスコープ(静的・ソースコード上のこと)を
成すものの一種であるから、これが「動的・実行時のこと」というようなことはありえない。
引用足しとくね。
> 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:skx4o1Ma0721蟻人間 ◆T6xkBnTXz7B0 (スフッ Sdff-wyJ8)
2020/04/29(水) 21:22:07.90ID:EqfxCPAQd 自動変数はレジスタ割り当てにより記憶領域が再利用されることかある訳だし、最適化で変数自体が消える可能性もあり得る。
722デフォルトの名無しさん (ワッチョイ df52-dhD/)
2020/04/29(水) 23:20:52.24ID:EKyVvulT0723デフォルトの名無しさん (ワッチョイ df60-ts7H)
2020/04/29(水) 23:25:04.77ID:U7o9KgzC0 >>720
>706 で言ってるような違いは無くてどっちでも同じ意味になると理解してくれたらないいんだけど、
その言い換えを改めて推してくるとなると何か誤解がありそうな気がする。
ブロックに言い換えることで何がよくなるのか、あるいはスコープだと何がよくないのか、言える?
>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. ...
「ブロックの実行が終わったら」「プログラムの実行がスコープを出たら」などと定めている。
特に誤解の余地も無いかと。
> 「スコープは名前の有効範囲で静的・ソースコード上のこと」は正しいと認めてもらえたと思っていいのかな
それはそう。そしてその点についてブロックも変わらないと言っている。
自動変数の寿命に関する規格の言い回しはこんな感じ。
> ... 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局所変数の違いが、スコープから出たときに生存期間が終わるかどうかということなのだから、自動変換の生存期間としてスコープを出たらというのはごく自然なことだと思うぞ。
局所変数(自動変数と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:hNg1W2hQ0735デフォルトの名無しさん (ワッチョイ 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
まるでおまえさんの脳味噌だな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連敗してて、ねえ今どんな気持ち?
ここCスレだよ?
ISO/IEC9899に学歴制限書いてあるように見えたの?
それともアホなの? バカなの? 不細工馬鹿童貞なの?
中学生は生えたかどうか、高校生は剥けたかどうか、大学生はヤッたかどうかが下ネタだけど
3連敗してて、ねえ今どんな気持ち?
746デフォルトの名無しさん (ワッチョイ df0e-ts7H)
2020/05/01(金) 21:40:45.08ID:9yUywlA00 次は院だねえ
仕事見つかるかどうかで4連敗ほぼ確定だろwwwwwwww
仕事見つかるかどうかで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 尻尾巻くなら端っから喧嘩売るなよクズ
>>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 を書く必要は無いと思うのだが。
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:ynh75MXgM758デフォルトの名無しさん (ブーイモ 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ライブラリで純粋な関数式プログラミングをする
ttp://x0000.net/topic.aspx?id=3631-0
UIライブラリ (C#, 2D) を作ったよ
ttp://x0000.net/topic.aspx?id=3688-0
連続と離散を統一した!
ttp://x0000.net/topic.aspx?id=3709-0
4Dエンジン
ttp://x0000.net/topic.aspx?id=3677-0
matrixのライブラリ
ttp://x0000.net/topic.aspx?id=3711-0
ある強力なFor関数
ttp://x0000.net/topic.aspx?id=3630-0
SQLライブラリ
ttp://x0000.net/topic.aspx?id=3675-0
ttp://x0000.net/topic.aspx?id=3631-0
UIライブラリ (C#, 2D) を作ったよ
ttp://x0000.net/topic.aspx?id=3688-0
連続と離散を統一した!
ttp://x0000.net/topic.aspx?id=3709-0
4Dエンジン
ttp://x0000.net/topic.aspx?id=3677-0
matrixのライブラリ
ttp://x0000.net/topic.aspx?id=3711-0
ある強力なFor関数
ttp://x0000.net/topic.aspx?id=3630-0
SQLライブラリ
ttp://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 を書く方向なのかなと。
まあ、自分で回答する気はないんだけどね。
ログ出力をしてから memcpy を呼ぶんじゃだめなのかなってことなんだけど。
当人はログ出力によって何かを検証するのが目的なわけで
動作が変わってしまうかもしれないというリスクを冒してまで
memcpy を書きたいようには見えない。
もちろん、書きたければ書けばいいが、それは当人に聞いてみなきゃ判らない。
そういう確認もなく、なぜ回答が memcpy を書く方向なのかなと。
まあ、自分で回答する気はないんだけどね。
762デフォルトの名無しさん (ワッチョイ df52-dhD/)
2020/05/02(土) 17:51:23.03ID:JIdmGKfZ0 >>761
膨大なソースのmemcpy使用箇所のすべてにログ出力処理を埋め込む方が、自作のmemcpyに置き換えるよりも遥かにバグを埋め込むリスクが高いだろう。
膨大なソースのmemcpy使用箇所のすべてにログ出力処理を埋め込む方が、自作のmemcpyに置き換えるよりも遥かにバグを埋め込むリスクが高いだろう。
763デフォルトの名無しさん (ワッチョイ 6763-rsUV)
2020/05/02(土) 18:09:51.27ID:nvl/jQk10 規模によるけど1万ファイル越えとか想像してみ?
その規模で全部のmemcpyをちゃんとログ付き自作関数に置き換えられたか?なんて考えたくない
その規模で全部のmemcpyをちゃんとログ付き自作関数に置き換えられたか?なんて考えたくない
764デフォルトの名無しさん (ドコグロ MMff-4Orb)
2020/05/02(土) 19:41:25.20ID:UokhlAwkM >>761
> もちろん、書きたければ書けばいいが、それは当人に聞いてみなきゃ判らない。
当人が「ライブラリ関数memcpyを自作の関数に変更したいと考えています。」って書いてるのに何を言ってるんだよ
恥の上塗りしすぎw
> もちろん、書きたければ書けばいいが、それは当人に聞いてみなきゃ判らない。
当人が「ライブラリ関数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:al5W2dBm0768デフォルトの名無しさん (ドコグロ MM9f-4Orb)
2020/05/02(土) 20:52:43.50ID:msFe1SpIM769デフォルトの名無しさん (ワッチョイ 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などの関数が沢山呼ばれた場合に重くなるんじゃないかと心配してます
抽象化というのは↓のような構造体を
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; }
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:TPvygFvF0775デフォルトの名無しさん (ワッチョイ e7ca-Rrpt)
2020/05/03(日) 20:50:14.66ID:YCnT8Ic+0 >>771
値のレジスタ渡しをしなくなるから、遅くなると言えば遅くなる。
値のレジスタ渡しをしなくなるから、遅くなると言えば遅くなる。
776デフォルトの名無しさん (アウアウエー Sa9f-kSwD)
2020/05/03(日) 21:01:09.61ID:VoACNqTya777デフォルトの名無しさん (アウアウエー Sa9f-kSwD)
2020/05/03(日) 21:10:45.99ID:VoACNqTya778デフォルトの名無しさん (ブーイモ 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
その前に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/
うん、どっちでも同じように使える
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:fONA7GYV0782デフォルトの名無しさん (ワッチョイ 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);
一時オブジェクトではなくて引数の構造体を使いまわした場合は構造体のほうが早いのでしょうか?
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:89CdWSZ70786デフォルトの名無しさん (アウアウエー Sa9f-ur4w)
2020/05/04(月) 10:51:06.23ID:mShckTAJa >>779
Win32API を使いたいだけなら
むしろ C++ 知らない方が良い
C からやれ
https://mevius.5ch.net/test/read.cgi/tech/1588339011/
Win32API を使いたいだけなら
むしろ C++ 知らない方が良い
C からやれ
https://mevius.5ch.net/test/read.cgi/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 が良いって言っただけなのに
なんでお前がやる気を無くす必要があるんだ?
C が良いって言っただけなのに
なんでお前がやる気を無くす必要があるんだ?
790デフォルトの名無しさん (ワッチョイ df0e-ts7H)
2020/05/04(月) 12:14:31.76ID:/zUHO7E00791デフォルトの名無しさん (ワッチョイ 7f46-rZIF)
2020/05/04(月) 12:40:32.82ID:GWxjhlJ10792デフォルトの名無しさん (ワッチョイ df0e-ts7H)
2020/05/04(月) 12:54:09.43ID:/zUHO7E00793デフォルトの名無しさん (ワッチョイ 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:8bo0chxSM796デフォルトの名無しさん (JP 0H9f-r+sk)
2020/05/04(月) 16:02:52.28ID:VPxf0TWkH simulationライブラリで純粋な関数式プログラミングをする
ttp://x0000.net/topic.aspx?id=3631-0
UIライブラリ (C#, 2D) を作ったよ
ttp://x0000.net/topic.aspx?id=3688-0
連続と離散を統一した!
ttp://x0000.net/topic.aspx?id=3709-0
4Dエンジン
ttp://x0000.net/topic.aspx?id=3677-0
matrixのライブラリ
ttp://x0000.net/topic.aspx?id=3711-0
ある強力なFor関数
ttp://x0000.net/topic.aspx?id=3630-0
SQLライブラリ
ttp://x0000.net/topic.aspx?id=3675-0
ttp://x0000.net/topic.aspx?id=3631-0
UIライブラリ (C#, 2D) を作ったよ
ttp://x0000.net/topic.aspx?id=3688-0
連続と離散を統一した!
ttp://x0000.net/topic.aspx?id=3709-0
4Dエンジン
ttp://x0000.net/topic.aspx?id=3677-0
matrixのライブラリ
ttp://x0000.net/topic.aspx?id=3711-0
ある強力なFor関数
ttp://x0000.net/topic.aspx?id=3630-0
SQLライブラリ
ttp://x0000.net/topic.aspx?id=3675-0
797デフォルトの名無しさん (ワッチョイ e7ca-Rrpt)
2020/05/04(月) 16:41:52.22ID:7/M++IMa0 >>782
一時オブジェクトかどうかじゃなく、関数の引数の型によって内部的な関数の呼び出し方(というか引数の渡し方)が変わる。
int の値のなんかだとスタックに詰まずレジスタで渡す高速な呼び出し方になったりするが、
構造体ポインタ渡しだとポインタそのももはレジスタで渡されても実際の値はポインタ経由のメモリアクセスにならざるを得ないから、理屈の上では遅くなる。
一時オブジェクトかどうかじゃなく、関数の引数の型によって内部的な関数の呼び出し方(というか引数の渡し方)が変わる。
int の値のなんかだとスタックに詰まずレジスタで渡す高速な呼び出し方になったりするが、
構造体ポインタ渡しだとポインタそのももはレジスタで渡されても実際の値はポインタ経由のメモリアクセスにならざるを得ないから、理屈の上では遅くなる。
798デフォルトの名無しさん (ワッチョイ dfc5-h83k)
2020/05/04(月) 18:17:25.07ID:89CdWSZ70799デフォルトの名無しさん (ワッチョイ df47-ts7H)
2020/05/04(月) 18:27:04.51ID:Fiop0J3e0800デフォルトの名無しさん (ワッチョイ dfc5-h83k)
2020/05/04(月) 18:35:18.11ID:89CdWSZ70 >>799
-O3だとみんな同じと言うか0秒になって差がわかりませんw
-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%気にしなくて良い
ほとんど何もしない関数で
関数として実装されて
ループの中にあれば
差が大きいこともある
構造体の方が速い事もあるし
直接の方が速い事もある
とりあえずはきれいなコードで作っておいて
パフォーマンスが問題だとわかった時点で対策すれば良い
おそらく今回の部分は99.99%気にしなくて良い
803デフォルトの名無しさん (ワッチョイ 07b3-wl64)
2020/05/04(月) 19:30:22.69ID:nMCshN110 非常に短時間の測定は
x86ならTSCレジスタで測るのが良い
非常に軽く非常に分解能が高い
QPCもTSCから計算して求めている
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オプションで吐いたアセンブラなんて見ても無意味
当然測定もチューニングも最適化オプション込みででやるべきだし
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のなんの変数を見ているんでしょう…。。
ポインタの理解を深めるために、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 *fp はポインタですから、fp の指す位置は変化しません
fseek() で変化するのは、fp が指した先の領域(struct FILE 構造体)の中にあるパラメーターであって、fp 自体は変化せず同じ位置を指したままでいます。
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管理のファイルハンドル・ファイルディスクリプタなどの先に情報がある可能性もある。
そもそも構造体メンバが規定されていないのでウォッチで何も見えなくても不思議は無いよ。
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構造体の中身の値の変化を、ウォッチ機能で観察することは可能なんでしょうか?
ありがとうございます。fp自体は変化してなかったのですね。
FILE構造体の中に現在値を示す変数があるのだと思い、fp.posみたいなことを試してみたのですが、
よくわかりませんでした。(_Placeholderとかいうのしかなさそうでした。)
struct FILE構造体の中身の値の変化を、ウォッチ機能で観察することは可能なんでしょうか?
822デフォルトの名無しさん (ワッチョイ 5fbd-NlPP)
2020/05/04(月) 23:35:26.33ID:nUxpSn1T0823デフォルトの名無しさん (アウアウウー Saab-dhD/)
2020/05/04(月) 23:50:07.56ID:29dvD9qia >>817
俺は以下のようなことを繰り返して段階的に複雑なケースを理解していったよ。
まずは入門書で基本的な概念を理解する。
実際にコードを書いて、様々な型の変数、配列、構造体やその要素に対して&演算子を適用してアドレス値を取り出して、対応する型のポインタに入れる。
ポインタが格納している値、ポインタが指している先に格納されている値をprintfで表示して確認する。
ポインタをインクリメント、デクリメントしたりしてポインタ自体の値の変化やポインタが指す先の値が何なのかを確認する。
一段階のポインタが理解できてきたらポインタのポインタなど多段階の間接参照を試してみる。ここでもまたポインタの演算を様々に試す。
値が予想とは異なるものだったり、型が違うとコンパイラに指摘されたりしたら、やはり絵を描いてどこがどう違っていたかを考えてみる。
何かを理解したら、更にここをこうしたらどうなるのかという疑問が色々沸いてくるのでそれらも逐一コードを書いて試していく。
慣れてくれば多次元だったりconstや関数ポインタなども含めて複雑にネストした宣言もシンプルなルールが再帰的に組み合わせただけのものというのが腑に落ちて理解できてくると思う。
俺は以下のようなことを繰り返して段階的に複雑なケースを理解していったよ。
まずは入門書で基本的な概念を理解する。
実際にコードを書いて、様々な型の変数、配列、構造体やその要素に対して&演算子を適用してアドレス値を取り出して、対応する型のポインタに入れる。
ポインタが格納している値、ポインタが指している先に格納されている値をprintfで表示して確認する。
ポインタをインクリメント、デクリメントしたりしてポインタ自体の値の変化やポインタが指す先の値が何なのかを確認する。
一段階のポインタが理解できてきたらポインタのポインタなど多段階の間接参照を試してみる。ここでもまたポインタの演算を様々に試す。
値が予想とは異なるものだったり、型が違うとコンパイラに指摘されたりしたら、やはり絵を描いてどこがどう違っていたかを考えてみる。
何かを理解したら、更にここをこうしたらどうなるのかという疑問が色々沸いてくるのでそれらも逐一コードを書いて試していく。
慣れてくれば多次元だったりconstや関数ポインタなども含めて複雑にネストした宣言もシンプルなルールが再帰的に組み合わせただけのものというのが腑に落ちて理解できてくると思う。
824デフォルトの名無しさん (ワッチョイ e763-ts7H)
2020/05/04(月) 23:51:26.90ID:GsKQPEDp0 FILE構造体でアクセスした場合は、直接ファイルを操作するというよりも
バッファリングしたデータへのアクセスと考えた方が良いかも知れません
実際のファイルはファイルディスクリプタというOSの仕組みの中で操作してます
バッファリングしたデータへのアクセスと考えた方が良いかも知れません
実際のファイルはファイルディスクリプタというOSの仕組みの中で操作してます
825デフォルトの名無しさん (ワッチョイ df47-ts7H)
2020/05/05(火) 00:00:06.80ID:3UIwTLmD0 >>821
lseek() で実装できるんじゃないの?何かダメな理由知ってるんなら教えて。
lseek() で実装できるんじゃないの?何かダメな理由知ってるんなら教えて。
826デフォルトの名無しさん (ワッチョイ df52-dhD/)
2020/05/05(火) 00:00:45.59ID:J1ERvQ2q0 >>822
FILE構造体の内容は仕様で規定されていないから、使用するライブラリ等の実装で決められていてユーザ側が知ることはできないし知る必要もない物だよ。_ptrとかがあるという話も、とある実装ではそうなっているということ。
そもそものポインタの理解を深めるという目的なら、FILE構造体の中身はこれ以上深入りする必要はないね。
FILE構造体は初心者が真っ先に触れるものの一つだけどちょっと特殊な存在だね。
FILE構造体の内容は仕様で規定されていないから、使用するライブラリ等の実装で決められていてユーザ側が知ることはできないし知る必要もない物だよ。_ptrとかがあるという話も、とある実装ではそうなっているということ。
そもそものポインタの理解を深めるという目的なら、FILE構造体の中身はこれ以上深入りする必要はないね。
FILE構造体は初心者が真っ先に触れるものの一つだけどちょっと特殊な存在だね。
827デフォルトの名無しさん (ワッチョイ 7f61-IRNk)
2020/05/05(火) 00:06:58.87ID:NEWGqmtJ0 FILE構造体の中身は標準ライブラリの実装によって違うんだから深追いしても無駄なだけ
FILE *fp;はそもそもfopenで帰ってきたものを他のファイル操作関数に渡すだけの使い方しかしないんだからポインタを理解する教材に向いてない
FILE *fp;はそもそもfopenで帰ってきたものを他のファイル操作関数に渡すだけの使い方しかしないんだからポインタを理解する教材に向いてない
>>825
lseek() の返り値を保存するんですね、返り値には気がつきませんでした
lseek() の返り値を保存するんですね、返り値には気がつきませんでした
829デフォルトの名無しさん (ワッチョイ e77b-kZrw)
2020/05/05(火) 05:40:45.15ID:ifa9JNiv0 構造体 FILE は普通はポインタの形でしか使わないから
ユーザーが見るヘッダではopaqueかも知れないしね正ちゃん。
>>817
「ポインタ変数には“変数のアドレス”が記録される」っていう
素朴な理解でしばらく進められないかな。
&a は「変数aのアドレスを得る」
*p は「ポインタ変数pが指しているアドレスから内容を取り出す」
ユーザーが見るヘッダでは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
みなさま、アドバイスどうもありがとうございます。
一個一個理解してスキルを身につけていきたいと思います。
829
830
みなさま、アドバイスどうもありがとうございます。
一個一個理解してスキルを身につけていきたいと思います。
832デフォルトの名無しさん (ワッチョイ c7e3-4AVG)
2020/05/05(火) 07:45:39.83ID:q3hMRGAJ0 コメント失礼します
年収200万、一年ごとに5%上がりさらに10万円あがる20年後の給料は?と言う問題と、2時間格闘したのですが全くわかりません。
whileを使って何度やってもエラーが出ます
年収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
こんなのが出ます
(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書けるけどさ
whileでfor書けるけどさ
837デフォルトの名無しさん (スップ Sd7f-rsUV)
2020/05/05(火) 08:44:21.30ID:77z9bUn/d838デフォルトの名無しさん (ワッチョイ 07b3-wl64)
2020/05/05(火) 08:45:28.28ID:rB6guZqB0 1行ではできない
の意味がわからん
の意味がわからん
839デフォルトの名無しさん (ワッチョイ a7f9-h83k)
2020/05/05(火) 08:50:35.47ID:93R0w8QG0840デフォルトの名無しさん (ワッチョイ 07b3-wl64)
2020/05/05(火) 08:56:34.04ID:rB6guZqB0841デフォルトの名無しさん (ワッチョイ df79-h83k)
2020/05/05(火) 09:21:45.17ID:yvmW06JI0 亀だがみんなFILE構造体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 ...
> ... 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:ZggaRwfV0848デフォルトの名無しさん (ワッチョイ 67da-QzNg)
2020/05/05(火) 14:38:54.54ID:Bvt0+Nbg0 >>847
その計算式だと毎年の10万が復利の枠外になってしまうのでは?
その計算式だと毎年の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万追加されるってことじゃないのか
あぁ、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
);
語彙力が乏しいのでわかりにくくて大変申し訳ございません。
定義?を見て、見極める方法はありますか?
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***型)
変数に付ける"*"の数を増やすと、逆に型の"*"が減るのはなんか気持ち悪いんですね…
ありがとうございます。
以下の理解でよろしいのでしょうか?
(1)変数FILE* fpの場合
・"*fp"(FILE型?)
・"fp"(FILE*型)
・"&fp"(FILE**型)
(2)変数FILE**fpの場合
・"**fp"(FILE型?)
・"*fp"(FILE*型)
・"fp"(FILE**型)
・"&fp"(FILE***型)
変数に付ける"*"の数を増やすと、逆に型の"*"が減るのはなんか気持ち悪いんですね…
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"にはアドレス番号が入る)
ありがとうございます。
型側と変数側で"*"を奪い合ってるイメージをすると覚えやすいかなと感じました。
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*型の変数。)
覚え方は色々あると思うけど、俺は以下の方法がオススメ。
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に格納されている値が対象となるデータ
&:メモリの位置(アドレス)を取り出す操作
*:メモリの位置に記録されている値を取り出す操作
型:値が格納されているメモリの幅を示す
※例えばint型は4バイトなのであるint型のポインターが0x0000を指していたら
メモリの0x0000〜0x0031に格納されている値が対象となるデータ
int型ポインターでなくchar型ポインターだとしたら
メモリの0x0000〜0x0001に格納されている値が対象となるデータ
862デフォルトの名無しさん (ワッチョイ 2701-tcyL)
2020/05/05(火) 21:36:39.09ID:FuU+hT+R0863デフォルトの名無しさん (ワッチョイ 2701-tcyL)
2020/05/05(火) 21:43:41.89ID:FuU+hT+R0 >>861
*については2つ意味があるとして覚えているわ(この認識が合ってるのかは分からん)
変数宣言時の*の意味:宣言した変数がポインターであることを示す
それ以外の*:メモリの位置に記録されている値を取り出す操作
ポインター:メモリの位置を保存するための変数
ダブルポインター:(ポインターの)メモリの位置を保存するための変数
トリプルポインター:(ダブルポインターの)メモリの位置を保存するための変数
・・・・以下略
*については2つ意味があるとして覚えているわ(この認識が合ってるのかは分からん)
変数宣言時の*の意味:宣言した変数がポインターであることを示す
それ以外の*:メモリの位置に記録されている値を取り出す操作
ポインター:メモリの位置を保存するための変数
ダブルポインター:(ポインターの)メモリの位置を保存するための変数
トリプルポインター:(ダブルポインターの)メモリの位置を保存するための変数
・・・・以下略
864デフォルトの名無しさん (アウアウエー Sa9f-kSwD)
2020/05/05(火) 21:43:43.86ID:fevQ7qkha fopen_s では、*fp を引数として参照渡ししてるからだよね、関数側で書き換えてもらうために
int i; を &i で参照で渡して、i を書き換えてもらうように、ポインタを渡して fopen_s で内容を書き換えてもらっている
int i; を &i で参照で渡して、i を書き換えてもらうように、ポインタを渡して fopen_s で内容を書き換えてもらっている
865デフォルトの名無しさん (ワッチョイ e7ca-Rrpt)
2020/05/05(火) 22:05:47.08ID:ZggaRwfV0 ポインタの覚え方もさることながら、型の修飾もどうだったかすぐ忘れるw
値を指し示す const ポインタなのか、const な値を指し示すポインタなのか、その両方なのか、それらの書き分けするのに毎回 google に聞いてる。
多重ポインタとか関数ポインタとか volatile なんかも組み合わされてくると、書けはしてももはや読める自信が無いw
値を指し示す const ポインタなのか、const な値を指し示すポインタなのか、その両方なのか、それらの書き分けするのに毎回 google に聞いてる。
多重ポインタとか関数ポインタとか volatile なんかも組み合わされてくると、書けはしてももはや読める自信が無いw
866デフォルトの名無しさん (ワッチョイ df0e-ts7H)
2020/05/05(火) 22:36:47.41ID:w8UzBWRO0867デフォルトの名無しさん (ワッチョイ df0e-ts7H)
2020/05/05(火) 22:38:28.76ID:w8UzBWRO0 >>832
C関係ないから余所行きな
C関係ないから余所行きな
868デフォルトの名無しさん (ドコグロ MM1b-4Orb)
2020/05/05(火) 22:48:35.43ID:n0fzAd1LM869デフォルトの名無しさん (スッップ 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になってるのと同じようなもの。で、そういう変数の読み書きは専用のメソッドを通して行う。
何故そうしているのかというと、外部から勝手に書き換えられたくないからだ。書き換えられると正常な動作を保証できなくなるということでもある。
FILE型についてはわざと中身を隠蔽していると思って良い。
オブジェクト指向の言語ならクラス変数が全てprivateになってるのと同じようなもの。で、そういう変数の読み書きは専用のメソッドを通して行う。
何故そうしているのかというと、外部から勝手に書き換えられたくないからだ。書き換えられると正常な動作を保証できなくなるということでもある。
871デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/06(水) 07:01:26.49ID:Ye566tnt0872デフォルトの名無しさん (ドコグロ MMbb-6mzC)
2020/05/06(水) 07:22:53.41ID:AY471CJRM873デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/06(水) 07:48:12.19ID:Ye566tnt0 >>872
書いてある内容そのままなら
http://www.kumei.ne.jp/c_lang/index_sdk.html
ここに書いてある内容のどこに
>>779がCではなくC++を憶えないと
理解できないコードがあるのか例示してくれ
失言ならとっとと引っ込めろ
逃げてる限り絶対に許さんぞ
書いてある内容そのままなら
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 >>878
4 種類もあるのですか…
そのうちのひとつになるだろうのものは書いたことがあります
https://mevius.5ch.net/test/read.cgi/tech/1434079972/36
4 種類もあるのですか…
そのうちのひとつになるだろうのものは書いたことがあります
https://mevius.5ch.net/test/read.cgi/tech/1434079972/36
880デフォルトの名無しさん (アウアウエー Sae2-jgrQ)
2020/05/06(水) 11:10:31.35ID:q6Rk1GB6a 本来Cでは「二次元配列」と呼ばれないものまで
二次元配列の4種類!(キリっ)とか紹介するのは非常にまずいと思う
二次元配列の4種類!(キリっ)とか紹介するのは非常にまずいと思う
881デフォルトの名無しさん (ドコグロ MM22-6mzC)
2020/05/06(水) 15:21:29.55ID:+SMDQMnPM882デフォルトの名無しさん (ワッチョイ 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++だと主張してないとぬかすなら
アホは黙ってろ
では何故俺が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++の両方でビルドできるコードの存在を知らんのか?
> 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
チーン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
譫言言ってるのはお前だろ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:Bo7tbMN60894デフォルトの名無しさん (ワッチョイ 33f9-gIrT)
2020/05/07(木) 09:51:54.21ID:FGS63TE90895デフォルトの名無しさん (スッップ Sd8a-Sbo7)
2020/05/07(木) 10:22:21.57ID:iq2XxwEdd896デフォルトの名無しさん (ワッチョイ 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分法なりで
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:Xvq6sZ7Q0899デフォルトの名無しさん (ワッチョイ bb69-7oqX)
2020/05/07(木) 10:34:45.28ID:khGNNtcv0 あとは自分に見合ったのを探して で
900デフォルトの名無しさん (スプッッ Sd8a-oFD5)
2020/05/07(木) 10:35:33.37ID:PvsEcGe8d901デフォルトの名無しさん (ドコグロ MMcf-6mzC)
2020/05/07(木) 10:55:03.14ID:jSOdmY17M902デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/07(木) 11:04:44.61ID:Xvq6sZ7Q0903無名共用体は知らんけど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:BJMZjP5rM906デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/07(木) 11:54:32.43ID:Xvq6sZ7Q0907デフォルトの名無しさん (ドコグロ MMbb-6mzC)
2020/05/07(木) 11:57:27.98ID:nQsqe3i/M908デフォルトの名無しさん (ワッチョイ 0bda-e0rh)
2020/05/07(木) 12:43:05.75ID:mY1dxeUW0909デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/07(木) 12:50:21.47ID:Xvq6sZ7Q0910デフォルトの名無しさん (アウアウエー Sae2-jgrQ)
2020/05/07(木) 12:55:44.12ID:iKRewGMta >>897
ルンゲクッタですねω判りますωω
ルンゲクッタですねω判りますωω
911デフォルトの名無しさん (スプッッ Sd2a-oFD5)
2020/05/07(木) 13:09:50.52ID:hUdQ5UHmd912デフォルトの名無しさん (ドコグロ MMbb-6mzC)
2020/05/07(木) 14:25:20.08ID:QfSfBFzmM913デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/07(木) 14:38:41.35ID:Xvq6sZ7Q0914デフォルトの名無しさん (アウアウクー MM73-jIkB)
2020/05/07(木) 14:41:31.91ID:itkoAyTSM win32APIはCででもC++でもいいけどこのスレはc言語ならスレだから答えはcでいやん
それとどうでもいいけど拡張子は.cc派
それとどうでもいいけど拡張子は.cc派
>>914
>win32APIはCででもC++でもいいけど
コールバック関数はマングリングしていてはだめなので、最低コールバックだけは extern "C" が必要だと思いますから C++ オンリーというわけにはいかないでしょう
extern "C" を含んでの C++ 、というのなら理解しますが
>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/qZ5OkDM918デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/07(木) 15:36:35.58ID:Xvq6sZ7Q0919デフォルトの名無しさん (ドコグロ MM8a-6mzC)
2020/05/07(木) 15:42:05.78ID:MtCAwcuOM920デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/07(木) 16:00:41.95ID:Xvq6sZ7Q0921デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/07(木) 16:02:05.69ID:Xvq6sZ7Q0 キリッてから後になって自信なくなったんだろゲラゲラ
922デフォルトの名無しさん (ワッチョイ 0bda-e0rh)
2020/05/07(木) 16:06:27.79ID:mY1dxeUW0 サイトのサンプルプログラムについては
*.cでも*.cppでもどちらでもいい
*.cでも*.cppでもどちらでもいい
923デフォルトの名無しさん (ドコグロ MM22-6mzC)
2020/05/07(木) 16:30:40.81ID:zVtuPzpBM924デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/07(木) 16:36:52.52ID:Xvq6sZ7Q0925デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/07(木) 16:39:41.92ID:Xvq6sZ7Q0 こっちは弱点晒してんだぜ?
「猫でもわかる」のサンプルにC++の知識が必要な例を示されたら負けだ
こんだけノーガードしてやってんのに、そこを攻められない無能なやつw
「猫でもわかる」のサンプルに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?
スタックの使い方等の呼び出し規約に準じた関数へのポインタさえ渡ってれば
シンボル名が割当たってなくてもコールバックは為されるんじゃない?
シンボル名で呼び出す必要が出てきたときにマングリングがというのはあるだろうけど・・・ COM?
929デフォルトの名無しさん (ドコグロ MM22-6mzC)
2020/05/07(木) 18:27:53.38ID:WyDD2uB5M930デフォルトの名無しさん (ワッチョイ 3fb3-oFD5)
2020/05/07(木) 18:37:02.14ID:wkYaXeHy0 他でやれ
931デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/07(木) 21:11:55.76ID:Xvq6sZ7Q0932デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/07(木) 21:13:00.46ID:Xvq6sZ7Q0933デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/07(木) 21:15:24.95ID:Xvq6sZ7Q0934デフォルトの名無しさん (ドコグロ MMcf-6mzC)
2020/05/07(木) 21:43:44.11ID:mj5cVlGOM935デフォルトの名無しさん (ワッチョイ 8a47-oySJ)
2020/05/07(木) 21:57:56.60ID:Bo7tbMN60 触ったら負け
936デフォルトの名無しさん (ワッチョイ fb7b-mW5x)
2020/05/08(金) 06:23:43.52ID:Br/73fC20 『猫でもわかる』のサイトで紹介されてるソースが
Cの範囲で書かれてるかC++特有の機能も使ってるか検証せよ、って
実際やってみるだけの価値のない口論な気がするけどなぁ。
そりゃ「俺の言ったことは正しい」「一片の反論も許さない」って
ご当人にはスレッド埋め立てるほど重要な件かも知れないけど。
それとも俺以外の皆さんはこの議論の決着を手に汗握って見守ってるのかな。
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
> だれもC++の知識が必要だとか言ってないのに何を言ってるんだよ
> しかも勝ち負けとか
> >>916が言う様に引っ込みつかなくなってるんだろうなw
確かにFAだなw
939デフォルトの名無しさん (アウアウエー Sae2-jgrQ)
2020/05/08(金) 10:57:20.51ID:oIDbptWLa940デフォルトの名無しさん (ワッチョイ 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/M944デフォルトの名無しさん (ワッチョイ 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つだ
自分の発言のしょーもなさに気付いて言い訳しまくってももう遅い
丸のまんまDLなんかしたことないから
拡張子なんか気にしてなかったな
petzoldとの説明の仕方の違いを読んでただけで
まさか、あれをC++だと言い張るやつがいるとは思わなくて面食らった
言い張ってねえととぼけているようだが
Cだと言う発言に同調しない以上BASICやCOBOLなわけもなく答えは1つだ
自分の発言のしょーもなさに気付いて言い訳しまくってももう遅い
946デフォルトの名無しさん (JP 0Ha2-BedC)
2020/05/08(金) 14:17:14.69ID:UwSV314GH simulationライブラリで純粋な関数式プログラミングをする
ttp://x0000.net/topic.aspx?id=3631-0
UIライブラリ (C#, 2D) を作ったよ
ttp://x0000.net/topic.aspx?id=3688-0
連続と離散を統一した!
ttp://x0000.net/topic.aspx?id=3709-0
4Dエンジン
ttp://x0000.net/topic.aspx?id=3677-0
matrixのライブラリ
ttp://x0000.net/topic.aspx?id=3711-0
ある強力なFor関数
ttp://x0000.net/topic.aspx?id=3630-0
SQLライブラリ
ttp://x0000.net/topic.aspx?id=3675-0
学術の巨大掲示板群 - アルファ・ラボ
ttp://x0000.net
数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など
PS 連続と離散を統一した!
ttp://x0000.net/topic.aspx?id=3709-0
ttp://x0000.net/topic.aspx?id=3631-0
UIライブラリ (C#, 2D) を作ったよ
ttp://x0000.net/topic.aspx?id=3688-0
連続と離散を統一した!
ttp://x0000.net/topic.aspx?id=3709-0
4Dエンジン
ttp://x0000.net/topic.aspx?id=3677-0
matrixのライブラリ
ttp://x0000.net/topic.aspx?id=3711-0
ある強力なFor関数
ttp://x0000.net/topic.aspx?id=3630-0
SQLライブラリ
ttp://x0000.net/topic.aspx?id=3675-0
学術の巨大掲示板群 - アルファ・ラボ
ttp://x0000.net
数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など
PS 連続と離散を統一した!
ttp://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++の両方でビルドできるコードの存在を知らんのか?
> Cだと言う発言に同調しない以上BASICやCOBOLなわけもなく答えは1つだ
またその話かよ、チャンスどころかノーガードじゃねーかw
まあ毎回玉砕してるのに無視してるんだから無敵だわな
> この流れで「猫でもわかる」がC++だと主張してないとぬかすなら
↓
> C/C++の両方でビルドできるコードの存在を知らんのか?
948デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/08(金) 14:48:39.11ID:FYQVpLgs0 >>947
ノーガードは>>925で言っただろ
こっちが引き下がる条件をはっきり書いてやってんのに
おまえそれができねえだろうが
で、何が玉砕だ? 弾切れのくせに勝利宣言してんなよw
https://dotup.org/uploda/dotup.org2139674.png
こんな状況で先手が投了したなんて言っても誰も信じねえのと同じだ
ノーガードは>>925で言っただろ
こっちが引き下がる条件をはっきり書いてやってんのに
おまえそれができねえだろうが
で、何が玉砕だ? 弾切れのくせに勝利宣言してんなよw
https://dotup.org/uploda/dotup.org2139674.png
こんな状況で先手が投了したなんて言っても誰も信じねえのと同じだ
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:tdVddCdpM952デフォルトの名無しさん (ワッチョイ ea0e-oySJ)
2020/05/08(金) 15:20:29.91ID:FYQVpLgs0 ああ、そうか
「玉砕」という日本語の意味を間違えて憶えてしまっているのか
俺があのサイトはCだと言っていることに文句つけようとして
その目的が全く果たせないようなことを玉砕って言うんだぜ
俺: C++だと主張したな?
屑: 主張してません
俺: じゃあ何の用だ
屑: 他の人に言ってます
宣戦布告(または先制攻撃)しといて歯が立たないと見るや
そんなことしてません、だっておバンバン
「玉砕」という日本語の意味を間違えて憶えてしまっているのか
俺があのサイトは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
> 俺: 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
> > 俺: 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はここらへんでいいですか
なんなんだコノスレは
ガン
チンピラ
NGはここらへんでいいですか
なんなんだコノスレは
964デフォルトの名無しさん (ワッチョイ 8a52-ouS7)
2020/05/09(土) 06:56:42.64ID:qZuZMPTr0 >>963
それ以外にも汚い罵詈雑言は一通りNGしとくと良いかも。そんな言葉が入っているレスはほとんどの場合は当人たちにしか意味のないものだから。
あんだけ自己主張激しくて承認欲求強いんだから、コテハン付けてくれると助かるんだけどね。
それ以外にも汚い罵詈雑言は一通り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ではどのように記述すればできるでしょうか?
よろしくお願いいたします。
現在は、↓で"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");
#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");
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:GitA8I250977デフォルトの名無しさん (JP 0Ha2-BedC)
2020/05/09(土) 14:41:14.53ID:kMGTFWTFH 学術の巨大掲示板群 - アルファ・ラボ
ttp://x0000.net
数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など
PS 連続と離散を統一した!
ttp://x0000.net/topic.aspx?id=3709-0
ttp://x0000.net
数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など
PS 連続と離散を統一した!
ttp://x0000.net/topic.aspx?id=3709-0
978デフォルトの名無しさん (ワッチョイ 2301-lxbn)
2020/05/10(日) 01:10:39.43ID:ES5yl2P70 ポインタ宣言
int * a;
intの部分、なんでいるのかわからん?
だって、型宣言に、サイズだけが必要なら、ポインタ型(intへのポインタ型、ではなく)
っていう、情報だけで、いいはずじゃん?
コンパイラの理解が必要なのかね?
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:BEpCNKhk0982デフォルトの名無しさん (ワッチョイ 9f02-5fG7)
2020/05/10(日) 02:41:19.19ID:D0AaY1h70 int *a; ← intのポインター
…
*a = 1; ← ポインターaが示すメモリーにint型として1を格納
void *b; ← 型のないポインター
…
*b = 2; ← ポインターbが示すメモリーにどんな型で2を格納したらいいかわからないからコンパイル時にエラー
…
*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とか使ってそう
そういうのが好きな人はJavaとか使ってそう
986デフォルトの名無しさん (ドコグロ MM22-6mzC)
2020/05/10(日) 06:30:58.87ID:xBlsi2kLM987デフォルトの名無しさん (ワッチョイ bbca-BAqB)
2020/05/10(日) 08:22:42.64ID:L8gH+HH40 >>984
なんでそんな言語仕様になったのかって話と捉えるべきでしょ。
単純にCは型を意識する言語であって、その領域のサイズや代入や演算時の暗黙のキャストの仕方を決定するために *a が何なのか判明してる必要があるからだろ。
その領域が 8byte ということしか分からなければ、ポインタなのか long long なのか double なのか構造体なのかも分からず、(*a)++ すらどんなマシンコードを吐けばいいのか分からん。
なんでそんな言語仕様になったのかって話と捉えるべきでしょ。
単純に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だけの特別仕様のようだが。
GNUだけの特別仕様のようだが。
994デフォルトの名無しさん (ワッチョイ 7eba-P5bm)
2020/05/10(日) 23:21:46.50ID:Z3WQBr9X0 C言語なら俺に聞け 155
https://mevius.5ch.net/test/read.cgi/tech/1589120427/
https://mevius.5ch.net/test/read.cgi/tech/1589120427/
995デフォルトの名無しさん (ワッチョイ cf47-HyQB)
2020/05/11(月) 01:53:13.72ID:koNT22Cg0Slot
🌸🍜💣
🎴👻🌸
👻🎴👻
(LA: 0.60, 0.69, 0.78)
996デフォルトの名無しさん (ワッチョイ cf47-HyQB)
2020/05/11(月) 01:53:20.10ID:koNT22Cg0Status ♠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:koNT22Cg0Status ♦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:koNT22Cg0Status ♥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:koNT22Cg0Slot
🎴👻💣
🎰🎴🌸
🌸🎰👻
(LA: 0.67, 0.70, 0.78)
1000デフォルトの名無しさん (ワッチョイ cf47-HyQB)
2020/05/11(月) 01:53:43.02ID:koNT22Cg0Slot
🍒😜💣
😜👻👻
🍜💣🌸
Win!! 4 pts.(LA: 0.61, 0.69, 0.77)
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
SLOT Results
🎰🎰🎰 Excellent!! 0
🎴🎴🎴 Gratz!! 0
🌸🌸🌸 OPPAI Ban!! 0
💣💣💣 Backingum!! 0
Win!! 1
Points 4 pts.
life time: 117日 6時間 21分 13秒
新しいスレッドを立ててください。
SLOT Results
🎰🎰🎰 Excellent!! 0
🎴🎴🎴 Gratz!! 0
🌸🌸🌸 OPPAI Ban!! 0
💣💣💣 Backingum!! 0
Win!! 1
Points 4 pts.
life time: 117日 6時間 21分 13秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 ★2 [蚤の市★]
- JAが"政府の備蓄米買い上げ"見越して価格下げず!?「古いコメは食用向きでないなどと理由をつけ...」専門家解説 [煮卵★]
- トランプ大統領 エヌビディア製AI半導体の中国輸出許可 安全保障重視の方針転換 [蚤の市★]
- 【広島】「万引きした人を追跡」コンビニ店員の男性(46)を果物ナイフで刺したか 中国籍の少年(17)を殺人未遂容疑で現行犯逮捕 [ぐれ★]
- 【結婚の壁】結婚どころか今まで恋愛経験は一切ない人も…「年収500万の壁」を突破できない中間層の苦しい現実 [ぐれ★]
- 【地震】青森県で震度6強 長周期地震動も 津波注意報すべて解除 ★7 [ぐれ★] [ぐれ★]
- 【高市悲報】レーダー照射で日本が喧嘩売ってる中、アメリカ軍「我々はパールハーバーを忘れない」と日本に向けてポストへ [709039863]
- 本当の問題は高市がバカなことじゃなくて高市みたいなバカを支持するバカが大量にいることだよな [314039747]
- 高市首相「自らの命は自らが守るという原則で、行動とっていただきたい」 [256556981]
- 【悲報】世界「トランプよりヤバいリーダーがいた!」トランプ「俺よりやべえ奴がいる!」高市早苗「??何で皆アタシを避けるの?」 [517791167]
- 俺「それが史実だというソースは?」 ネトウヨ「書いてないということがソース」 [314039747]
- 今時手編みのマフラーとセーターと帽子と手袋のプレゼントってwww
