Cours NetRexx

Support de Cours Direct console d'E / S en NETREXX en PDF


Télécharger Support de Cours Direct console d'E / S en NETREXX en PDF

★★★★★★★★★★3.5 étoiles sur 5 basé sur 1 votes.
Votez ce document:

Télécharger aussi :


 

...

Ce document décrit une implémentation des fonctions IBM Rexx Utility pour Unix et Windows / NT. Les fonctions de Rexx Utility étendent les capacités des programmes Rexx de manière utile et il est souhaitable de disposer d’interfaces compatibles pour toutes les implémentations. Cette implémentation est destinée à l’interprète de Regina, mais elle devrait également fonctionner avec d’autres interprètes. Une version antérieure de la bibliothèque était compatible binaire avec Rexx / IMC sur Solaris. Bien que j’ai accès au code source rexxutil via le kit du développeur OS / 2, cette implémentation contient un nouveau code et est basée sur la documentation de l’implémentation d’IBM, plutôt que sur ses composants internes. Les routines décrites ici sont généralement compatibles avec IBM, bien que certaines fonctions ou options d’IBM ne soient pas implémentées et que, dans certains cas, la version de regutil apporte des améliorations mineures. Veuillez consulter le fichier status.txt dans la distribution pour connaître les déclarations d'achèvement. Le manuel et le code source sont divisés en fonctionnalités, les principaux groupes étant les suivants: maintenance (regutil.c), système de fichiers (regfilesys.c), système général (regini.c), manipulation de macro-espaces (regmacrospace. c), manipulation de tige (regstem.c), entrée / sortie de la console (regscreen.c, regscreenux.c), gestion des sémaphores (regsem.c, regsemux.c) et conversion du jeu de caractères (regunicode.c).

1.1 Installation

Le paquetage regutil comprend un binaire pré-compilé pour les plateformes Win32 et le code source qui doit être compilé sur NT et la plupart des systèmes Unix. Il doit également être compilé sur d'autres plates-formes fournissant l'API POSIX, mais une configuration peut être requise dans les zones non couvertes par POSIX (ou insuffisamment prises en charge sur la plate-forme en question). Voir la section 1.1.3 pour des suggestions de configuration.

1.1.1 Win32

La distribution n'inclut pas de programme d'installation. Pour installer la bibliothèque précompilée, extrayez regutil.dll du fichier zip d'installation et copiez-le dans un répertoire du chemin de recherche de votre programme ou dans le répertoire contenant le fichier exécutable rexx (il s'agit généralement de regina.exe, sauf si vous utilisez un fichier rexx). application activée, auquel cas c'est l'exécutable de l'application). Seul regutil.dll est nécessaire pour utiliser la bibliothèque et les applications utilisant RegUtil peuvent être distribuées avec ce fichier uniquement. Le fichier de documentation, regutil.pdf, doit également être distribué si les utilisateurs finaux sont censés écrire des macros à l'aide de ces fonctions. Voir la section 1.1.3 pour des informations sur la compilation de la bibliothèque à partir du code source.

1.1.2 Unix

La distribution n'inclut pas de script de configuration, mais inclut les fichiers de création connus pour fonctionner à l'aide du compilateur stock fournisseur sur plusieurs systèmes Unix. Si vous avez l’un de ces systèmes, liez le fichier make correspondant au nom «Makefile» et construisez la cible «dist». Par exemple, sous Solaris:

Dans Makefile.sun Makefile make dist

Sur la plupart des plateformes, cela crée une bibliothèque partagée appelée libregutil.so. Sous HP-UX, le fichier s'appelle libregutil.sl et sous AIX, il s'appelle libregutil.a. Le chemin d'accès à cette bibliothèque peut être défini de trois manières: La plupart des systèmes Unix permettent à un chemin de recherche de bibliothèque partagée d'être incorporé dans les fichiers de programme. Si vous construisez regina (ou votre application compatible rexx) de telle sorte que ce chemin soit défini pour inclure un répertoire tel que / opt / regina / lib ou / usr / local / lib, vous pouvez installer regutil en copiant la bibliothèque partagée dans ce répertoire. (voir section 1.1.3 pour plus d’informations). Si cela n'est pas possible, vous devez définir une variable d'environnement ou modifier la façon dont le système recherche les bibliothèques partagées. Les systèmes Unix utilisent généralement un chemin différent pour les bibliothèques partagées par rapport aux fichiers de programme. Le nom de la variable d'environnement utilisée pour le chemin de la bibliothèque partagée n'est pas normalisé. Cependant, la plupart des systèmes utilisent LD_LIBRARY_PATH. Les exceptions notables sont AIX (LIBPATH) et HP-UX (SHLIB_PATH pour les exécutables 32 bits, LD_ LIBRARY_PATH pour les exécutables 64 bits). Pour installer regutil, ajoutez un répertoire approprié au chemin de la bibliothèque partagée de votre ordinateur et copiez la bibliothèque partagée dans ce répertoire. Enfin, certains systèmes fournissent un utilitaire (souvent appelé ldconfig) qui peut être utilisé pour définir le chemin de recherche standard des bibliothèques partagées ou pour fournir une base de données de bibliothèques partagées. Sur un tel système, regutil peut être installé en copiant la bibliothèque partagée dans un répertoire approprié et en utilisant cet utilitaire pour l'ajouter à la base de données de recherche. Vous aurez besoin de consulter la documentation de votre système pour plus d'informations.



1.1.3 Notes sur la compilation

Je fournis des fichiers de création pour les compilateurs stock stock sur plusieurs systèmes Unix. Sous Windows, je fournis des fichiers de création pour Visual C ++ (Makefile.nt) et le port MinGW de gcc (Makefile.mingw). Les fichiers Unix make définissent des variables spécifiques à la plate-forme, puis chargent le fichier Makefile.inc, qui contient les règles de construction des bibliothèques. Les fichiers make de win32 contiennent toutes les règles de construction de la bibliothèque avec leurs compilateurs respectifs. Je trouve pratique de lier ou de copier le fichier make spécifique à la plate-forme sous le nom Makefile. Par défaut, la bibliothèque est construite avec l'optimisation désactivée et les symboles de débogage inclus. C’est pratique pour le développement de la bibliothèque, mais celle-ci donnera de meilleures performances si vous construisez la cible dist (avec la commande ‘make dist’). Pour porter la bibliothèque sur une nouvelle plate-forme ou sur un nouveau compilateur sur une plate-forme pour laquelle un fichier make existe, il devrait suffire de copier un fichier make existant et de modifier certaines de ces variables. Sous Unix, pour changer de compilateur pour une plate-forme existante, il devrait suffire de redéfinir PCFLAGS et POPT. Si le nouveau compilateur est gcc, les valeurs peuvent être extraites de Makefile.bsd. L'intention de chaque variable est indiquée dans le tableau:

Variable spécifique à l'objectif

PDEBUG Compiler Drapeaux en plus de -g requis pour créer des programmes pouvant être examinés dans le débogueur. Ceci est sans importance si seules les constructions dist seront effectuées;

Variable spécifique à l'objectif

Compilateur POPT Drapeaux qui entraînent l'optimisation du compilateur. Au moins -O devrait être utilisé pour tout code de production, à mon avis;

PCFLAGS Compiler Compiler Drapeaux qui doivent être définis pour la compilation de débogage et optimisée. Cela devrait inclure un drapeau pour générer du code déplaçable (parfois appelé positionindependent);

Définitions du système d'exploitation PCDEFS qui rendent compte des fonctionnalités du système ou modifient le comportement de la bibliothèque. Celles-ci sont expliquées plus en détail ci-dessous;

PLDFLAGS Drapeaux de système d'exploitation pour ld. Cela doit inclure quelque chose pour que ld crée une bibliothèque partagée. Sur la plupart des plates-formes, il n'est pas nécessaire de se connecter à la bibliothèque partagée Rexx, mais cela peut nécessiter des indicateurs ld spéciaux.

Système d'exploitation PLIBS Bibliothèques requises pour résoudre les symboles utilisés dans la bibliothèque.

Cela ne doit généralement pas inclure -lregina, mais généralement des bibliothèques pour l'interface de terminal; so Operating System L'extension pour les objets partagés (par défaut, so);

Système d'exploitation REXX_INCLUDE Répertoire contenant rexxsaa.h (par défaut, $ HOME / include).

Les fichiers make de win32 ont un ensemble différent de variables make. En raison de la nature de l’environnement de développement win32, la distinction entre les valeurs propres à la plate-forme et celles propres au compilateur n’existe pas.



……

1.2 Signaler des bugs

Théorème A: Chaque programme peut être réduit d'au moins une ligne.

Théorème B: Chaque programme contient au moins un bogue.

Corollaire: chaque programme peut être réduit à une ligne qui ne fonctionne pas correctement.

Regutil subit très peu de tests avant que les nouvelles versions ne soient expédiées. Je n’ai pas eu le temps de faire un test de régression, par exemple, et bien que cela figure sur ma liste de choses à faire, la pression du travail et de la vie privée m’empêche de le faire. Depuis la première version «complète» de Regutil (1.0.4) en février 1999, peu de bogues ont été découverts, compte tenu du nombre de tests qu’il subit à cette fin. Lorsque des bugs sont rapportés, je fais de mon mieux pour les corriger et pour publier une nouvelle version dans un court délai. Mon temps est généralement très serré et je ne peux donc donner aucune garantie. Si vous trouvez un bogue, une erreur dans la documentation ou si vous avez simplement une suggestion pour améliorer la distribution, veuillez m'envoyer des détails à l'adresse ... Il est utile de connaître le système d’exploitation que vous utilisez, la version de Regina (ou Rexx / IMC) et la version de regutil, ainsi que la procédure à suivre pour reproduire le bogue. Si vous utilisez regutil à des fins sérieuses et prenez donc le temps de produire une suite de tests pour votre propre usage, je vous en serais reconnaissant si vous apportiez votre contribution à la cause.



99