C で構造体を動的に割り当てようとすると問題が発生します。
typedef struct
{
uint8_t wifiSSID[30];
uint8_t wifiPassword[20];
}
tWifiPair;
typedef struct
{
tWifiPair *wifiNetworks; // this needs to become an array with 2 elements
// if I do the above like this tWifiPair wifiNetworks[1] - all works fine
}
tEEPROMSettings;
tEEPROMSettings gEEPROMSettings;
int main()
{
gEEPROMSettings.wifiNetworks = (tWifiPair *)calloc(2, sizeof(tWifiPair));
// .... writing to gEEPROMSettings.wifiNetworks[0].wifiSSID crashes the program, unfortunately I can't see the error, but the compiler doesn't throw any errors/warnings
}
この tWifiPair *wifiNetworks が静的に実行される場合 (tWifiPair wifiNetworks[1]) は正常に動作しますが、プログラムの実行中に動的に実行し、場合によっては変更する必要があります。
これは組み込みプラットフォームで実行されています - ARM tm4c1294ncpdt、コンパイラは CCS6 です。
エラーの場所を教えてもらえますか? ありがとう!