PM1 原生应用初学者指南¶
在开始之前,应当注意开发 PM1 原生应用程序与开发任何其他 C++ 应用程序没有什么不同。PM1 Native SDK 在实现中使用到一些当代 C++ 的技术,但这些技术对二次开发来说不是必须的。但 C++ 编码经验对于开发 PM1 来说总是有益的,即使不是必须的,我们也鼓励开发者积极学习 C++。
我注意到 PM1 有多种开发方式,我该选择开发原生应用程序吗?¶
如果您的性能要求极度苛刻,或者希望尽可能节省系统资源(以支撑上层应用),原生应用最有可能满足您的需求。
如果您习惯了托管资源、包含垃圾收集的语言或运行环境,C++ 可能显得比较繁琐枯燥,那么我们建议您尝试使用 .Net/C# 来开发。
由于 .Net/C# SDK 本身基于 Native SDK,.Net 平台无法提供更强的跨平台能力。但基于 Nuget 的包管理还是允许您不必手动管理平台问题。
我从未使用过 PM1 Native SDK,之前也没有编写过 C/C++ 代码,该从哪里开始?¶
如果您对 C++ 语法尚不了解,为了避免阅读文档遇到困难,我们推荐您先浏览下列关于 C++ 语言的介绍:
函数 - C++ 一度被认为是有类的 C,虽然今天的 C++ 早已不止于此,但继承自 C 语言的的对*顶层函数(top-level function)*的支持还是将它与其他主流面向对象语言区分开来。Native SDK API 正是一系列顶层函数。要与 PM1 交互,有一定会用到函数。
静态类型 - 如果您是习惯了使用 excel、matlab、mathematica 甚至 python 来做研究的专家学者,那么被不可变的类型约束着的变量难免会分散您的注意力。然而出于安全的考虑,静态类型是必不可少的。幸好,虽然类型可能很繁琐,但并不一定要写出来,自动类型推断特性可以帮助您减轻这些负担。
包含文件 - 函数的声明被写在头文件中。您必须在您的源文件中包含这些头文件,才能让您的编译器确认您使用的是哪些函数,以及这些函数是否正确使用。一般来说,开发 PM1 时,您只需要在文件的最上方写上
#include "pm1_sdk.h"
即可。
上面的所有外部链接来自清晰详尽的 C++ 参考手册,您可以在那里找到更多资料。
此时,您还需要安装必要的环境才能开始开发。我们建议您不必费心选择,直接安装 Visual Studio 2019 Community 即可。
使用 C++ 的桌面开发
是必选模块。