第一个Free Pascal例子

上节课我们安装了FPC (Free Pascal Compiler),下面我们来测试一下是否安装成功,读者打开CMD终端,可以在开始菜单中搜索CMD打开。

检查是否安装成功

然后输入fpc命令,如果返回如下的内容,则表示安装成功。

C:\Users\Jack>fpc
Free Pascal Compiler version 3.2.2 [2021/05/15] for i386
Copyright (c) 1993-2021 by Florian Klaempfl and others
C:\FPC\3.2.2\bin\i386-Win32\fpc.exe [options] <inputfile> [options]
 Only options valid for the default or selected platform are listed.
 Put + after a boolean switch option to enable it, - to disable it.
  @<x>   Read compiler options from <x> in addition to the default fpc.cfg
  -a     The compiler does not delete the generated assembler file
      -a5        Don't generate Big Obj COFF files for GNU Binutils older than 2.25 (Windows, NativeNT)
      -al        List sourcecode lines in assembler file
      -an        List node info in assembler file (-dEXTDEBUG compiler)
      -ao        Add an extra option to external assembler call (ignored for internal)
      -ar        List register allocation/release info in assembler file
      -at        List temp allocation/release info in assembler file
  -A<x>  Output format:
      -Adefault  Use default assembler
      -Aas       Assemble using GNU AS
      -Amacho    Mach-O (Darwin, Intel 32 bit) using internal writer
      -Anasm     Assemble using Nasm
      -Anasmcoff COFF (Go32v2) file using Nasm
*** press enter ***Code language: HTML, XML (xml)

编写代码

下面我们来创建我们的第一个Free Pascal例子,我们在D盘或者C盘创建一个目录,用来存放我们的Free Pascal代码。

D:\fpcdemo

以上是小编创建的文件夹。

然后在该文件夹下面,创建一个txt文件,然后修改名称为:mydemo.dpr

然后用记事本打开这个文件,然后添加如下内容:

program <strong>mydemo</strong>;
begin
  WriteLn('Hello foxDevelop.com!');
end.Code language: HTML, XML (xml)

编译和运行

在终端中cd到这个目录D:\fpcdemo

然后执行这个命令:fpc mydemo.dpr

以上命令执行完毕后,在目录下面会编译和链接,然后得到一个mydemo.exe 可执行文件。

然后再输入exe的名称,mydemo ,不需要后缀.exe,就可以运行程序了。

输入Hello foxDevelop.com!

D:\fpcdemo>fpc mydemo.dpr
Free Pascal Compiler version 3.2.2 [2021/05/15] for i386
Copyright (c) 1993-2021 by Florian Klaempfl and others
Target OS: Win32 for i386
Compiling mydemo.dpr
Linking mydemo.exe
3 lines compiled, 0.1 sec, 28224 bytes code, 1316 bytes data

D:\fpcdemo>mydemo
Hello foxDevelop.com!Code language: CSS (css)

第一个命令 fpc xxxxx.dpr 会编译dpr源码,然后再链接Linking mydemo.exe

编译的时候会把源码编译成机器目标文件.o

读者可能会在你的文件夹下面看到一个.o的文件

所谓链接,因为我们的程序要运行还需要操作系统的库还需要把多个单元合并起来,所以链接就是这个工作,

补齐跨单元、库的函数 / 变量地址;

合并所有编译生成的目标文件;

绑定系统与 FPC 运行库;

重定位内存地址;

打包生成 exe/elf 等可执行文件。

一句话:把零散编译碎片、各类库整合为完整可运行程序。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注