P码文件的理解

时间:2021-06-09 23:01:01

P码文件:

一个M文件首次被调用(包括在M文件编辑器中被打开或者在命令窗口Command窗口运行文件名)时,MATLAB将首先对该M文件进行语法分析,并把生成的相应内部伪代码(PsedocodeP码)文件存放在内存中。

M文件再次被调用时,将直接调用该M文件在内存中的P码文件,而不会再对原M文件进行重复的语法分析。需要注意的是:MATLAB的分析器(Parser)总是把M文件连同在该文件中被调用的所有函数文件一起转变成P码文件。

P码文件与原码文件具有相同的文件名,但是其扩展名为“.P;P码文件的运行速度是高于原码文件的,但对于小规模文件而言,用户一般体会不到这种速度上的差异。

MATLAB环境中,假如存在同名的P码文件和原码文件,那么当该文件名被调用时,被执行的一定是P码文件。

P码文件并不是仅当M文件被调用时才能生成,用户也可以使用MATLAB中的内设指令在M文件中生成P码文件。其具体句法格式如下:

Pcode FunName:该指令的功能为在当前目录上生成FunName.p

Pcode FunName -inplace:该指令的功能为在Filename.m所在的目录上生成FunName.p

说明:P码文件相对于原码文件有两个优点:

      1)运行速度快

      2p码文件中的数据为二进制保存,阅读困难,增大了程序的保密性。

MATLAB中内置了p码文件的操作指令:

指令名

功能

inmen

罗列内存中的所有p码文件的文件名

clear FunName

清除内存中的名为FunName.pp码文件

clear functions

清除内存中所有的p码文件