假设我将库正确链接到可执行工程、我是否可以在库中定义 k、然后在可执行文件中使用、如下所示? 这是否合法?
项目 A (库):libtest.libc
Liba.c.
#include "lib.h" int k = 0;
libb.c
#include "lib.h" m = k+1;
lib.h
extern int k;
项目 B (可执行):main.c
#include "lib.h" r = k*2
谢谢
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
假设我将库正确链接到可执行工程、我是否可以在库中定义 k、然后在可执行文件中使用、如下所示? 这是否合法?
项目 A (库):libtest.libc
Liba.c.
#include "lib.h" int k = 0;
libb.c
#include "lib.h" m = k+1;
lib.h
extern int k;
项目 B (可执行):main.c
#include "lib.h" r = k*2
谢谢
器件型号:MSP430FR2355
一个更棘手的问题和静态的使用...这是假设性的,我想理解。 如果我有一个包含多个 c 源文件的 lib.libc 项目、然后我放置
静态 int k = 0;
在其中一个 c 源文件的全局范围级别、因为我希望不仅在源文件内的函数中、而且在项目内的源文件中保留值 k。 库中的第二个源文件将如何看到这一点? 我是否以某种方式同时使用静态和外部变量、或者应该将定义放置在工程的头文件中?