c - 使用一个程序的局部变量作为另一个C程序的全局变量

标签 c

想写两个c程序。我也想在第二个 C 程序(.c 文件)中使用第一个 C 程序(.c 文件)的局部变量的值。如何将一个程序的局部变量用作另一个程序的全局变量?这意味着我如何使这些局部变量成为全局变量,以便我可以在另一个文件中使用它。请注意,我只有 2 个文件,都是 .c 文件(假设 file1.c、file2.c)。为我编写一个简单的程序,将一个文件的局部变量设置为另一个文件的全局变量。

我想将变量放在一个程序的主函数 (int main()) 内,这些变量将在另一个程序中用作全局变量。

最佳答案

没有标准方法可以做到这一点,因为两个进程是独立的实体,彼此之间不共享任何内容。

但是,有一些技术( IPC ,进程间通信的缩写)允许进程共享内存和/或相互通信。然而,这种技术不属于标准 C 库的一部分,并且依赖于操作系统,Windows、Linux、Mac 将为您提供不同的选择。

对于 linux 和 unix 基础系统,一般有例如:shared memory 、套接字(原生BSD套接字、网络套接字、unix套接字、文件套接字、管道等)、0mq等

恐怕您的问题太宽泛,每个 IPC 选项都彼此不同,并且都有优点和缺点。这个问题不能在这里笼统地回答,你必须在这里更具体。

关于c - 使用一个程序的局部变量作为另一个C程序的全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48737521/

相关文章:

c - 在C中将嵌套结构写入磁盘

c - FFT bin 宽度说明

c - 有括号或无括号的“for”和“while”有什么区别?

c: 在编译时将 ipv6 地址转换为字符串

c - 对 `sqlcxt' 的 undefined reference

c - 没有条件的条件是什么意思?

c - 数组和字符串之间的 char 大小不一致

c++ - 将数组传递给函数(以及为什么它在 C++ 中不起作用)

c - giflib 5.1.2 不是线程安全的吗?

c - 为什么在 realloc 函数中使用它之前 NULL ing 指针?