extern

How does extern work in c++?

This is from the <iostream>: namespace std { extern istream cin; ///< Linked to standard input extern ostream cout; ... It seems by using extern the data types defined in other namespaces will just be available? ...

Understanding extern in c++

namespace std { extern istream cin; ... } By using extern we declare that cin is defined in some other unit as the answer But what if istream is defined/undefined in std,there should be some difference,right? What is the difference for the compilor? ...

Problem with extern keyword in C++

What's the difference between the following two declarations? I thought they were equivalent, but the first sample works, and the second does not. I mean it compiles and runs, but the bitmap display code shows blank. I have not stepped through it yet, but am I missing something obvious? GUI_BITMAP is a simple structure describing a bitma...

C: External const ints in a array of const struct

I am getting an error message "expression must have constant value" when initializing an array of structures with an external constant integer. File1.c: const unsigned char data1[] = { 0x65, 0xF0, 0xA8, 0x5F, 0x5F, 0x5F, 0x5F, 0x31, 0x32, 0x2E, 0x31, 0xF1, 0x63, 0x4D, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x20,...

What is the Effect of Declaring 'extern "C"' in the Header to a C++ Shared Library?

Based on this question I understand the purpose of the construct in linking C libraries with C++ code. Now suppose the following: I have a '.so' shared library compiled with a C++ compiler. The header has a 'typedef stuct' and a number of function declarations. If the header includes the extern "C" declaration... #ifdef __cplusplus ext...

Why do you need "extern C" for C++ callbacks to C functions?

Hello, I find such examples in Boost code. namespace boost { namespace { extern "C" void *thread_proxy(void *f) { .... } } // anonymous void thread::thread_start(...) { ... pthread_create(something,0,&thread_proxy,something_else); ... } } // boost Why do you actually need thi...

C++ extern keyword on functions. Why no just include the header file?

If I understand it correctly this means extern void foo(); that the function foo is declared in another translation unit. 1) Why not just #include the header in which this function is declared? 2) How does the linker know where to look for function at linking time? edit: Maybe I should clarify that the above declaration is then fol...

How to create an extern alias for System.Core?

I absolutely need an extern alias for System.Core in my project. Unfortunately, in a .Net 4.0 project, you cannot even add a reference to System.Core because, apparently, the build system includes it by default. Does anyone have any idea on how I can coerce the system to let me specify an extern alias for this lib? Thanks! ...

Difference between putting variables in header vs putting variables in source

Say I declare a header file with a variable: int count; Then in the source file, I want to use count. Do I have to declare it as: extern int count Or can I just use it in my source file? All assuming that I have #include "someheader.h". Or should I just declare it in the source file? What is the difference between putting count in...

extern and global in c

Can anyone please tell me is there any special requirement to use either EXTERN or GLOBAL variables in a C program? I do not see any difference in a program like below, if I change from gloabl to extern. #include <stdio.h> #include <stdlib.h> int myGlobalvar = 10; int main(int argc, char *argv[]) { int myFunc(int); int i; i = 12;...

C++: namespace conflict between extern "C" and class member

Hi, I stumbled upon a rather exotic c++ namespace problem: condensed example: extern "C" { void solve(lprec * lp); } class A { public: lprec * lp; void solve(int foo); } void A::solve(int foo) { solve(lp); } I want to call the c function solve in my C++ member function A::solve. The compiler is not happy wit...

What does the extern keyword mean?

What does the extern keyword mean? I've seen that in front of an function declaration like extern void DoFoo ... ...

extern(al) problem

Why can't I compile this code? //main #include "stdafx.h" #include "X.h" #include "Y.h" //#include "def.h" extern X operator*(X, Y);//HERE ARE DECLARED EXTERNAL *(X,Y) AND f(X) extern int f(X); /*GLOBALS*/ X x = 1; Y y = x; int i = 2; int _tmain(int argc, _TCHAR* argv[]) { i +...

question about static variables and extern in plain C

Is there a difference between declaring a static variable outside of a function and declaring a static variable inside a function? Also, what's the difference between declaring a variable as static and just declaring an extern variable? ...

gcc does not resolve extern global variables, with or without -c option

Hello everyone! So i have this issue : i am declaring some extern global variables in my C program. If I don't use the -c option for gcc, i get undefined references errors. But with that -c option, the linking is not done, which means that i don't have an executable generated. So how do I solve this? Here is my makefile (written thanks...

Newbie question: When to use extern "C" { //code } ?

Hello, Maybe I'm not understanding the differences between C and C++, but when and why do we need to use: extern "C" { ? Apparently its a "linkage convention"? I read about it briefly and noticed that all the .h header files included with MSVS surround their code with it. What type of code exactly is "C code" and NOT "C++ code"? I ...

Objective-C global array of ints not working as expected

In my MyConstants.h file... I have: int abc[3]; In my matching MyConstants.m file... I have: extern int abc[3] = {11, 22, 33}; In each of my other *.m files... I have #import "MyConstants.h" Inside 1 of my viewDidLoad{} methods, I have: extern int abc[]; NSLog(@"abc = (%d) (%d)", abc[1], sizeof(abc)/sizeof(int)); Why does i...

How can we access the variables declared in another class without using extern ?

Can we access the integer type variables in classB which are declared in classA by not using extern? For objects I used ClassA *obj1 = [[ClassA alloc]init]; And accessed the objects of classA into class B. But, I am not able to do them with the int , float, NSTimeInterval. How can we do for them without using extern ? Thank You....

Is extern keyword really necessary?

... #include "test1.h" int main(..) { count << aaa <<endl; } aaa is defined in test1.h,and I didn't use extern keyword,but still can reference aaa. So I doubt is extern really necessary? ...

Why wont extern link to a static variable?

Why does extern int n not compile when n is declared (in a different file) static int n, but works when declared int n? (Both of these declarations were at file scope.) Basically, why is int n in file scope not the same as static int n in the same scope? Is it only in relation to extern? If so, what about extern am I missing? ...