При выполнении этой программы тестирования всегда возникает ошибка сегментации. Я не могу понять почему. Может быть, кто-то мог бы объяснить мне это, пожалуйста, я уверен, что перепутал указатель.
#include <stdio.h>
struct xy {
int (*read)();
void (*write)(int);
};
struct z {
struct xy *st_xy;
};
static void write_val(int val)
{
printf("write %d\n", val);
}
static int read_val()
{
/* return something just for testing */
return 100;
}
int init(struct xy *cfg)
{
cfg->read = read_val;
cfg->write = write_val;
return 0;
}
int reset(struct z *st_z)
{
/* write something just for testing */
st_z->st_xy->write(111);
return 55;
}
int main(int argc, char **argv)
{
static struct z test;
int ret;
int ret2;
ret = init(test.st_xy);
printf("init returned with %d\n", ret);
ret2 = reset(&test);
printf("reset returned with %d\n", ret2);
return 0;
}
-121--854030- После обновления до последней версии Azure SDK я начал получать эту ошибку несколько раз каждый день, когда нажимал кнопку build в Visual Studio. Единственный способ исправить это в данный момент - перезапустить свою визуальную студию.
Я получаю следующую ошибку: Средства Windows Azure: недопустимый доступ к папке памяти
Есть ли еще кто-то, кто получил эту ошибку? И что вы сделали, чтобы исправить это?
Спасибо заранее!
Update 2012-08-28: Одна и та же ошибка все еще существует в VS2012 и Azure 1,7 SDK. Однако с VS2012 частота снизилась.