为了有一个独立的二进制目的,我想在RAM中挂载一个有效负载,用int声明它的内容int
int *payloadptr = malloc(10*sizeof(int));
payloadptr[0] = 0x11223344;
payloadptr[1] = 0x55667788;
Run Code Online (Sandbox Code Playgroud)
这个数据设置器脚本是自动生成的,我选择用int做int,以便在我的.c文件中占用比char更少的空间但是当我转储内存时我可以看到字节是完全混合的但事实并非如此用char by char方法有什么可能导致这个?
你说的字节'mix'是由你的CPU字节序引起的.我假设您有一个基于Intel的CPU,其架构是Little Endian.我建议你在http://en.wikipedia.org/wiki/Endianness上阅读关于字节序的内容.一个小端架构将导致int从LSB存储到MSB,然后MSB将反转数据.通过使用字符,您不会创建此字节序问题,因此内存不会损坏.