У меня есть функция с
static int include[MAX_NODE_NUMBER][MAX_NODE_NUMBER][MAX_NODE_NUMBER*MAX_NODE_NUMBER];
static bool calculated[MAX_NODE_NUMBER][MAX_NODE_NUMBER][MAX_NODE_NUMBER*MAX_NODE_NUMBER]={};
, где MAX_NODE_NUMBER
равно 200. Это можно скомпилировать, только если -mcmodel=large
в опции gcc / g ++. Две переменные stati c предназначены только для кэширования некоторых данных, поэтому они не так необходимы. Можно ли кодировать как
#if <some condition>
static int include[MAX_NODE_NUMBER][MAX_NODE_NUMBER][MAX_NODE_NUMBER*MAX_NODE_NUMBER];
static bool calculated[MAX_NODE_NUMBER][MAX_NODE_NUMBER][MAX_NODE_NUMBER*MAX_NODE_NUMBER]={};
#endif
, чтобы программа могла быть скомпилирована как для большой, так и для маленькой памяти.