关于win32与win64的兼容性问题
生活随笔
收集整理的這篇文章主要介紹了
关于win32与win64的兼容性问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
源代碼:
(操作系統作業)printf("\nMemory attached at %X\n",(int)shm);
shm是個char*地址;
gcc編譯出現警告: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);
^
錯誤原因:企圖將指針類型轉換為無符號32位整型數,但這在64位環境下會發生兼容性問題。
解決辦法:printf("\nMemory attached at %ld\n",(long)shm);
參考資料:
16位編譯器
32位編譯器
64位編譯器
總結
以上是生活随笔為你收集整理的关于win32与win64的兼容性问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用php创建一个注册表单,如何实现一个
- 下一篇: 深入理解JVM虚拟机1:JVM内存的结构