我用的工具是CFree套了个gcc的壳,写代码的时候偶然发现,sizeof指针是字节,而long是4字节。
且跑一个malloc最大申请空间代码的测试程序得到结果是1.99g,所以说明这个程序应该还是32位的程序,
那么为什么指针的sizeof是8个字呢 ?
ringa_lee2017-04-17 15:40:46
int long short の具体的なバイト数はコンパイラの実装によって異なります。絶対的な数はありません。
sizeof ポインターが必要な場合は、必ず sizeof(void*)
MinGW は LLP64、long は 32 ビットです。
malloc を実行するときに、パラメータが signed int で表されている場合、2Gb メモリを申請するときに 2^31 を超える数値を signed int に入力すると、データ オーバーフローにより malloc が失敗する可能性があることに注意してください。 size_t
を使用する必要がありますプログラムが何ビットなのか知りたい場合は、タスク マネージャーを開くと、32 ビット プロセスの後ろに *32 マークが表示されます。