我偶然发现了一些关于 PICK 编程的有趣文档:
http://www.d3ref.com/?token=flash.basic
它说FlashBASIC是PICK程序的编译版本,而不是解释版本,可以与PICK互操作。这很棒。我很好奇它是如何描述对象代码的:
converts Pick/BASIC source code into a list of binary instructions called object code.
此目标代码可以与其他语言互操作吗?还是仅限于 PICK & Universe 操作环境?换句话说,C 程序可以调用 FlashBASIC 程序吗?
这对于定义C版本有帮助,但找不到FlashBasic版本的任何明确定义:
最佳答案
您提出了几个不同的问题,我会尽力回答。
这是我写的一篇文章,可能有助于您理解 FlashBASIC 。简而言之,传统的 MV BASIC 是由汇编器编译然后运行的,而 Flash 编译器是 C 语言,并生成一个位于框架空间中标准 BASIC 对象下方的对象模块。在运行时,该代码由 C 运行时解释。出于我们的目的,没有 C 接口(interface),这只是一种使代码运行得更快的内部机制。
从上面请注意,这与“什么是 C 中的目标文件?”无关。因为D3中的对象模块存储在D3框架中,与常见的操作系统级对象模块完全无关。
现在关于 C 调用 Pick - 在您的情况下为 D3:您可以使用 CP 库 - docs与您引用的链接位于同一区域。如果您使用托管 C (.NET),则还可以在客户端/服务器模式下通过 MVSP 库使用代码,而不是与数据库本身绑定(bind)。或者,您可以使用任何常见的 C 语言 Web 服务客户端机制,并使用多种技术(包括 MVST、mv.NET、Java 或 C/C++)将 D3 设置为 Web 服务服务器。
我知道您的回答相当模糊,但您提出的问题多年来一直在论坛中进行过详细讨论。如果您提出更具体的问题,您将得到具体的答案。请随意在评论中完善您的查询,我们可以集中精力提供答案。
另请注意,您将此问题标记为“u2”。如果您确实使用 MV/Pick 的 U2 变体(Universe 或 Unidata),那么对 D3 文档的引用会产生误导,并且上述内容均不适用,因为它们在 U2 中的做法不同,并且那里没有 FlashBASIC。我知道,你很困惑。让我们来解决一下...
关于c - PICK/BASIC、FlashBASIC 和 C 互操作性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32635261/