Можно ли кодировать библиотеку с параметром, который будет определен пользователем во время компиляции без изменения библиотеки?
Библиотека:
test.h
#ifndef TEST_H
#define TEST_H
#define MAX_NB USER_DEF
void myFunc();
#endif
test.cpp
#include "test.h"
int arr[MAX_NB] = {0};
void myFunc() {
for (int i = 0: i < MAX_NB; i++ ) {
// DO SOMETHING
}
}
И основной код:
#define USER_DEF 5
#include "test.h"
void main() {
while (1) {
myFunc();
}
}
Я полагаю, что получаю ошибку (USER_DEF не объявлен в этой области), потому что USER_DEF
не определено в модуле перевода, содержащем test.h и test.c, но я надеюсь, что есть способ сделать это, но яне могу найти это.
Моя цель - создать массив с заданным пользователем размером (измененный код).