Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 268
  • Last Modified:

Shared Library Implementation Question

I am creating a PPC shared library using CW Pro 5 and am somehwat confused by apparently conflicting information I have been reading. Can I place the shared library in the extensions folder and have my application access it or must I include the shared library file in my application project for it to be available? Also, do I have to create a special .h file to define access to the routines or are they resolved for me automatically?
0
creality
Asked:
creality
1 Solution
 
charlassCommented:
Hi,
I'm not really a Mac expert but noone was answering so far...

Need other applications this SHL?
If not than it is the easiest way to put it into your app dir. An other way could be to place the SHL somewhere, create a link and move this link-file into your app dir.

You need a .h file for all the other cpp-files who want to call a SHL function (this for the compiler)
And you have to declare which functions you want to export from your SHL. There are three ways to do this, check the linker settings.
I prefer the "#pragma export" method.
Your .h file:

----------
extern int not_exported_func();

#pragma export on
extern int exported_func();
#pragma export off
----------

Ask next week for details 'cause I am sitting now at a Windows PC.
bye!

0
 
twallCommented:
Shared libraries on the mac are loaded in a predefined search order, explained in the Inside Mac documentation (see the documentation for shared libraries on developer.apple.com).

I believe the application's folder precedes the system extensions folder in the search list.

0
 
crealityAuthor Commented:
Thanks. That should be enought to get me started. Thanks a lot.
0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now