<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Shareable image in Operating System - OpenVMS</title>
    <link>https://community.hpe.com/t5/operating-system-openvms/shareable-image/m-p/3399855#M31496</link>
    <description>Deepark,&lt;BR /&gt;&lt;BR /&gt;Compile all three sources to get the .obj files, then you must create the .opt file where you define which procedures (methods) are global (exported) see Antonios post. To get the names you look to the [.cxx_repository]cxx$demangler_db.; . Maybe copying this file to the .opt file and edit it will be the best solution. When you have the .opt file (say t.opt), link with:&lt;BR /&gt;&lt;BR /&gt;$ CXXLINK/SHAREABLE=t.exe a,b,c,t.opt/OPTIONS&lt;BR /&gt;&lt;BR /&gt;Now you have a T.EXE file, which is a shareable image (like t.so on *NIX).&lt;BR /&gt;&lt;BR /&gt;Now when you want to link this shareable image to another program you have two posibilities:&lt;BR /&gt;&lt;BR /&gt;You can create a new .opt file, where you add a line:&lt;BR /&gt;&lt;BR /&gt;T/SHAREABLE&lt;BR /&gt;&lt;BR /&gt;and use this .opt when linking the programs which use yours T.EXE.&lt;BR /&gt;&lt;BR /&gt;The second posibility is to create a shareable library with:&lt;BR /&gt;&lt;BR /&gt;$ LIBRARY/CREATE/SHARE T.OLB T.EXE&lt;BR /&gt;&lt;BR /&gt;When linking programs you then you link with:&lt;BR /&gt;&lt;BR /&gt;$ LINK program_which_use_t.obj,t.olb/LIBRARY&lt;BR /&gt;&lt;BR /&gt;(or CXXLINK when you are linking C++ programs)&lt;BR /&gt;&lt;BR /&gt;Another posibility is to define a logical name LNK$LIBRARY which points to t.olb (if you have more than one library you start with LNK$LIBRARY then LNK$LIBRARY_1,LNK$LIBRARY_2 and so on logical names). This logical names can be defined in the PROCESS,JOB,GROUP and SYSTEM table. The linker will search all libraryes to resolve symbols. If you define such logical names, there is no need to define anything in the LINK command.&lt;BR /&gt;&lt;BR /&gt;Remeber that shareable images must reside in the SYS$SHARE (or SYS$LIBRARY which is the same) directory or have a logical name which points to the shareable image. The second method is better, because with this you dont mess with system directories. There is an example how to define the logical name for the MYSHAREABLES:T.EXE:&lt;BR /&gt;&lt;BR /&gt;$ DEFINE/table T MYSHAREABLES:T.EXE&lt;BR /&gt;&lt;BR /&gt;the /table qualifier is the table where you want to define the logical. If all users on the system will use this shareable image /SYSTEM will be the right table.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Bojan&lt;BR /&gt;&lt;BR /&gt;</description>
    <pubDate>Fri, 15 Oct 2004 03:41:16 GMT</pubDate>
    <dc:creator>Bojan Nemec</dc:creator>
    <dc:date>2004-10-15T03:41:16Z</dc:date>
    <item>
      <title>Shareable image</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/shareable-image/m-p/3399848#M31489</link>
      <description>Hi,&lt;BR /&gt;&lt;BR /&gt;   How to create C++ shareable images on &lt;BR /&gt;   OpenVMS Alpha.&lt;BR /&gt;&lt;BR /&gt;-Deepak</description>
      <pubDate>Thu, 14 Oct 2004 06:26:37 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/shareable-image/m-p/3399848#M31489</guid>
      <dc:creator>Deepak kumar_3</dc:creator>
      <dc:date>2004-10-14T06:26:37Z</dc:date>
    </item>
    <item>
      <title>Re: Shareable image</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/shareable-image/m-p/3399849#M31490</link>
      <description>Uh... LINK/SHARE ?&lt;BR /&gt;&lt;BR /&gt;Check Language USerguide&lt;BR /&gt;&lt;A href="http://h71000.www7.hp.com/commercial/cplus/alpha_doc/" target="_blank"&gt;http://h71000.www7.hp.com/commercial/cplus/alpha_doc/&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;Compaq C++&lt;BR /&gt;Using Compaq C++ for OpenVMS Alpha&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://h71000.www7.hp.com/commercial/cplus/alpha_doc/ugvhdr.html#index_x_299" target="_blank"&gt;http://h71000.www7.hp.com/commercial/cplus/alpha_doc/ugvhdr.html#index_x_299&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;3.5 Sample Code for Creating OpenVMS Shareable Images&lt;BR /&gt;&lt;BR /&gt;Also check the LINKER reference manual.&lt;BR /&gt;&lt;BR /&gt;If you have SPECIFIC questions/problems, then I'm sure we'll be able to help more.&lt;BR /&gt;&lt;BR /&gt;Regards,&lt;BR /&gt;Hein.&lt;BR /&gt;</description>
      <pubDate>Thu, 14 Oct 2004 06:36:17 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/shareable-image/m-p/3399849#M31490</guid>
      <dc:creator>Hein van den Heuvel</dc:creator>
      <dc:date>2004-10-14T06:36:17Z</dc:date>
    </item>
    <item>
      <title>Re: Shareable image</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/shareable-image/m-p/3399850#M31491</link>
      <description>Hi,&lt;BR /&gt;&lt;BR /&gt;Although I'm not familiar with creating shareable images from modules written in C++, I guess it isn't that much different than for instance from modules written in C.&lt;BR /&gt;&lt;BR /&gt;Please have a look at the OpenVMS Linker Utility Manual, Chapter 4, Creating Shareable Images.&lt;BR /&gt;&lt;BR /&gt;Greetz,&lt;BR /&gt;&lt;BR /&gt;Kris&lt;BR /&gt;</description>
      <pubDate>Thu, 14 Oct 2004 06:37:57 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/shareable-image/m-p/3399850#M31491</guid>
      <dc:creator>Kris Clippeleyr</dc:creator>
      <dc:date>2004-10-14T06:37:57Z</dc:date>
    </item>
    <item>
      <title>Re: Shareable image</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/shareable-image/m-p/3399851#M31492</link>
      <description>Hi Deepak,&lt;BR /&gt;shareabel images are different from VAX VMS.&lt;BR /&gt;On alpha you don't need macro file with shareable entry points. You need declare your entry points and public variables using link; to make this you have to create e .OPT file like follows:&lt;BR /&gt;GSMATCH=LEQUAL,1,100&lt;BR /&gt;SYMBOL_VECTOR = ( -&lt;BR /&gt;ENTRYA = PROCEDURE, -&lt;BR /&gt;ENTRYB = PROCEDURE, -&lt;BR /&gt;)&lt;BR /&gt;PSECT_ATTR=MY_PUBLIC_VAR,NOSHR&lt;BR /&gt;PSECT_ATTR=MY_RO_TABLE,SHR,NOWRT&lt;BR /&gt;where&lt;BR /&gt;ENTRYA, ENTRYB may be your entry points for your C/C++ functions;&lt;BR /&gt;MY_PUBLIC may be a public variable, no shareable;&lt;BR /&gt;my_RO_TABLE may be a read-only public variable;&lt;BR /&gt; &lt;BR /&gt;HTH&lt;BR /&gt;Antonio Vigliotti&lt;BR /&gt;</description>
      <pubDate>Thu, 14 Oct 2004 09:25:48 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/shareable-image/m-p/3399851#M31492</guid>
      <dc:creator>Antoniov.</dc:creator>
      <dc:date>2004-10-14T09:25:48Z</dc:date>
    </item>
    <item>
      <title>Re: Shareable image</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/shareable-image/m-p/3399852#M31493</link>
      <description>A lot of information on writing shareable images on Alpha can be found in the Wizard:&lt;BR /&gt;&lt;A href="http://h71000.www7.hp.com/wizard/wiz_3309.html" target="_blank"&gt;http://h71000.www7.hp.com/wizard/wiz_3309.html&lt;/A&gt; is a good starting point.&lt;BR /&gt;Best choice is the first link mentioned: &lt;A href="http://www.openvms.digital.com/wizard/swdev/ovms-shexe-cook.html" target="_blank"&gt;http://www.openvms.digital.com/wizard/swdev/ovms-shexe-cook.html&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;Willem</description>
      <pubDate>Thu, 14 Oct 2004 13:20:51 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/shareable-image/m-p/3399852#M31493</guid>
      <dc:creator>Willem Grooters</dc:creator>
      <dc:date>2004-10-14T13:20:51Z</dc:date>
    </item>
    <item>
      <title>Re: Shareable image</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/shareable-image/m-p/3399853#M31494</link>
      <description>Deepak,&lt;BR /&gt;&lt;BR /&gt;Follow others instructions. If you are not familiar with shareable images on VMS C++ is not the best language to start. When you declare entrypoints, as Antonio suggested, you must look for the "real" procedure names. For this you can use the [.cxx_repository]cxx$demangler_db.; file, which has in the first colon the real name and in the second colon the C++ name of the routine (method).&lt;BR /&gt;&lt;BR /&gt;Bojan</description>
      <pubDate>Fri, 15 Oct 2004 02:19:57 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/shareable-image/m-p/3399853#M31494</guid>
      <dc:creator>Bojan Nemec</dc:creator>
      <dc:date>2004-10-15T02:19:57Z</dc:date>
    </item>
    <item>
      <title>Re: Shareable image</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/shareable-image/m-p/3399854#M31495</link>
      <description>Hi All,&lt;BR /&gt;&lt;BR /&gt;    Thanks a lot for all the info. But still i am not able to get very clear way how to creat sharable immage.&lt;BR /&gt;&lt;BR /&gt;Example : i have &lt;BR /&gt;           a.cpp&lt;BR /&gt;           b.cpp&lt;BR /&gt;           c.cpp&lt;BR /&gt;now i want to create sharable image t.so how should i proced. In all the above links no where they are telling step by step procedure.&lt;BR /&gt;&lt;BR /&gt;-Deepak</description>
      <pubDate>Fri, 15 Oct 2004 02:59:37 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/shareable-image/m-p/3399854#M31495</guid>
      <dc:creator>Deepak kumar_3</dc:creator>
      <dc:date>2004-10-15T02:59:37Z</dc:date>
    </item>
    <item>
      <title>Re: Shareable image</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/shareable-image/m-p/3399855#M31496</link>
      <description>Deepark,&lt;BR /&gt;&lt;BR /&gt;Compile all three sources to get the .obj files, then you must create the .opt file where you define which procedures (methods) are global (exported) see Antonios post. To get the names you look to the [.cxx_repository]cxx$demangler_db.; . Maybe copying this file to the .opt file and edit it will be the best solution. When you have the .opt file (say t.opt), link with:&lt;BR /&gt;&lt;BR /&gt;$ CXXLINK/SHAREABLE=t.exe a,b,c,t.opt/OPTIONS&lt;BR /&gt;&lt;BR /&gt;Now you have a T.EXE file, which is a shareable image (like t.so on *NIX).&lt;BR /&gt;&lt;BR /&gt;Now when you want to link this shareable image to another program you have two posibilities:&lt;BR /&gt;&lt;BR /&gt;You can create a new .opt file, where you add a line:&lt;BR /&gt;&lt;BR /&gt;T/SHAREABLE&lt;BR /&gt;&lt;BR /&gt;and use this .opt when linking the programs which use yours T.EXE.&lt;BR /&gt;&lt;BR /&gt;The second posibility is to create a shareable library with:&lt;BR /&gt;&lt;BR /&gt;$ LIBRARY/CREATE/SHARE T.OLB T.EXE&lt;BR /&gt;&lt;BR /&gt;When linking programs you then you link with:&lt;BR /&gt;&lt;BR /&gt;$ LINK program_which_use_t.obj,t.olb/LIBRARY&lt;BR /&gt;&lt;BR /&gt;(or CXXLINK when you are linking C++ programs)&lt;BR /&gt;&lt;BR /&gt;Another posibility is to define a logical name LNK$LIBRARY which points to t.olb (if you have more than one library you start with LNK$LIBRARY then LNK$LIBRARY_1,LNK$LIBRARY_2 and so on logical names). This logical names can be defined in the PROCESS,JOB,GROUP and SYSTEM table. The linker will search all libraryes to resolve symbols. If you define such logical names, there is no need to define anything in the LINK command.&lt;BR /&gt;&lt;BR /&gt;Remeber that shareable images must reside in the SYS$SHARE (or SYS$LIBRARY which is the same) directory or have a logical name which points to the shareable image. The second method is better, because with this you dont mess with system directories. There is an example how to define the logical name for the MYSHAREABLES:T.EXE:&lt;BR /&gt;&lt;BR /&gt;$ DEFINE/table T MYSHAREABLES:T.EXE&lt;BR /&gt;&lt;BR /&gt;the /table qualifier is the table where you want to define the logical. If all users on the system will use this shareable image /SYSTEM will be the right table.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Bojan&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Fri, 15 Oct 2004 03:41:16 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/shareable-image/m-p/3399855#M31496</guid>
      <dc:creator>Bojan Nemec</dc:creator>
      <dc:date>2004-10-15T03:41:16Z</dc:date>
    </item>
    <item>
      <title>Re: Shareable image</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/shareable-image/m-p/3399856#M31497</link>
      <description>Deepak,&lt;BR /&gt;&lt;BR /&gt;The responses to this that I've read so far all appear to be factually correct but they don't seem to address the problems that you are going to run into when you try to do this specifically for C++.&lt;BR /&gt;&lt;BR /&gt;By the way, this is also a non-trivial problem on other platforms.&lt;BR /&gt;&lt;BR /&gt;Let me try and enumerate the problems you will run into.&lt;BR /&gt;&lt;BR /&gt;First, you will be dealing with a large number of mangled names.  Trying to manage this is not practical, so you will probably want to automate this by parsing the output of a library/list/names command.&lt;BR /&gt;&lt;BR /&gt;Having done that, the next problem you will encounter is that you will have to determine which entry points are data declarations and which are functions (member or otherwise).  Data declarations must use a corresponding SYMBOL_VECTOR(name=DATA) statement rather than SYMBOL_VECTOR(name=PROCEDURE).  The only way I know to deal with this is to cxxlink and parse the resulting %LINK-W-SYMVABNORMAL messages, fix up the options file and try again.&lt;BR /&gt;&lt;BR /&gt;You might also want to filter out names that you know you don't need to expose.  There are some module initiailzation entry points that really should remain hidden.  It helps here if the tool you are using provides regular expressions so you can filter these out based on a pattern.&lt;BR /&gt;&lt;BR /&gt;It would also be nice to be able to filter out (e.g.) private class member functions but I don't know an easy way to do this.&lt;BR /&gt;&lt;BR /&gt;You also need to be sure and compile with /extern_model=strict_refdef/noshare because failing to do that will cause some external references to be weak references which will prevent some names from showing up in the list/list/names.&lt;BR /&gt;&lt;BR /&gt;You might want to consider compiling with /names=as_is and then creating an all upper case alias for each of the names.  For example:&lt;BR /&gt;&lt;BR /&gt;    SYMBOL_VECTOR=(exampleMixedName=PROCEDURE,EXAMPLEMIXEDNAME/exampleMixedName=PROCEDURE)&lt;BR /&gt;&lt;BR /&gt;The last time I needed to do this I wrote a python script.&lt;BR /&gt;&lt;BR /&gt;HTH,&lt;BR /&gt;&lt;BR /&gt;Bruce</description>
      <pubDate>Fri, 15 Oct 2004 10:01:08 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/shareable-image/m-p/3399856#M31497</guid>
      <dc:creator>Bruce Visscher_1</dc:creator>
      <dc:date>2004-10-15T10:01:08Z</dc:date>
    </item>
    <item>
      <title>Re: Shareable image</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/shareable-image/m-p/3399857#M31498</link>
      <description>Deepak,&lt;BR /&gt;&lt;BR /&gt;&amp;gt;&amp;gt;&amp;gt;&lt;BR /&gt;In all the above links no where they are telling step by step procedure.&lt;BR /&gt;&amp;lt;&amp;lt;&amp;lt;&lt;BR /&gt;&lt;BR /&gt;Which of the steps in the OpenVMS Shareable cookbook that Willem pointed you to do you have problems with?&lt;BR /&gt;&lt;BR /&gt;To clarify, here's that link again:&lt;BR /&gt;&lt;A href="http://www.openvms.digital.com/wizard/swdev/ovms-shexe-cook.html" target="_blank"&gt;http://www.openvms.digital.com/wizard/swdev/ovms-shexe-cook.html&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;You can also use &lt;A href="http://h71000.www7.hp.com/wizard/swdev/ovms-shexe-cook.html" target="_blank"&gt;http://h71000.www7.hp.com/wizard/swdev/ovms-shexe-cook.html&lt;/A&gt; if you have problems with URLs pointing to digital.com.&lt;BR /&gt;&lt;BR /&gt;HTH,&lt;BR /&gt;  Martin&lt;BR /&gt;</description>
      <pubDate>Fri, 15 Oct 2004 11:50:39 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/shareable-image/m-p/3399857#M31498</guid>
      <dc:creator>Martin Vorlaender</dc:creator>
      <dc:date>2004-10-15T11:50:39Z</dc:date>
    </item>
    <item>
      <title>Re: Shareable image</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/shareable-image/m-p/3399858#M31499</link>
      <description>I started to post a clarification to my previous reply.  Now, I think I really need to.&lt;BR /&gt;&lt;BR /&gt;I said:&lt;BR /&gt;&lt;BR /&gt;&amp;gt; The responses to this that I've read so&lt;BR /&gt;&amp;gt; far all appear to be factually correct but&lt;BR /&gt;&amp;gt; they don't seem to address the problems&lt;BR /&gt;&amp;gt; that you are going to run into when you&lt;BR /&gt;&amp;gt; try to do this specifically for C++.&lt;BR /&gt;&lt;BR /&gt;Case in point:&lt;BR /&gt;&lt;BR /&gt;&amp;gt; Uh... LINK/SHARE ?&lt;BR /&gt;&lt;BR /&gt;No, that's wrong.  You always have to use CXXLINK, not LINK when dealing with C++.&lt;BR /&gt;&lt;BR /&gt;To be fair, though, Hein van den Heuvel was the only one that actually had a C++ specific link:&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://h71000.www7.hp.com/commercial/cplus/alpha_doc/ugvhdr.html#index_x_299" target="_blank"&gt;http://h71000.www7.hp.com/commercial/cplus/alpha_doc/ugvhdr.html#index_x_299&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;would be a better place to start for a shareable image containing a C++ library.&lt;BR /&gt;&lt;BR /&gt;Martin Vorlaender said:&lt;BR /&gt;&amp;gt; To clarify, here's that link again:&lt;BR /&gt;&amp;gt; &lt;A href="http://www.openvms.digital.com/wizard/swdev/ovms-shexe-cook.html" target="_blank"&gt;http://www.openvms.digital.com/wizard/swdev/ovms-shexe-cook.html&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;Sorry, I don't agree that this is the best place to start if you plan to create a shareable image containing C++ code.&lt;BR /&gt;&lt;BR /&gt;Instead, you should start with the C++ specific page that Hein van den Heuvel referenced.&lt;BR /&gt;&lt;BR /&gt;Another example: &lt;BR /&gt;&lt;BR /&gt;&amp;gt; I guess it isn't that much different than&lt;BR /&gt;&amp;gt; for instance from modules written in C.&lt;BR /&gt;&lt;BR /&gt;Yes, it is quite different.&lt;BR /&gt;</description>
      <pubDate>Fri, 15 Oct 2004 12:58:47 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/shareable-image/m-p/3399858#M31499</guid>
      <dc:creator>Bruce Visscher_1</dc:creator>
      <dc:date>2004-10-15T12:58:47Z</dc:date>
    </item>
    <item>
      <title>Re: Shareable image</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/shareable-image/m-p/3399859#M31500</link>
      <description>Deepak, Bruce,&lt;BR /&gt;&lt;BR /&gt;&amp;gt;&amp;gt;&amp;gt;&lt;BR /&gt;&amp;gt; Uh... LINK/SHARE ?&lt;BR /&gt;&lt;BR /&gt;No, that's wrong. You always have to use CXXLINK, not LINK when dealing with C++.&lt;BR /&gt;&amp;lt;&amp;lt;&amp;lt;&lt;BR /&gt;&lt;BR /&gt;It fact, you needn't to. CXXLINK performs two major tasks: &lt;BR /&gt;- Searches for and adds template instantiations, if needed &lt;BR /&gt;- Adds sys$library:libcxxstd.olb to the linker input &lt;BR /&gt;&lt;BR /&gt;If your application uses template instantiations, you would need to link files from your [.cxx_repository] with the application.&lt;BR /&gt;&lt;BR /&gt;Use CXXLINK/LOG to see which LINK operations CXXLINK performs.&lt;BR /&gt;&lt;BR /&gt;&amp;gt;&amp;gt;&amp;gt;&lt;BR /&gt;&amp;gt; To clarify, here's that link again:&lt;BR /&gt;&amp;gt; &lt;A href="http://www.openvms.digital.com/wizard/swdev/ovms-shexe-cook.html" target="_blank"&gt;http://www.openvms.digital.com/wizard/swdev/ovms-shexe-cook.html&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;Sorry, I don't agree that this is the best place to start if you plan to create a shareable image containing C++ code.&lt;BR /&gt;&amp;lt;&amp;lt;&amp;lt;&lt;BR /&gt;&lt;BR /&gt;While the SW_SHR example sure is helpful, I still think the cookbook is better to understand what steps are required to build a shareable image in general. The mangled names are just an additional obstacle the C++ has.&lt;BR /&gt;&lt;BR /&gt;cu,&lt;BR /&gt;  Martin&lt;BR /&gt;</description>
      <pubDate>Mon, 18 Oct 2004 01:21:01 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/shareable-image/m-p/3399859#M31500</guid>
      <dc:creator>Martin Vorlaender</dc:creator>
      <dc:date>2004-10-18T01:21:01Z</dc:date>
    </item>
    <item>
      <title>Re: Shareable image</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/shareable-image/m-p/3399860#M31501</link>
      <description>Deepak,&lt;BR /&gt;&lt;BR /&gt;There is another consideration. If you need only some functions to be visible from other programs and no class methods, you can declare these functions as extern "C". These function names will not be managled and creating a shareable will be slightly simplier. Of course you can use classes in this functions.&lt;BR /&gt;&lt;BR /&gt;Bojan</description>
      <pubDate>Mon, 18 Oct 2004 02:43:47 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/shareable-image/m-p/3399860#M31501</guid>
      <dc:creator>Bojan Nemec</dc:creator>
      <dc:date>2004-10-18T02:43:47Z</dc:date>
    </item>
    <item>
      <title>Re: Shareable image</title>
      <link>https://community.hpe.com/t5/operating-system-openvms/shareable-image/m-p/3399861#M31502</link>
      <description>Deepak,&lt;BR /&gt;&lt;BR /&gt;What about &lt;A href="http://h18000.www1.hp.com/support/asktima/appl_tools/009EF453-A516039E-1C02A1.html" target="_blank"&gt;http://h18000.www1.hp.com/support/asktima/appl_tools/009EF453-A516039E-1C02A1.html&lt;/A&gt; ?&lt;BR /&gt;Can't it help you ?&lt;BR /&gt;&lt;BR /&gt;Note this is an inclusive method (i.e.: all external functions are added.) You may have to modify the generated command procedure to replace the link command by cxxlink.&lt;BR /&gt;Hoping this can help you.&lt;BR /&gt;Regards,&lt;BR /&gt;Philippe</description>
      <pubDate>Sun, 31 Oct 2004 11:15:22 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-openvms/shareable-image/m-p/3399861#M31502</guid>
      <dc:creator>Vouters</dc:creator>
      <dc:date>2004-10-31T11:15:22Z</dc:date>
    </item>
  </channel>
</rss>

