c - PICK/BASIC、FlashBASIC 和 C 互操作性

标签 c interop u2 object-code pick

我偶然发现了一些关于 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版本的任何明确定义:

What's an object file in C?

最佳答案

您提出了几个不同的问题,我会尽力回答。

这是我写的一篇文章,可能有助于您理解 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/

相关文章:

c++ - #ifdef 用于 32 位平台

c# - VARIANT(VT_PTR) 的 COM 互操作和编码(marshal)处理

java - 在 Kotlin 中实例化一个使用递归泛型的具体 Java 类

json - 我如何处理 UniData 中的 JSON 字符串?

c# - Unidata UniObjects for .NET - 将修改内容从修改后的表写回到 unidata

c - 引用 C 指针作为数组索引两次

c - 在文件服务器中休眠工作线程

c# - 如何在 C# 上声明和实现一个继承自另一个 COM 接口(interface)的 COM 接口(interface)?

rdf - 选择和 RDF/SPARQL

c - PortB 上的 PIC32MX220F032D ADC