visual c++ and gcc
visual c++6.0历史悠久
,,找到提及最多的就是用这款。。年龄跟我差不多大的编译器。
软件有些老了,win7win8win10记得以兼容模式运行。
命令行编译
cl.exe是微软c/c++编译器...从此不用新建工程新建项目。。。。。。只需cl xdd.cpp
再xdd.exe运行,就可以了。对新手很友好吧,只需配置下环境变量。

cpp hello.c > hello.i 只进行预编译。cpp是预编译器
cl编译器的参数:
cl /? 查看帮助
-GX: 启动同步异常处理
gcc是自由软件计划下的产物,我看黑防的书介绍是在这个编译器下运行的,干脆在linux上也学习学习。
先把最简单的hello源代码写好放在桌面,编译后的文件默认为a.out,也可用-o选项设置文件名。

gcc -o xdd xdd.c 动态链接,会直接将源代码变成可执行文件(将四步合为一体)
gcc -o xdd xdd.c --static 静态链接
gcc -E xdd.c -o hello.i 只进行预编译,输出文件名为hello.i
gcc -S hello.i -o hello.s 继续上一步,编译,源码——>汇编代码
gcc -c hello.s -o hello.o 汇编,汇编代码——>二进制代码
ld -static crt1.o crti.o crtbeginT.o hello.o -start-group -lgcc -lgcc_eh -lc -end-group crtend.o crtn.o 链接,将二进制代码和一些其他要用的部分结合。生成可执行文件
-c 选项,将源代码xx.cpp转化为目标文件xx.obj,它将预编译、编译、汇编,三步合为一个选项。
-Wall 可以选择提示程序的错误信息,方便调试
gcc -v 查看版本信息
gcc --help 查看帮助信息
为什么我们要了解源码变可执行文件背后的过程?不了解,何谈编写高效的源码。
?gcc 和 g++的区别
gcc ( the GNU compiler collection),GNU的编译器集合。
g++,c++编译器。gcc包括g++。