我需要将内存位置的值更改为int值。 问题是我在使用c工作在内核中,我只将这个地址作为字符串从用户空间接收,如此" 0xbfac6d78"我已设法将此十六进制值转换为long int值,这给了我-1079218824。问题是我如何使用我必须将此地址中存储的内容更改为某个int值?
我试过这个但是我得到了段错误:
*(long int*)value = 3;
//where value is a long int variable with the value -1079218824 stored in it
*(int*)buff = 3;
//where buff is just a string with 0xbfac6d78 stored in it
是的,这个地址已经被mallocd;