C++ 在cpp程序中交换变量

C++ 在cpp程序中交换变量,c++,C++,我正在使用Ubuntu12.04,我需要将一个int变量从一个cpp程序交换到另一个程序。 程序A.cpp必须使用int变量,但该int变量的值必须在程序B.cpp中定义 在一个非常简单的例子中: B.cpp: int x=0; cout<<"define x\t"; cin>>x; intx=0; coutx; A.cpp: int y=0; y=x+5; cout<<y; inty=0; y=x+5; cout最简单的方法是创建命名管道。在linux

我正在使用Ubuntu12.04,我需要将一个int变量从一个cpp程序交换到另一个程序。 程序A.cpp必须使用int变量,但该int变量的值必须在程序B.cpp中定义

在一个非常简单的例子中:

B.cpp:

int x=0;
cout<<"define x\t";
cin>>x;
intx=0;
coutx;
A.cpp:

int y=0;
y=x+5;
cout<<y;
inty=0;
y=x+5;

cout最简单的方法是创建命名管道。在linux下,您可以在
A.cpp
中创建管道,然后将其作为普通文件使用。在
A.cpp
中打开它进行写入,并在那里写入您的
y
,在
B.cpp
中打开相同的管道进行读取,然后从那里读取
x

还有其他方法,但这似乎是最简单的

另见

有关更详细的讨论,请参阅。我认为你的案子最值得一提的是

套接字—通过网络接口发送到同一台计算机上的不同进程或网络上的另一台计算机的数据流

共享内存—多个进程可以访问同一内存块,从而为进程之间的通信创建共享缓冲区


cpp是源文件,但不是程序本身。A和B都包含一个主程序吗?它们真的是不同的程序吗?在这种情况下,您可能正在寻找共享内存。如果它们只是不同的源文件,这将大大简化问题。一两天前你没有问过同样的问题吗?它们调用的头文件太多,代码太多。所以,是的,我可以做到,但我更喜欢一种更干净的方式,就像你做上面的代码示例一样??对不起,我从来没有使用过管道,我是ubuntu的新用户。@MarcelloChiurazzi,请看我提到的另一个问题,我看到了,我理解它是如何工作的。我希望我能为我工作。我会让你知道的。无论如何,谢谢上面的例子是C,我如何在C++中改变它?@ MarcelloChiurazzi,我想它也会在C++下编译。您可以将
打开
/
关闭
处理文件更改为流,就像您通常在c++程序中处理文件一样。您也可能会将
char*
更改为
string
,但由于您有一个数字,而不是字符串,所以这不是问题。