一、机器语言、汇编语言、C\C++、高级语言
机器语言:机器真正识别,能在机器上运行的语言。
汇编语言:低级语言,直接操作硬件,如直接访问cpu寄存器和内存单元。不具有移植性。因为不同的平台对应的硬件不同,需要对不同的硬件编写不同的汇编程序,才能运行。
C\C++:属于高级语言,但封装得很少。跟java这种高级语言相比,封装得少。开发效率低,执行效率高。具有可移植性。代码只需要维护一套,只不过在不同的硬件上运行,需要不同的编译器来编译。
高级语言:接近于人类的语言。封装性大,效率相对低,但开发效率高。
二、创建C++程序过程
编写源代码:可以通过编辑器(如记事本或其他IDE),编写源代码
编译:将源代码编译成机器语言(o文件,也叫目标代码)。不同的系统有不同的编译器和编译命令。如UNIX中,编译命令是CC;Linux系统中的编译器是g++,命令也是g++。
链接:将编译生成的目标文件与库文件、启动文件链接形成可执行文件(.exe)。
三、编译扩展
Linux环境下:
1,g++ a.cpp b.cpp 表示同时编译a.cpp和b.cpp。并且生成a.o和b.o(两个o文件不会删除,若只产生一个o文件,编译器默认会删除的)
2,如果第一步中,a.cpp修改了,需要重新编译,可以使用如下命令编译:
g++ a.cpp b.o b.cpp可以不用重新编译。最终生成一个a.out文件(可执行文件)