Dependent Origination

sharing string literals between modules

Posted on: February 4, 2013

This is a follow up to the previous post about multiple definitions during linking. In it, we used inline so the functions will disappear from symbol table and no linker complain. When it comes to string literals, it is apparent that we cannot just define them in the header file — there is no way of taking them out from the symbol table and it is inevitable for the multiple definitions error. However, we can move the definition to the implementation file and leave an extern declaration in the header file. This way, the linker won’t complain — at the place of reference, the header file is inlcuded, which has the extern declaration so the compiler is happy. The actual definition (and storage allocation, entering into symbol table etc) happens in the implementation file, which if we compile it into a separate library, will only be introduced once by the smart linker.

Problem solved. Old school way.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

February 2013
M T W T F S S
« Jan   Mar »
 123
45678910
11121314151617
18192021222324
25262728  

Twitter

  • is reflecting on the past three years and reading the article on divided self aptly showing up at the top of my tweeter feed. 1 week ago
  • is having a nice feeling of connecting dots all over the place. they are now illuminating the same point. 2 months ago
  • Style Transfer is fun! TensorFlow rocks! #WTM17 https://t.co/zYP0IFIDfp 3 months ago
  • couldn't get over the jetlag, sleeping during the day from seven to four, for days. 5 months ago
  • is emptying trash and happily discovering the available disk space now ranks at 100G+. 6 months ago

Flickr Photos

IMG_3517

IMG_3515

IMG_3505

IMG_3497

IMG_3261

IMG_3260

IMG_3255

IMG_2736

IMG_2733

IMG_2629

More Photos
%d bloggers like this: