1. 为什么32位应用程序和64位应用程序不兼容?
答:举一个原因, 32位中,用 int来存放指针(这在32位中是可以的),但是这种程序在64位上,int是32位,但64的指针是64位的,存在不兼容
2.C语言的可移植性
答:只有用标准C库的C程序,具有平台移植性,但这对于大型程序根本不可能。要使C可以移植,就变的比较麻烦,比如:
- #ifndef _WINDOWS_
- CreateThread(); //windows下线程的创建
- #else
- Pthread_create(); //Linux下线程的创建
- #endif
- //对于头文件,也使用同样的预编译宏来实现。如:
- #ifndef _WINDOWS_
- #include <windows.h>
- #else
- #include <thread.h>
- #endif
3.异或操作
a^0 = a
a^b^a = a^a^b= 0^b =b