关于C++的跨平台性
0 前言
C++ 作为一种编译型语言,我们常常认为他是不能跨平台的。但是实际上c++就是为了跨平台而设计的。
1 大人,时代变了
C/C++就是为了跨平台而设计的,那个时代的跨平台指的是:一次编写,到处编译。
源代码写好了,我放到哪个平台都可以编译出可执行程序。因为早期各个系统都有各自的编译器,所以放到对应系统上再编译,其实也算方便
可惜现在我们常常说的跨平台指的是:一次编写,到处运行。
2 为什么不能跨平台
C++编译好的二进制文件不能跨平台,原因很多,比如不同系统上,不同CPU,不同指令集,甚至不同系统上的lib提供的API不同,真的很让人头大啊。。。。
比如网络编程接口,linux的网络编程和windows的网络编程用到的库是不一样的,我大二的那个sb项目,分不清这两个东西,就去网上抄了LINUX的代码,想在windows上运行,但是很显然失败了。不过那时候也不怪我,那时候计网都没学