[Search for users]
[Overall Top Noters]
[List of all Conferences]
[Download this site]
Title: | DECC |
Notice: | General DEC C discussions |
Moderator: | TLE::D_SMITH N TE |
|
Created: | Fri Nov 13 1992 |
Last Modified: | Fri Jun 06 1997 |
Last Successful Update: | Fri Jun 06 1997 |
Number of topics: | 2212 |
Total number of notes: | 11045 |
2132.0. "Posix rtl routines on OpenVMS?" by CSC32::J_HENSON (Don't get even, get ahead!) Fri Mar 28 1997 16:44
Dec C V5.5-002, OpenVMS V7.0, Alpha
Well, I guess it's my time to ask a real stupid question. I think I know part
of the answer, but would feel better about what I tell the customer after
I get my questions answered here.
A customer is trying to write 'portable' code. He is using some of
the Posix/Unix functions such as fcntl, msgctl, msgget, msgreceive
and msgsend (I'm not positive of the spelling). He compiles this
without any problems, but gets undefined symbol warnings when he
links (on OpenVMS).
From some of the previous notes, I see that fcntl has not been implemented
on OpenVMS. I'm guessing that the same holds for the msg... routines.
I did check the rtl reference manual, and didn't seen any mention of
them.
So, my questions are: How can he link these into his image? Is there a
posix library that he can link against, or some macro he can define?
Will he have to link from the Posix shell? If so, how does he
link? Also, I'm assuming that even if there is a way to get this to
link from OpenVMS, the resultant image will not run on OpenVMS. Is
this correct?
Thanks,
Jerry
T.R | Title | User | Personal Name | Date | Lines |
---|
2132.1 | Posix puts the Open in OpenVMS | DECCXX::RMEYERS | Randy Meyers | Fri Mar 28 1997 17:23 | 25 |
| Re: .0
The Posix functions that the customer is using are the the Posix C RTL.
The Posix C RTL is a set of shareable images that you can link against
as an alternative the the DEC C RTL shared images.
Specifically, the functions you list in your note are in the Posix RTL,
but some of the names seem to be slightly different:
Name in note Posix Name
------------ ----------
msgreceive() msgrcv()
msgsend() msgsnd()
If you have the VMS Documentation CDs, you will find the Posix docs
under a "Bookshelf" named "POSIX for OpenVMS". The manual "POSIX for
OpenVMS Reference Manual: Callable Interface" describes the functions
available. You'll probably also be interested in "POSIX for OpenVMS:
Guide to Programming."
Normally, Posix programs are developed under the Posix shell and compiled
using the c89 command. The c89 command is really just a driver that runs
DEC C with lots of specialized command line qualifiers to compile the
program using the Posix headers and the use /PREFIX_LIBRARY_ENTRIES
table from the Posix RTL instead of the DEC C RTL.
|
2132.2 | I don't think you can use posix$rtl outside of POSIX | HNDYMN::MCCARTHY | A Quinn Martin Production | Fri Mar 28 1997 17:43 | 10 |
| They will not only have to link but also run within POSIX if using the POSIX
RTL.
Having "developed in POSIX" to produce something designed to run outside of
POSIX - I do not recommend it.
The next question is what functionality are they looking for out of the
routines (some simply don't map to OpenVMS functions).
bjm
|
2132.3 | Thanks | CSC32::J_HENSON | Don't get even, get ahead! | Mon Mar 31 1997 10:33 | 3 |
| Thanks,
Jerry
|