Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
HP.com home

HP OpenVMS Systems

ask the wizard
Content starts here

C, RMS I/O, and sharable images?

» close window

The Question is:

 
Is there any limitation to RMS I/O from a shared image?
 
I have a program (in c) that works correctly when linked with /image. This
program has a main() that calls a (soon to be global) routine that calls
printf().
 
These same printf() calls don't work when that source is linked with /share
and a linker options file that names the above mentioned global entry point.
 
 
The caller of LIB$FIND_IMAGE_SYMBOL (?) might be loading the image from EXEC
mode.
I didn't write the loader, and I have no access to its source.
 
I've tried fprintf to stderr, but no luck.
I've redirected stdout to a file, but no joy.
 
 


The Answer is :

 
  You will first need to determine what processor mode the application
  is operating in -- most standard language run-time libraries and even
  the OpenVMS system run-time libraries are not supported for inner-mode
  operations.
 
  Applications executing in inner processor modes will usually use only
  OpenVMS system services and/or entry points directly in the OpenVMS
  executive -- while a subset of the C run-time library is available to
  inner mode code in recent OpenVMS Alpha releases, this is not the
  default C run-time and it requires an explicitly and deliberately
  different linking procedure.  (See the OpenVMS Alpha device driver
  documentation for details of the kernel-mode C run-time interface.)
 
  The standard C (user-mode) run-time library routines require explicit
  initialization when not used with a C main program -- please see the
  details of the VAXC$CRTL_INIT call included in the C documentation.
 
  There are a large number of (user-mode) shareable images written in
  C, and a cookbook for the creation of a shareable image is included
  in the Ask The Wizard area -- these (user-mode) shareable images do
  work just fine...  A full source example of a C shareable image is
  included in topic 2486 here in Ask The Wizard, including a call to
  lib$find_image_symbol to activate the shareable image, and the use
  of printf from within the shareable image.
 

answer written or last revised on ( 1-DEC-1999 )

» close window

 

** About PDF files: The PDF files on this Web site can be read online or printed using Adobe® Acrobat® Reader. If you do not have this software installed on your system, you may download it from Adobe's Web site
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 2008 Hewlett-Packard Development Company, L.P.