C++编译“传说”

来源:互联网 发布:解放大官人杂货铺淘宝 编辑:程序博客网 时间:2024/04/28 10:32

1.      侯先生如是说

我总是鼓励 C/C++ 的学习者,在刚接触这个程式语言的时候,先以 console mode(DOS-like)程式为目标。所谓 console 程式,就是文字模式的程式,我不但认为 C/C++ 程式开发对象初期要以 console mode 为主,我也认为,C/C++ 的程式开发环境,初期也要以 console mode 为主。换言之,不要一开始就进入整合环境(IDE)。整合环境中那麽多视窗、那麽多功能、那麽多预设值,会让程式新手眼花撩乱,无法掌握程式编译过程中一些有价值的知识与经验。

2.      古早以来“二加一传说”

古早以来,PC 上的 C 编译器,就需要两个环境变数:

n         LIB:这个环境变数告诉编译器说,必要的 libraries 在哪里(哪个磁碟目录下)

n         INCLUDE:告诉编译器说,必要的 header files 在哪里(哪个磁碟目录下)

n         另外,为了让我们能够在任何 working directory 都叫得到编译器,当然我们必须设定 PATH。

从古早以来,一直到现在,C/C++ 编译器都需要这三个环境变数。

3.      传说成真

VC++为例:

做成一个批处理。这里问题是环境设定只在当前会话有效,退出DOS VM后得再次设置。侯先生说可以改autoexec.bat文件保持。好像找不到没有其它办法保持环境变量了吗?

::编译器在哪?

set PATH=C:/MSDEV/VC98/BIN;C:/MSDEV/COMMON/MSDEV98/BIN

::头文件在哪?

set INCLUDE=C:/MSDEV/VC98/INCLUDE

::库文件在哪?

set LIB=C:/MSDEV/VC98/LIB

4.      我的“传说”实现

n         用了Qincy的编译器,叫mingw?

set PATH=D:/mingw/bin

set INCLUDE=D:/mingw/include

set LIB=D:/mingw/lib

n         我的哈佬

#include <iostream>

 

int main(){

    std::cout<<"programming is fun!!";

}

 

5.      “传说”实现步骤

1.         制作一个批处理,内容是上面设定的三个环境变量,值是什么看你的C++编译器放在什么地方。

2.         制作源文件,这个……;

3.         现在可以编译了,在什么地方都,开个DOS窗,因为有个PATH嘛,不过编译前要先执行那个批处理。

6.      kemin的一些疑问

1.         还没有开始玩IDE,不知道在哪里设。

2.         一条inculde指令,编译器怎么知道去找那个环境变量?

3.         编译器有编译选项,是不是哪里可以设置一些东东。

4.         编译中间还有个链接的过程,有待了解。

5.         回头再写。