詳しくはこちらトピックに返信するユーザー名:メールアドレス:件名:コンソールプログラムが一番最初に実行される関数名を1つ挙げよ:答えを正確にご入力ください。答えられるかどうかでスパムボットか否かを判定します。↑8ヶ月前>intではなくdoubleですね。double型のメンバbが4の倍数であり8の倍数でないアドレス(メンバaの直後)に配置されず、8の倍数であり16の倍数ではないアドレスに配置されていることから、この環境ではdouble型が8バイトアラインメントであることが読み取れます。構造体A全体が8バイトアラインメント(もしくは8の倍数アラインメント)になると考えられます。その結果、構造体Aの先頭にある「この」int型のメンバaは、結果的に8バイトアラインメントになりますね。この環境で一般のintが何バイトアラインメントかは、提示された情報からは読み取れなそうです。time=1559342934]>intではなくdoubleですね。[/quote]まず、double型のメンバbが4の倍数であり8の倍数でないアドレス(メンバaの直後)に配置されず、8の倍数であり16の倍数ではないアドレスに配置されていることから、この環境ではdouble型が8バイトアラインメントであることが読み取れます。構造体A全体が8バイトアラインメント(もしくは8の倍数アラインメント)になると考えられます。その結果、構造体Aの先頭にある「この」int型のメンバaは、結果的に8バイトアラインメントになりますね。この環境で一般のintが何バイトアラインメントかは、提示された情報からは読み取れなそうです。Int32があるからInt64を使えばいいのだけどね。Int32があるからInt64を使えばいいのだけどね。ポインターのアドレス値が4バイトか8バイトかで32ビットコンピューターか64ビットコンピューターか切り分けています。64ビットコンピューターの場合はプログラムカウンターをインクリメントしてレジスターに64ビットデータを取り込むため8バイトのデータが必要です。速度を優先するには半分無駄遣いをするのでしょうね。ポインターのアドレス値が4バイトか8バイトかで32ビットコンピューターか64ビットコンピューターか切り分けています。64ビットコンピューターの場合はプログラムカウンターをインクリメントしてレジスターに64ビットデータを取り込むため8バイトのデータが必要です。速度を優先するには半分無駄遣いをするのでしょうね。図を書いてみると分かりやすいでしょう。メモリ配置は次の通りです。メモリアクセスが2回必要になって遅くなります。|+---+---+---+---+---+---+わかりましたか?返信お待ちしております。図を書いてみると分かりやすいでしょう。メモリ配置は次の通りです。メモリアクセスが2回必要になって遅くなります。|+---+---+---+---+---+---+[/code]わかりましたか?返信お待ちしております。4バイトで、メモリ上では4バイト境界(4の倍数)にしか配置できません。アドレスに配置できまません。8バイトで、メモリ上では8バイト境界にしか配置できません。8バイト境界ではありません。8バイト境界であることによりできたものです。8バイト境界になったのではありません。いう用語を「境界調整」と翻訳しています。4バイトで、メモリ上では4バイト境界(4の倍数)にしか配置できません。よっては、どこからでも配置できるものがあります。いうことをするとメモリアクセスに時間がかかることになります。不正な境界へのアクセスはできないようです。4バイトで、メモリ上では4バイト境界(4の倍数)にしか配置できません。アドレスに配置できまません。8バイトで、メモリ上では8バイト境界にしか配置できません。8バイト境界ではありません。8バイト境界であることによりできたものです。8バイト境界になったのではありません。いう用語を「境界調整」と翻訳しています。4バイトで、メモリ上では4バイト境界(4の倍数)にしか配置できません。よっては、どこからでも配置できるものがあります。いうことをするとメモリアクセスに時間がかかることになります。不正な境界へのアクセスはできないようです。8ヶ月前>intではなくdoubleですね。>intではなくdoubleですね。64ビットアライメント)です。intではなくdoubleですね。64ビットアライメント)です。[/quote]intではなくdoubleですね。さんのいわれる通りですね。さんのいわれる通りですね。質問者じゃないけど勉強になりました。質問者じゃないけど勉強になりました。8ヶ月前これは構造体のメモリ上のアライメントという非常に処理系依存のお話です。64ビットアライメント)です。これは構造体のメモリ上のアライメントという非常に処理系依存のお話です。64ビットアライメント)です。構造体は動作を高速化させるために余裕を持たせていると聞いたことがあるような気がします。構造体は動作を高速化させるために余裕を持たせていると聞いたことがあるような気がします。ミクプラは自由にリンクできます。