I guess macro can be a work arround for this.

in configuration you can provide files which can access a global variable
ProtectedVariable

you have defined PROTECTEDVARIABLE_ACCESSIBLE_IN_FILEONE
like

*global.c
*
int ProtectedVariable = 10;
/*
other stuff
*/

*fileone.c
*
#ifdef PROTECTEDVARIABLE_ACCESSIBLE_IN_FILEONE

extern int ProtectedVariable
#elseif
static int ProtectedVariable;
#endif

/*
some stuff which can access  ProtectedVariable
*/

*filetwo.c
*
#ifdef PROTECTEDVARIABLE_ACCESSIBLE_IN_FILETWO
extern int ProtectedVariable;
#elseif
static int ProtectedVariable;
#endif


/*
some stuff which try to access  ProtectedVariable but it wont be able to
acess global one, it will access the local ProtectedVariable .

*/

So fileone can access global variable but filetwo not, I guess this was
asked by Jalaj?

On Fri, Feb 25, 2011 at 5:11 PM, Arulanandan P <[email protected]>
wrote:
> @jalaj  guys please understand how the static and extern work first.
> static makes the variables or functions defined in an object file to be
> local to that object file.
> When you declare the variable or function  as extern , it means that
> definition is present in some other object file and it will be resolved at
> the link time only.
> By default all the global variables and functions are visible to other
> object files.
> Example:
> a.c
> ===
> int var = 10;   // global variable so accessible to other files.
> static void func()  // static - so not accessible to other files
> {
> }
>
> b.c
> ===
> extern int var ;
> main()
> {
>      var = 20 ;
>       func() ;  // this is not permitted since the func() is declared as
> static
> }
>
>
> This is how the compilation works:
> gcc -c -o a.o  a.c
> gcc  -c -o b.o  b.c
>
> gcc   -o  exe  b.o  a.o
> // This will lead to linker error since func is declared static.
>
> Regards
> Arul
> On Fri, Feb 25, 2011 at 12:00 AM, nishaanth <[email protected]> wrote:
>>
>> Declare it as static.
>>
>> On Wed, Feb 23, 2011 at 11:33 PM, Jammy <[email protected]> wrote:
>>>
>>> Are you talking about IPC?
>>>
>>> On Feb 22, 10:05 am, jaladhi dave <[email protected]> wrote:
>>> > What do you mean by data element here ? Also by file you mean the file
>>> > where
>>> > you wrote the code ? And above all which programming language are we
>>> > talking
>>> > ?
>>> >
>>> > You hit send button too early I  guess :)
>>> >
>>> > On 22-Feb-2011 7:39 PM, "jalaj jaiswal" <[email protected]>
>>> > wrote:
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> > > Is there any way by which a data element in a file is accessible by
>>> > another
>>> > > file, where the program has multiple files. That data element should
>>> > > be
>>> > > accessible to a particular file only and inaccessible to the rest.?
>>> >
>>> > > declaring it as an extern will make it accessible to all i think ..
>>> > > what
>>> > cud
>>> > > be the answer ?
>>> >
>>> > > --
>>> > > With Regards,
>>> > > *Jalaj Jaiswal* (+919019947895)
>>> > > Software developer, Cisco Systems
>>> > > B.Tech IIIT ALLAHABAD
>>> >
>>> > > --
>>> > > You received this message because you are subscribed to the Google
>>> > > Groups
>>> >
>>> > "Algorithm Geeks" group.> To post to this group, send email to
>>> > [email protected].
>>> > > To unsubscribe from this group, send email to
>>> >
>>> > [email protected].> For more options, visit this
>>> > group at
>>> >
>>> > http://groups.google.com/group/algogeeks?hl=en.
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>> >
>>>
>>> --
>>> You received this message because you are subscribed to the Google
Groups
>>> "Algorithm Geeks" group.
>>> To post to this group, send email to [email protected].
>>> To unsubscribe from this group, send email to
>>> [email protected].
>>> For more options, visit this group at
>>> http://groups.google.com/group/algogeeks?hl=en.
>>>
>>
>>
>>
>> --
>> S.Nishaanth,
>> Computer Science and engineering,
>> IIT Madras.
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Algorithm Geeks" group.
>> To post to this group, send email to [email protected].
>> To unsubscribe from this group, send email to
>> [email protected].
>> For more options, visit this group at
>> http://groups.google.com/group/algogeeks?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Algorithm Geeks" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/algogeeks?hl=en.
>



-- 
Thanks & Regards,
Gaurav Gupta

"Quality is never an accident. It is always result of intelligent effort" -
John Ruskin

-- 
You received this message because you are subscribed to the Google Groups 
"Algorithm Geeks" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/algogeeks?hl=en.

Reply via email to