荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: Second (石开), 信区: Program
标  题: 先器後道:从 C/C++ 语言出发
发信站: 荔园晨风BBS站 (Wed May 16 00:04:59 2001), 转信

●先器後道:从 C/C++ 语言出发

    程式语言没有练好,什麽都是空谈。现在的 C/C++ 编译器忒
也庞然大物一个,初学者如果未经指点,常会以为买了一套 C++
Builder 或 Visual C++ 或 Symantec C++ 或 Optima++...,就是
要直接开始在整合环境底下写 Windows 程式。我当然不认为是他
们野心过大,妄想一步登天;他们是因为不知道有简化的环境和简
化的 Windows 程式。

    在这个阶段,语言的练习应该独立於任何作业系统之外。也就
是,你学习的应该是 ANSI(美国国家标准)C/C++,你写的程式拿
到任何作业平台上应该皆能原始码相容。我建议,在 Win32 环境下,
你要以 command line 方式编译联结程式,并使用 console mode。

    所谓 command line 方式,就是在 Windows 环境下开一个 DOS
 视窗,将工具环境以 PATH 和其他环境变数(如 LIB 和 INCLUDE?
? 设定好,然後在 DOS 提示号下直接编译联结你的程式;完全不使用
开发工具提供的整合环境。以 Visual C++ 为例,假设你把它安装在
 E:\MSDEV,於是你可以设计一个批次档(.bat)如下:

@echo off
set TOOLROOTDIR=E:\MSDEV
rem
set PATH=E:\MSDEV\BIN;D:\WIN95;D:\WIN95\COMMAND
set INCLUDE=E:\MSDEV\INCLUDE;E:\MSDEV\MFC\INCLUDE
set LIB=E:\MSDEV\LIB;E:\MSDEV\MFC\LIB
set INIT=E:\MSDEV

    每当想要使用 command line 编译联结程式,就先在 DOS 视窗
中执行上述批次档,将工具环境设定好。

    然後,你可以开始练习写程式。使用任何文字编辑器输入你的原
始码,存档,然後在 DOS 视窗中编译联结。以 Visual C++ 为例,你
可以这麽做:

cl test.c <Enter>

cl test.cpp <Enter>

CL.EXE 是 Visual C++ 的编译器名称。它会在编译完成後自动呼叫联
结器 LINK.EXE,将你的程式所需要的函式库(C runtime library)自
动联结进来。

    你所写的这些 C/C++ 程式,虽然是 ANSI 标准,但因为是在
 Windows 环境下以 Windows 开发工具建造而成,所以它们的执行档
是属於 PE 档案格式,也就是 Win32 可执行档格式,只不过它们没有
用到任何 GUI(图形使用者介面)而已。这种 Win32 程式又称为 Win32
 console 程式,也是一般所谓的 DOS-like 程式。常常接到读者的 mail
,希望我推荐 C/C++ 方面的好书。由於 C/C++ 的学习对我已经是遥远的
回忆,当初自学以及朋友间互相讨论的成份比较多,阅读的经验比较少,
而晚近的许多相关书籍我又没有完整看完过,所以没有办法给你推荐名单。
有一些经典名着,出自大师之手,例如 K&R 的 "The C Programming Language"
(有译本),Bjarne Stroustrup 的 "The C++ Programming Language"
(A.W.,有译本),对初学者不见得是最佳选择。初学者需要详尽、亲切、
范例多的导入书,大师的书却往往学术味重,言简意赅。当然,等你到达
一定程度,还是应该把大师的书看一看。言简意赅之中,可能有许多微言
大义。

--
                            既然热爱生命
                            那么,
                            一切都在意料之中。

※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.28.190]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店