Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6102573
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 23, 20262026-05-23T13:37:47+00:00 2026-05-23T13:37:47+00:00

Suppose I have a X.DLL with the following in a header file: extern __declspec(dllexport)

  • 0

Suppose I have a X.DLL with the following in a header file:

extern __declspec(dllexport) int foobar;

This foobar global variable is then defined inside X.DLL in an implementation file:

int foobar = 1;

Now suppose that I have two DLLs, A.DLL and B.DLL, which are linked to X.DLL, and an application E.EXE which uses A.DLL and B.DLL:

          +----> A.DLL ----+
          |                |
E.EXE ----+                +----> X.DLL
          |                |
          +----> B.DLL ----+

In this situation, is the expression &foobar (address of foobar) guaranteed to have the same value when evaluated inside A.DLL and B.DLL? In other words, are X.DLL‘s global variables stored twice or is there only one instance of foobar in the entire process? Also, does it make a difference if the DLLs are linked at load time or through a call to LoadLibrary?

I’m also confused by this statement in GCC’s documentation for dllimport:

One drawback to using this attribute is that a pointer to a variable marked as dllimport cannot be used as a constant address.

I don’t quite understand the implications of that statement considering my aforementioned situation.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-23T13:37:48+00:00Added an answer on May 23, 2026 at 1:37 pm

    There is only one copy. However, in general, doing this is an incredibly bad idea and you will run into a lot of problems.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Suppose I have a dll with 2 functions.name of dll=dll1 f1(int a, int b,
Suppose that i have a .dll file genereared from a class library and i
Suppose this situation : I have a dll which was written in standard c++,
I following this article for sending SMS it is a winform application.. I have
Suppose I have a DLL which is built with LARGEADDRESSAWARE linker flag set. Now
is this possible to view contents and Functions of a DLL file... few times
Suppose I have an ASP.NET website running with its corresponding web.config file, which contains
I have a .dll and a .targets file in the same directory. Inside of
I have the following problem compiling a C++ file from a third-party library in
I have a dll where I want to do some networking, this dll is

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.