我在c中创建了一些函数,我将通过Cython从Python调用它。我正在使用MinGW C ++编译器在Code:Block中开发这些函数。但是当为Python构建它们时,我必须使用Visual Microsoft Visual C ++编译器来支持Python 2.然后我遇到了一个strang问题。 在使用Visual C ++编译器进行编译时,我经过大量的试验和失败后发现所有变量必须在每个块中首先被删除(if,for,function)。为什么会这样。 c的编译器之间是否存在差异?
答案 0 :(得分:1)
MSVC大多遵守原始的C89规范。在后来的语言修订版中,这一限制已被取消。
答案 1 :(得分:0)
在C(适当的C而不是C ++)中,变量必须在块的开头声明。