C语言如何指定堆栈的起始地址
一个64位的程序,是否能够指定堆栈的起始地址为0x100000000,使得程序中的变量都分配在高于4G的内存中,也就是说变量的地址的高32位不为0,其目的是测试程序中是否有地址高位被截断的问题。或者有没有其他方法来测试地址高位截断问题?
开发环境为win10+VS2017
恳请大家指教!
#include <stdio.h> #include <stdlib.h> int main( void ) { for( ; ; ) { void* p = malloc( 0x10000 ); printf( "%p\n", p ); if( p >= (void*)0x100000000 ) break; } }