【异常】‘for’ loop initial declarations are only allowed in C99 mode

1 Python版本导致的异常

/root/Python-3.5.7/Modules/_pickle.c: In function ‘PyMemoTable_Copy’:
/root/Python-3.5.7/Modules/_pickle.c:677:5: error: ‘for’ loop initial declarations are only allowed in C99 mode
     for (size_t i = 0; i < self->mt_allocated; i++) {
     ^
/root/Python-3.5.7/Modules/_pickle.c:677:5: note: use option -std=c99 or -std=gnu99 to compile your code
/root/Python-3.5.7/Modules/_pickle.c: In function ‘_pickle_PicklerMemoProxy_copy_impl’:
/root/Python-3.5.7/Modules/_pickle.c:4207:5: error: ‘for’ loop initial declarations are only allowed in C99 mode
     for (size_t i = 0; i < memo->mt_allocated; ++i) {
     ^
/root/Python-3.5.7/Modules/_pickle.c: In function ‘Unpickler_set_memo’:
/root/Python-3.5.7/Modules/_pickle.c:6794:9: error: ‘for’ loop initial declarations are only allowed in C99 mode
         for (size_t i = 0; i < new_memo_size; i++) {
         ^
/root/Python-3.5.7/Modules/_pickle.c:6842:9: error: ‘for’ loop initial declarations are only allowed in C99 mode
         for (size_t i = new_memo_size - 1; i != SIZE_MAX; i--) {
         ^

   ‘for’ loop initial declarations are only allowed in C99 mode 这段话的意思是 只允许再C99模式中

2 所以换个python版本,就不再报错了(换了3.6版本)

原文地址:https://www.cnblogs.com/QuestionsZhang/p/11709086.html