在c中的静态库中定义值
define value in static library in c
我在 c 中有一个静态库 (array.a
),其中包含如下代码:
int array[ARRAY_LENGTH];
和 ARRAY_LENGTH
在 CFG.c
中定义如下:
#define ARRAY_LENGTH 10
我的问题是,如果我更改 CFG.c
并将 ARRAY_LENGTH
设置为 20
,那么我的应用程序中会有 array[20]
,或者它仍然是 array[10]
?我该如何更改?
链接库中的数组将具有链接时的大小。在不重新链接的情况下更改源不会神奇地改变库中的大小。
一般提供一个.h文件和一个或多个.c文件。 .c 文件成为 lib,.h 文件包含所有需要的信息。将数组放在一个 .c 文件中并在另一个 .c 文件中声明其大小是没有意义的。
我在 c 中有一个静态库 (array.a
),其中包含如下代码:
int array[ARRAY_LENGTH];
和 ARRAY_LENGTH
在 CFG.c
中定义如下:
#define ARRAY_LENGTH 10
我的问题是,如果我更改 CFG.c
并将 ARRAY_LENGTH
设置为 20
,那么我的应用程序中会有 array[20]
,或者它仍然是 array[10]
?我该如何更改?
链接库中的数组将具有链接时的大小。在不重新链接的情况下更改源不会神奇地改变库中的大小。
一般提供一个.h文件和一个或多个.c文件。 .c 文件成为 lib,.h 文件包含所有需要的信息。将数组放在一个 .c 文件中并在另一个 .c 文件中声明其大小是没有意义的。