My debug:error C2275: “XXX”: 将此类型用作表达式非法

来源:互联网 发布:淘宝联盟推广位名称 编辑:程序博客网 时间:2024/05/01 03:10

error C2275: “XXX”: 将此类型用作表达式非法

这个错误是由于c的编译器要求将变量的申明放在一个函数块的头部

解决的办法就是把变量的申明全部放在变量的生存块的开始。


例如在修改python源码重新编译时:


编译后出现错误:


解决方法:

只需要把变量声明的语句放在函数快的开头即可。


其他内容:

另外还有两个和全局锁有关的宏,Py_BEGIN_ALLOW_THREADS 和 Py_END_ALLOW_THREADS。这两个宏是为了在较长时间的C函数调用前,临时释放全局锁,完成后重新获取全局锁,以避免阻塞其他python的线程继续运行。这两个宏可以这样调用

        // 调用python的API函数处理
        ......

        Py_BEGIN_ALLOW_THREADS
        // 调用需要长时间的C函数
        ......
        Py_END_ALLOW_THREADS

        // 调用python的API函数处理
        ......



0 0