!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
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ bf63-lB9F)
2020/01/14(火) 19:32:30.16ID:SgRnb4BR0697デフォルトの名無しさん (アウアウエー 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 の値のなんかだとスタックに詰まずレジスタで渡す高速な呼び出し方になったりするが、
構造体ポインタ渡しだとポインタそのももはレジスタで渡されても実際の値はポインタ経由のメモリアクセスにならざるを得ないから、理屈の上では遅くなる。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 空自機レーダー照射、音声データ公開 中国 ★3 [蚤の市★]
- 日銀「歴史的」利上げ迫る 35年ぶりの年間上げ幅、0.5%の壁を突破 [蚤の市★] [蚤の市★]
- 高市早苗首相、消費税減税に後ろ向き 足かせはレジシステム? 「責任ある積極財政」期待高いが [蚤の市★]
- 【YouTuber】バイク事故で入院のゆたぼん、振込で「お見舞金」募る [muffin★]
- 低所得層のマクドナルド離れが深刻に 広がる「ファストフード格差」の真相 米国 [少考さん★]
- 堀江貴文、キャッシュレス非対応の店にモヤッ 『PayPay』立ち上げの人物にまさかの直談判「現金決済しかできないんだけど…」 [冬月記者★]
- 中国がここまで過敏になるのは日本に前科があるから。盧溝橋、満州事変。ジャップの先制攻撃は挙げればキリがないけど [472617201]
- ぶっちゃけ天のうって昭和天のうのせいで全然ありがたみないよな
- 頭悪いやつほどガンダムとかエヴァにハマるのってなんでなの?
- 犬って顔くっつけて寝たがるよな
- ゲームボーイのゲーム
- 『猟友会がクマ駆除を嫌がるなら潰すべき。職務を放棄するハンターから免許や銃を没収して罰金を取ろう』の声、ネットで上がる [932029429]
