T.R | Title | User | Personal Name | Date | Lines |
---|
5607.1 | | TLE::D_SMITH | Duane Smith -- DEC C RTL | Fri May 02 1997 10:35 | 8 |
| Why not create a new object library like:
$ LIBRARY/CREATE/OBJECT VAXCRTL_EXTENSIONS
$ CC MKTIME
$ LIBRARY VAXCRTL_EXTENSIONS MKTIME
$ DEFINE LNK$LIBRARY VAXCRTL_EXTENSIONS
And then proceed to link as normal.
|
5607.2 | Don't Alias Standard Functions/Modules Directly... | XDELTA::HOFFMAN | Steve, OpenVMS Engineering | Fri May 02 1997 11:27 | 13 |
|
I would recommend avoiding the use of the C standard routine names
and the standard C header file names for non-DIGITAL code (beyond
possibly inserting a stub for mktime.h, if that is missing from the
antique version of VAX C in use), and I would avoid modifying the
standard libraries -- use application-specific (local) variants and
application-specific libraries (or shareables), and I would use a
site-specific pre-processor #define to redirect the mktime routine
call to the my_own_mktime routine.
The result of this work will tend to avoid any really weird problems
when these folks finally decide that an OpenVMS and DEC C upgrade is
possible.
|
5607.3 | no yet working... | THYCO::BAGNASCO | De Consolatione Philosophiae | Fri May 02 1997 11:37 | 24 |
|
Hi,
thanks for your quick answers !
re .1
I create the library, insert the .OBJ and the link defining
the logical lnk$library, as:
@define lnk$library dub7:[test]vaxcrtl_extensions
but it continue to return the error:
and then link with:
$ link new_asc
%LINK-W-NUDFSYMS, 1 undefined symbol:
%LINK-I-UDFSYM, MKTIME
%LINK-W-USEUNDEF, undefined symbol MKTIME referenced
in psect $CODE offset %X00000026
in module NEW_ASC file DUB7:[TEST]NEW_ASC.OBJ;1
$
re .2 OK I'll do as you suggest about the name of the function..
Thanks,
paolo
|
5607.4 | LINKing using shareable image, object library... | XDELTA::HOFFMAN | Steve, OpenVMS Engineering | Fri May 02 1997 14:29 | 21 |
|
I'd tend to avoid LNK$LIBRARY -- it tends to get used by many
different folks for different projects, and it thus tends to
get used at unexpected times during unrelated LINKs.
Instead, use:
$ link new_asc,vaxcrtl_extensions/lib,sys$input:/opt
sys$share:vaxcrtl/share
$
DEC C eliminated the need to explicitly specify the shareable
image, as the use of the decc$ prefix (see /PREFIX=ALL) means
that symbols in the shareable image can be resolved by the
default search of IMAGELIB conducted by the LINKER.
I'd also recommend upgrading to DEC C V3.2, if possible. (If
not an upgrade all the way to at least OpenVMS V5.5-2 and DEC C.)
I had encountered a number of compiler bugs in the VAX C V3.0
(antique vintage) compiler.
|
5607.5 | No DEC C V3.2 that I know of | CXXC::REINIG | This too shall change | Mon May 05 1997 10:23 | 6 |
| > I'd also recommend upgrading to DEC C V3.2, if possible.
I hope you meant VAX C V3.2.
August G. Reinig
|
5607.6 | Of Two Minds On This Upgrade... | XDELTA::HOFFMAN | Steve, OpenVMS Engineering | Mon May 05 1997 10:36 | 9 |
|
: > I'd also recommend upgrading to DEC C V3.2, if possible.
:
: I hope you meant VAX C V3.2.
Actually, I'd prefer this site upgrade to DEC C V5.5 or later, but
yes, I'd meant to indicate "to VAX C V3.2", the last of the VAX C
releases. (DEC C is superior to VAX C in a number of ways...)
|