P码文件:
一个M文件首次被调用(包括在M文件编辑器中被打开或者在命令窗口Command窗口运行文件名)时,MATLAB将首先对该M文件进行语法分析,并把生成的相应内部伪代码(Psedocode,P码)文件存放在内存中。
当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)运行速度快
2)p码文件中的数据为二进制保存,阅读困难,增大了程序的保密性。
MATLAB中内置了p码文件的操作指令:
指令名 |
功能 |
inmen |
罗列内存中的所有p码文件的文件名 |
clear FunName |
清除内存中的名为FunName.p的p码文件 |
clear functions |
清除内存中所有的p码文件 |