Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

programmer en langage C sous VMS

19 réponses
Avatar
fleur-mal
Bonjour,
comme indiqué dans le titre je dois programmer en C sous VMS et je souhaiterais avoir de l'aide au niveau de la syntaxe (entre autres) si il y a des documents ou tutoriaux qui traitent ça je suis preneuse enfin c'est surtout pour voir si il y a une différence entre langage C sous UNIX et sous VMS et merci d'avance.

10 réponses

1 2
Avatar
Marc Boyer
Le 21-06-2010, fleur-mal a écrit :
Bonjour,
comme indiqué dans le titre je dois programmer en C sous VMS et je souhaiterais
avoir de l'aide au niveau de la syntaxe (entre autres) si il y a des documents
ou tutoriaux qui traitent ça je suis preneuse enfin c'est surtout pour voir si
il y a une différence entre langage C sous UNIX et sous VMS et merci d'avance.



Votre question laisse entendre que vous ne comprenez pas bien la différence
entre le langage et l'OS. Si tel est le cas, quelques rappels.

Le C est un langage, définit par quelques normes, et dont le comportement
ne doit pas dépendre de l'OS (plus précisemment, les variations sont
encadrées par la norme: par exemple, on peut toujours représenter au
moins 255 valeurs avec un char, mais sur une plateforme, ça pourrait
être plus).

Ce qu'on peut faire avec uniquement la partie portable du langage C
est assez limité: pas de gestion de processus, de threads, pas
de résau, pas d'interface graphique. Pour faire cela, une programme
C va faire des requêtes à l'OS (on parle d'appel système), et ça,
cela dépend de l'OS, même s'il existe des parties communes
(POSIX par exemple).

Après cette introduction générale, je laisse à d'autres plus compétents
te faire la liste des différences et points communs VMS/Unix.

Marc Boyer
--
En prenant aux 10% des francais les plus riches 12% de leurs revenus,
on pourrait doubler les revenus des 10% les plus pauvres.
http://www.inegalites.fr/spip.php?article1&id_mot0
Avatar
fleur-mal
Marc Boyer a écrit le 21/06/2010 à 17h05 :
Le 21-06-2010, fleur-mal a écrit :
Bonjour,
comme indiqué dans le titre je dois programmer en C sous VMS et je
souhaiterais
avoir de l'aide au niveau de la syntaxe (entre autres) si il y a des documents
ou tutoriaux qui traitent ça je suis preneuse enfin c'est surtout pour
voir si
il y a une différence entre langage C sous UNIX et sous VMS et merci
d'avance.




Votre question laisse entendre que vous ne comprenez pas bien la
différence
entre le langage et l'OS. Si tel est le cas, quelques rappels.

Le C est un langage, définit par quelques normes, et dont le
comportement
ne doit pas dépendre de l'OS (plus précisemment, les variations
sont
encadrées par la norme: par exemple, on peut toujours représenter
au
moins 255 valeurs avec un char, mais sur une plateforme, ça pourrait
être plus).

Ce qu'on peut faire avec uniquement la partie portable du langage C
est assez limité: pas de gestion de processus, de threads, pas
de résau, pas d'interface graphique. Pour faire cela, une programme
C va faire des requêtes à l'OS (on parle d'appel système),
et ça,
cela dépend de l'OS, même s'il existe des parties communes
(POSIX par exemple).

Après cette introduction générale, je laisse à
d'autres plus compétents
te faire la liste des différences et points communs VMS/Unix.

Marc Boyer
--
En prenant aux 10% des francais les plus riches 12% de leurs revenus,
on pourrait doubler les revenus des 10% les plus pauvres.
http://www.inegalites.fr/spip.php?article1&id_mot0


c'est pas exactement ce que je cherchais ma question sous entendé si il y avait un différence dans la syntaxe du genre pour travailler avec langage C sous VMS y a t-il des modules supplémentaires à inculre ou on travaille de la même façon que si on était sous UNIX c-à-d la structure du langage ne change pas peu importe l'OS.

et merci
Avatar
JKB
Le 22-06-2010, ? propos de
Re: programmer en langage C sous VMS,
fleur-mal ?crivait dans fr.comp.lang.c :
c'est pas exactement ce que je cherchais ma question sous entendé si il y avait
un différence dans la syntaxe du genre pour travailler avec langage C sous VMS y
a t-il des modules supplémentaires à inculre ou on travaille de la même façon
que si on était sous UNIX c-à-d la structure du langage ne change pas peu
importe l'OS.

et merci



Arrête-moi si je me trompe, mais il me semble avoir répondu à cette
question.

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.
=> http://grincheux.de-charybde-en-scylla.fr
Avatar
fleur-mal
JKB a écrit le 22/06/2010 à 09h39 :
Le 22-06-2010, ? propos de
Re: programmer en langage C sous VMS,
fleur-mal ?crivait dans fr.comp.lang.c :
c'est pas exactement ce que je cherchais ma question sous entendé si il
y avait
un différence dans la syntaxe du genre pour travailler avec langage C
sous VMS y
a t-il des modules supplémentaires à inculre ou on travaille de
la même façon
que si on était sous UNIX c-à-d la structure du langage ne
change pas peu
importe l'OS.

et merci




Arrête-moi si je me trompe, mais il me semble avoir répondu
à cette
question.

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il
représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que
nous
consommons tous les jours.
=> http://grincheux.de-charybde-en-scylla.fr


bonjour JKB ,
je ne sais pas si tu as déjà répondu à cette question mais si c'est le cas moi j'ai pas retrouvé ta réponse cependant je veux bien la connaitre et sinon j'ai d'autres questions plus précises . au fait je souhaiterais accéder à une base de données RDB avec langage C sous VMS est ce que c'est possible et comment faire?
merci pour votre aide
Avatar
JKB
Le 22-06-2010, ? propos de
Re: programmer en langage C sous VMS,
fleur-mal ?crivait dans fr.comp.lang.c :
JKB a écrit le 22/06/2010 à 09h39 :
Le 22-06-2010, ? propos de
Re: programmer en langage C sous VMS,
fleur-mal ?crivait dans fr.comp.lang.c :
c'est pas exactement ce que je cherchais ma question sous entendé si il
y avait
un différence dans la syntaxe du genre pour travailler avec langage C
sous VMS y
a t-il des modules supplémentaires à inculre ou on travaille de
la même façon
que si on était sous UNIX c-à-d la structure du langage ne
change pas peu
importe l'OS.

et merci




Arrête-moi si je me trompe, mais il me semble avoir répondu
à cette
question.

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il
représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que
nous
consommons tous les jours.
=> http://grincheux.de-charybde-en-scylla.fr


bonjour JKB ,
je ne sais pas si tu as déjà répondu à cette question mais si c'est le cas moi
j'ai pas retrouvé ta réponse cependant je veux bien la connaitre et sinon j'ai
d'autres questions plus précises . au fait je souhaiterais accéder à une base de
données RDB avec langage C sous VMS est ce que c'est possible et comment faire?
merci pour votre aide



Je t'ai répondu que je ne ferai pas le TP à ta place, que strcmp()
n'a _aucune_ raison de se comporter différemment entre Visual C++ et
DEC C et que si c'était le cas, j'aimerais bien un exemple. En dehors
d'un certain nombre de spécificité de C sous VMS qui sont les
fonctions de la RTL$, donc les trucs abscons comme SMG$, RSX$, FMS$
et j'en passe, toutes hors sujet ici (sauf peut-être SMG$ et les
fichiers indexés, mais la doc se trouve dans les classeurs orange ou gris,
regarde bien), le C demandé est _parfaitement_ portable. La seule
réelle spécificité de DEC C est de pouvoir passer un pointeur sur
une constante en écrivant un truc bien pratique : &4 (par exemple),
ce qui est un grand gag lorsqu'on porte un code de VMS vers Unix où
il faut passer par une variable intermédiaire.

Au prompt VMS, utilise la commande HELP, il y a déjà pas mal de
chose de parfaitement documenté.

Idem pour l'accès à une base RDB. Là, on touche à du pur VMS. La doc
des fonctions est dans la doc de l'OS (ou sur le site d'Oracle,
depuis que RDB a été vendu à Oracle encore du temps de Digital).

La syntaxe elle-même du langage et les fonctions normalisées ne
_changent_ pas et fonctionnent de la même façon quel que soit l'OS
ou le compilateur (sauf quelques trucs de Visual C/C++, mais ça,
c'est presque normal de la part de microsoft et ce sont des fonctions
que tu n'utiliseras pas [je pense à getcwd() qui renvoie un pointeur
alloué dans un cas et un pointeur sur une zone statique dans
l'autre]).

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.
=> http://grincheux.de-charybde-en-scylla.fr
Avatar
fleur-mal
JKB a écrit le 22/06/2010 à 10h55 :
Le 22-06-2010, ? propos de
Re: programmer en langage C sous VMS,
fleur-mal ?crivait dans fr.comp.lang.c :
JKB a écrit le 22/06/2010 à 09h39 :
Le 22-06-2010, ? propos de
Re: programmer en langage C sous VMS,
fleur-mal ?crivait dans fr.comp.lang.c :
c'est pas exactement ce que je cherchais ma question sous entendé si
il
y avait
un différence dans la syntaxe du genre pour travailler avec langage C
sous VMS y
a t-il des modules supplémentaires à inculre ou on travaille
de
la même façon
que si on était sous UNIX c-à-d la structure du langage ne
change pas peu
importe l'OS.

et merci





Arrête-moi si je me trompe, mais il me semble avoir répondu
à cette
question.

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il
représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que
nous
consommons tous les jours.
=> http://grincheux.de-charybde-en-scylla.fr



bonjour JKB ,
je ne sais pas si tu as déjà répondu à cette
question mais si c'est le cas moi
j'ai pas retrouvé ta réponse cependant je veux bien la connaitre
et sinon j'ai
d'autres questions plus précises . au fait je souhaiterais
accéder à une base de
données RDB avec langage C sous VMS est ce que c'est possible et
comment faire?
merci pour votre aide




Je t'ai répondu que je ne ferai pas le TP à ta place, que
strcmp()
n'a _aucune_ raison de se comporter différemment entre Visual C++ et
DEC C et que si c'était le cas, j'aimerais bien un exemple. En dehors
d'un certain nombre de spécificité de C sous VMS qui sont les
fonctions de la RTL$, donc les trucs abscons comme SMG$, RSX$, FMS$
et j'en passe, toutes hors sujet ici (sauf peut-être SMG$ et les
fichiers indexés, mais la doc se trouve dans les classeurs orange ou
gris,
regarde bien), le C demandé est _parfaitement_ portable. La seule
réelle spécificité de DEC C est de pouvoir passer un
pointeur sur
une constante en écrivant un truc bien pratique : &4 (par exemple),
ce qui est un grand gag lorsqu'on porte un code de VMS vers Unix où
il faut passer par une variable intermédiaire.

Au prompt VMS, utilise la commande HELP, il y a déjà pas mal de
chose de parfaitement documenté.

Idem pour l'accès à une base RDB. Là, on touche à
du pur VMS. La doc
des fonctions est dans la doc de l'OS (ou sur le site d'Oracle,
depuis que RDB a été vendu à Oracle encore du temps de
Digital).

La syntaxe elle-même du langage et les fonctions normalisées ne
_changent_ pas et fonctionnent de la même façon quel que soit l'OS
ou le compilateur (sauf quelques trucs de Visual C/C++, mais ça,
c'est presque normal de la part de microsoft et ce sont des fonctions
que tu n'utiliseras pas [je pense à getcwd() qui renvoie un pointeur
alloué dans un cas et un pointeur sur une zone statique dans
l'autre]).

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il
représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que
nous
consommons tous les jours.
=> http://grincheux.de-charybde-en-scylla.fr


merci pour ta réponse mais j'ai beau cherché je trouve rien concernant l'utilisation de RDB en langage C donc si c'est possible de me passer le lien pour voir quelle bibliothèque inclure pour pouvoir utiliser ma base de données .
et merci
Avatar
JKB
Le 22-06-2010, ? propos de
Re: programmer en langage C sous VMS,
fleur-mal ?crivait dans fr.comp.lang.c :
merci pour ta réponse mais j'ai beau cherché je trouve rien concernant
l'utilisation de RDB en langage C donc si c'est possible de me passer le lien
pour voir quelle bibliothèque inclure pour pouvoir utiliser ma base de données
.
et merci



Merci de répondre aux _autres_ questions.

$ HELP nom de la fonction

Tout y est expliqué. Je n'ai pas RDB installé sur mon AS800, mais
_toutes_ les autres fonctions disent explicitement quoi inclure.

Exemple :

$ help posix_thread
...
$ help POSIX_THREADS PTHREAD_routines pthread_attr_setinheritsched
...

Je ne vois pas ce qu'il manque. Il y a les prototypes des fonctions,
la convention d'appel depuis le C (C Binding) et les bibliothèques à
utiliser lors de l'édition des liens. Pour le reste, help link.

Avec RDB d'installé, tu dois avoir un chapitre disponible dans la
commande HELP. Sous VMS, lorsque tu installes un outil, les pages
d'aide sont automatiquement rajoutées dans l'arborescence de l'aide
(façon gopher, c'est très bien fichu).

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.
=> http://grincheux.de-charybde-en-scylla.fr
Avatar
fleur-mal
JKB a écrit le 22/06/2010 à 12h08 :
Le 22-06-2010, ? propos de
Re: programmer en langage C sous VMS,
fleur-mal ?crivait dans fr.comp.lang.c :
merci pour ta réponse mais j'ai beau cherché je trouve rien
concernant
l'utilisation de RDB en langage C donc si c'est possible de me passer le lien
pour voir quelle bibliothèque inclure pour pouvoir utiliser ma base de
données
.
et merci




Merci de répondre aux _autres_ questions.

$ HELP nom de la fonction

Tout y est expliqué. Je n'ai pas RDB installé sur mon AS800, mais
_toutes_ les autres fonctions disent explicitement quoi inclure.

Exemple :

$ help posix_thread
...
$ help POSIX_THREADS PTHREAD_routines pthread_attr_setinheritsched
...

Je ne vois pas ce qu'il manque. Il y a les prototypes des fonctions,
la convention d'appel depuis le C (C Binding) et les bibliothèques
à
utiliser lors de l'édition des liens. Pour le reste, help link.

Avec RDB d'installé, tu dois avoir un chapitre disponible dans la
commande HELP. Sous VMS, lorsque tu installes un outil, les pages
d'aide sont automatiquement rajoutées dans l'arborescence de l'aide
(façon gopher, c'est très bien fichu).

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il
représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que
nous
consommons tous les jours.
=> http://grincheux.de-charybde-en-scylla.fr


le problème c'est que je connais pas les fonctions qu'il faut pour utiliser une base de données RDB avec du langage C alors le HELP ne m'aide pas en grand chose. je demande juste à savoir si il y a un module à inclure pour pourvoir utiliser ma base de données du genre :
#include<stdio.h>
et à ce moment là accéder à toutes les fonctions
et merci beaucoup
Avatar
JKB
Le 22-06-2010, ? propos de
Re: programmer en langage C sous VMS,
fleur-mal ?crivait dans fr.comp.lang.c :
le problème c'est que je connais pas les fonctions qu'il faut pour utiliser une
base de données RDB avec du langage C alors le HELP ne m'aide pas en grand
chose. je demande juste à savoir si il y a un module à inclure pour pourvoir
utiliser ma base de données du genre :
#include<stdio.h>
et à ce moment là accéder à toutes les fonctions
et merci beaucoup



http://www.oracle.com/technology/documentation/rdb.html

Au passage, ça m'étonnerait vraiment beaucoup connaissant les types
qui donnent les cours dans cette école qu'ils vous lâchent sur rdb
directement sans donner quelques informations aux étudiants.

Le fichier suivant peut aussi être bien :
http://download.oracle.com/otn_hosted_doc/rdb/pdf/sqscint.pdf

Toutes les informations sont disponibles, sur RMU$ et les autres
façons d'accéder à cette base au travers des commandes SQL.

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.
=> http://grincheux.de-charybde-en-scylla.fr
Avatar
fleur-mal
JKB a écrit le 22/06/2010 à 12h54 :
Le 22-06-2010, ? propos de
Re: programmer en langage C sous VMS,
fleur-mal ?crivait dans fr.comp.lang.c :
le problème c'est que je connais pas les fonctions qu'il faut pour
utiliser une
base de données RDB avec du langage C alors le HELP ne m'aide pas en
grand
chose. je demande juste à savoir si il y a un module à inclure
pour pourvoir
utiliser ma base de données du genre :
#include<stdio.h>
et à ce moment là accéder à toutes les fonctions
et merci beaucoup




http://www.oracle.com/technology/documentation/rdb.html

Au passage, ça m'étonnerait vraiment beaucoup connaissant les
types
qui donnent les cours dans cette école qu'ils vous lâchent sur rdb
directement sans donner quelques informations aux étudiants.

Le fichier suivant peut aussi être bien :
http://download.oracle.com/otn_hosted_doc/rdb/pdf/sqscint.pdf

Toutes les informations sont disponibles, sur RMU$ et les autres
façons d'accéder à cette base au travers des commandes
SQL.

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il
représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que
nous
consommons tous les jours.
=> http://grincheux.de-charybde-en-scylla.fr


merci pour ta réponse cependant je me demandais si c'est pas possible de me donner un exemple d'un programme en C où l'on se connecte à une base de données RDB ou où l'on exécute une requête sql je crois ça rendrait les choses plus claires et merci d'avance
1 2