2015-09-17 2 views
0

je trébuché à travers une documentation intéressante sur la programmation de PICK:PICK/BASIC, FlashBASIC et C interopérabilité

http://www.d3ref.com/?token=flash.basic

Il dit FlashBASIC est une compilation, au lieu d'interpréter, la version des programmes de récupération qui sont interopérables avec CHOISIR. C'est bien. Je suis curieux de savoir comment il décrit le code de l'objet:

convertit Pick-/ BASIC code source dans une liste d'instructions binaires appelé code objet.

Ce code objet est-il interopérable avec d'autres langues? Ou est-ce limité à l'environnement d'exploitation PICK & Universe? En d'autres termes un programme C peut-il appeler un programme FlashBASIC?

Ceci est utile pour définir la version C, mais ne peut pas trouver une définition claire de la version FlashBasic:

What's an object file in C?

+0

On dirait que PICK peut appeler C sans problèmes apparents. Toujours à la recherche d'un moyen pour que C appelle PICK: http://www3.rocketsoftware.com/rocketd3/support/documentation/d3nt/91/refman/pickbasic-flashbasic/flashbasic_c_functions_overview.htm – Jon

Répondre

1

Vous vous posez quelques questions différentes que je vais essayer de répondre.

Voici un article que j'ai écrit qui pourrait aider votre compréhension de FlashBASIC. En résumé, lorsque MV Basic est compilé puis exécuté par l'assembleur, le compilateur Flash est C et génère un module objet situé en dessous de l'objet BASIC standard dans l'espace image. Au moment de l'exécution, ce code est ensuite interprété par un runtime C. Pour nos besoins ici, il n'y a pas d'interface C, c'est juste un mécanisme interne pour que le code s'exécute plus rapidement.

Notez à partir de ce qui précède que ce n'est pas lié à la "Qu'est-ce qu'un fichier objet dans C?" sujet parce que les modules d'objets dans D3 sont stockés dans des trames D3, sans aucun rapport avec les modules d'objets courants au niveau du système d'exploitation. Maintenant sur l'appel C Choisissez - dans votre cas D3: Vous pouvez utiliser la bibliothèque CP - les docs sont dans la même zone que le lien que vous avez cité. Plutôt que de vous lier à la base de données elle-même, vous pouvez également utiliser votre code dans un mode client/serveur avec la bibliothèque MVSP si vous utilisez Managed C (.NET). Vous pouvez également utiliser n'importe quel mécanisme de client de service Web commun dans C et la configuration D3 en tant que serveur de service Web avec un certain nombre de technologies, y compris MVST, mv.NET, Java ou C/C++.

Je sais que la réponse est plutôt vague, mais vous posez une question qui a été longuement discutée dans les forums sur une période de plusieurs années. Si vous posez une question plus spécifique, vous obtiendrez une réponse spécifique. N'hésitez pas à affiner votre requête dans un commentaire et nous pouvons nous concentrer sur la réponse.

Notez également que vous avez tagué cette question comme "u2". Si vous utilisez vraiment la variante U2 de MV/Pick (Univers ou Unidata) alors la référence aux docs D3 était trompeuse et rien de ce qui précède ne s'applique, car ils le font différemment dans U2 et il n'y a pas de FlashBASIC là. Je sais, tu es confus. Mettons-nous au point ...

+0

Ouais, j'utilise u2, pas d3. Cela a clarifié les choses à travers;) – Jon