我译了一篇小短文,大虾们给看看译的对不对。
从borland下载的cpp-ti中,编号为22694的短文,看了看不错,试着翻译了,头
一次译文,大虾们给看看译的对不对。不对和不合适的地方,一定要指出来啊!
bdn.borland.com
文章 #22694: C++Builder 基础: 在C++Builder中建立并使用静态库的简单教程
- C++Builder 基础 -
建立和使用静态库的简单教程
Part I: 简介
C++Builder提供了数百个类、函数和宏,在你的C和C++程序中,你可以调用它们来完成各种各样的工作。 这些类、函数和宏都是常规库。你不仅仅可以使用这些原有的库,而且还能够建立自己的库,并将其用在自己的程序里。这就为代码重用,以及将相关的源代码文件封装到单独的包中,提供了一个简单的途径。而且,考虑到,因为库基本上是一个二进制目标文件的集合,封装到库内的功能是抽象的,因此,库的使用者只能够看到功能的接口,而不能看到实际的源代码。
在C++Builder中,建立静态库是容易的、便利的。本文向你提供建立自己的静态库的基本步骤。
Part II. 准备源文件和头文件,建立静态库。
下面的代码示例是我们静态库例子的全部代码。我们的库主要有一个包含一个整型变量的类,这个整数变量可以用public的方法“getter”和“setter”来读写。全部定义可以在头文件中找到,在源文件里实现所有的功能。
A. 为你的库建立源文件和头文件。
运行记事本,将下面的代码粘贴进去,将文件保存为mylib.h(放入一个空目录)。这是头文件:
//----------------------------------------------
#ifndef mylib_h
#define mylib_h
class A;
class A
{
public:
A();
~A() {};
A(int newa);
int getValue() const;
void setValue(int newa);
private:
int a;
};
#endif
//----------------------------------------------
现在,同样方法操作下面代码,但命名文件为mylib.cpp。这是我们的源文件。
//----------------------------------------------
#include "mylib.h"
class A;
A::A(int newa) : a(newa)
{
}
int A::getValue() const
{
return a;
}
void A::setValue(int newa)
{
a = newa;
}
//----------------------------------------------
B. 使用库“向导”建立基本的库。
C++Builder提供了一个简单的方法来产生最基本的库。你需要做的只是使用库向导(the Library Wizard)建立库,然后将源文件加进去,然后编译。快捷的步骤如下:
1. File | Close All
2. File | New | Library
3. View | Project Manager
4. 在Project Manger里, 选中Project1.lib, 点击右键并选择Add...
5. 找到你保存文件的目录,选中“mylib.cpp”
6. File | Save All
7. 现在,你可以真正地编译这个库,即:Project | Build
8. 可以使用你的库了!
II. 使用你的静态库
如果你想在你的项目中使用它,请遵循以下步骤:
1. File | Close All
2. File | New Application
3. File | Save Project As... | 选择一个新目录(不是你的库所在的目录)
4. (从你的库文件目录中)复制“project1.lib”和“mylib.h”到你刚才保存项目的新目录。对于库的使用来说,这两个文件是必须的。
5. Project | Add to Project... | 改变文件类型为 .lib, 选择你的静态库 (现在,在这个项目的文件夹中)。
6. 在 Unit1.cpp 文件内, 你必须把头文件"mylib.h"包括进来,像这样:
#include "mylib.h"
7. 现在不要着急,想看到库实际的作用,还要把下面的代码放到窗体(form)的OnCreate事件中:
// Creates an object, A (from the library)
A test(50);
Form1->Caption = test.getValue();
8. 假如一切都做对的话,你会看到“50”出现在窗体的标题(caption)上。
最后更改日期: 08-AUG-00