关于win32与win64的兼容性问题
生活随笔
收集整理的這篇文章主要介紹了
关于win32与win64的兼容性问题
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
源代碼:
(操作系統(tǒng)作業(yè))printf("\nMemory attached at %X\n",(int)shm);
shm是個(gè)char*地址;
gcc編譯出現(xiàn)警告:lcy@lcy-Lenovo-R720-15IKBN:~ $ gcc -o shmread shmread.c
shmread.c: In function ‘main’:
shmread.c:31:40: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
printf("\nMemory attached at %X\n",(int)shm);
^
錯(cuò)誤原因:企圖將指針類型轉(zhuǎn)換為無符號(hào)32位整型數(shù),但這在64位環(huán)境下會(huì)發(fā)生兼容性問題。
解決辦法:printf("\nMemory attached at %ld\n",(long)shm);
參考資料:
16位編譯器
32位編譯器
64位編譯器
總結(jié)
以上是生活随笔為你收集整理的关于win32与win64的兼容性问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用php创建一个注册表单,如何实现一个
- 下一篇: 深入理解JVM虚拟机1:JVM内存的结构