c++编译
C++编译##
- 编译源代码。生成目标代码。
- 将源代码翻译为主机使用的内部语言-机器语言。包含了翻译后的程序的文件就是程序的目标代码。
- 将目标代码与其他代码链接起来。生成可执行代码。
- 链接指将目标代码和使用的函数的目标代码以及标准的启动代码组合起来。
源代码->编译器->目标代码+启动代码+库代码->链接程序->可执行代码
-
有c++0x(c++11)特性的源代码编译使用-std=c++0x;
g++ -std=c++0x use_auto.cpp
-
Linux 编译和链接
- 一般版本
- g++ spiffy.cxx
- 有些版本需要链接c++库
- g++ spiffy.cxx -lg++
- 要编译多个源文件,将所有都放入命令行
- g++ spiffy.cxx precious.cxx
- 如果修改了某文件,假设修改了spiffy.cxx
- g++ spiffy.cxx precious.o
-
Windows 编译和链接
- 命令行 g++ great.cpp编译成功会生成a.exe
- IDE
- compile(编译)意味着当前文件中的代码进行编译
- build(建立)和make(生成)意味着编译项目中所有源代码文件的代码。
- 这是一个递增的过程。也就是说如果里面包含3个文件,但是只修改了1个文件,只重新编译该文件。
- build all意味着重新编译所有的源代码文件。
- link(链接)意味着将编译后的源代码与所需的库代码组合起来。
- run和execute意味着运行程序。
- debug意味着以步的方式进行。
- 编译器可以让你选择调试版还是发布版。调试版降低性能,多了调试信息。
- 有时IDE运行完毕会关闭程序,导致控制台一闪而过。这时添加
- cin.get();
- cin.get();
- return 0;
- 上述语句让程序等待,直到按下两个Enter键。