2.2. Unit dependencies
C and C++ use #include to include header files in another header file or a source file. Delphi refers to units (in the USES clause) instead of header files.
For example
- D3D.H includes D3DTYPES.H, D3DCAPS.H
- D3DTYPES.H includes DDRAW.H
- One unit contains one translation of a header file, so incorporation of D3DTYPES.H and D3DCAPS.H is required when translating D3D.H.
Thus the translation of D3D.H (D3D.PAS) needs D3DTYPES.PAS and D3DCAPS.PAS in uses.
In Windows.pas Borland has already done a lot of work for us. Borland's windows unit contains most of the basic Windows datatypes, so any translated unit needing Windows datatypes needs the Windows unit in its uses clause.
Note: In Delphi 1.0, substitute WinProcs.pas and WinTypes.pas for Windows.pas, since these two units include for Delphi 16-bit what Delphi 32-bit defines in Windows.pas. In Delphi 2 these two files are also aliased to Windows.pas in Delphi 32-bit versions for backward compatibility. Some header files contain source which is not directly translatable into Pascal, but the header file's impact on compilation must be incorporated into the translated code. For example, PSHPACK?.H contains compiler directives that are not directly translatable to Delphi; PSHPACK4.H directs the compiler to use 4-byte packing. More about this later.
博客主要介绍了C和C++使用#include包含头文件,而Delphi在USES子句中引用单元。以D3D.H等为例,说明单元依赖关系,如翻译D3D.H需D3DTYPES.PAS和D3DCAPS.PAS。还提到Borland的Windows单元,以及Delphi不同版本的替代情况,部分头文件代码不能直接翻译的问题。
1741

被折叠的 条评论
为什么被折叠?



