Мне нужно разделить значение переменной, которое изменяется в одной программе для отражения в другой программе. Так я сделал следующее.Как делиться значением переменной между программами C
Созданный файл заголовка:
/* file1.h */ extern int a = 0;
создал C файл:
/* file2.c */ #include"file1.h" #include<stdio.h> int main() { a = 15; printf("%d",a); return 0; }
создал другой файл C:
/* file3.c */ #include"file1.h" #include<stdio.h> int main() { printf("%d",a); return 0; }
Я хотел, чтобы программа file3.c
напечатала значение 15, но оно выдало результат как 0. Как мне получить значение в программе file3.c
?
Проблема в том, что при запуске файла3 вы фактически не выполнили код file2, чтобы установить A. Эти ли они предназначены для самостоятельного запуска? Если это так, вам нужно сохранить значение, например. на диск или использовать какой-то механизм IPC, чтобы передать его между ними. – Rup
'extern' может использоваться для обмена переменными между двумя файлами C, которые являются частью одной и той же программы, но не между двумя различными программами. – interjay
i сначала выполните файл2.c, поэтому значение 'a' установлено. Но когда я запустил file3.c, после этого значение не будет изменено. – Kaushik