小编Aym*_*nTM的帖子

ModuleNotFoundError:没有名为“ Cython”的模块

为什么Cython不想工作?我已经pip安装了它,当我尝试import它时,它将无法正常工作。

我正在使用MacOS版本10.12.6(16G29)

这甚至是截图:


在此处输入图片说明

python module cython python-import python-3.x

2
推荐指数
1
解决办法
2104
查看次数

C:函数指针转换甚至是什么?

假设有人想创建一个可以容纳多个函数指针和不同类型的数组.他将如何这样做呢?也许一个void指针数组可以工作?...事实证明,不是因为为了使用存储在void指针中的函数,你必须将它们(void指针)转换/转换回函数指针和...

"函数指针和void指针之间的转换是不可能的.void*从不是函数指针的通用指针类型,仅用于对象指针.它们不是兼容的类型.

[...]你可以在void*和一个函数指针之间进行转换,但是会发生什么是未定义的行为.您将依赖系统特定的非标准扩展."

- @ Lundin(这里)

代替...

稍微好一点的是使用函数指针类型,如void(*)(void)作为泛型指针.您可以转换为/从不同的函数指针转换,将发生的是特定于编译器(实现定义的行为).也就是说,代码仍然是不可移植的,但至少你不会冒程序崩溃来调用未定义的行为.

- @ Lundin(这里)


也就是说,从一个函数指针转换到另一个函数指针甚至意味着什么呢?

有人可以解释一下吗.也许是一个例子.

c function-pointers type-conversion

1
推荐指数
1
解决办法
98
查看次数

C:如何访问存储在void指针中的函数指针(void*)?

混淆了如何访问存储在void指针(void*)中的函数指针.


假设你有这个:

void *functions[] =
{
    &sqrt,         // int ft_sqrt(int nb);
    &power,
    &logN,
    &factorial;
};

// An array of void pointers, each storing a function pointer.
Run Code Online (Sandbox Code Playgroud)

如果我想访问该sqrt功能,我的猜测如下:

(int (*)(int)) functions[0](x)

但我的猜测是错误的:

error: called object type 'void *' is not a function or function pointer


那么如何访问其中一个函数呢?

c pointers function-pointers void-pointers typecasting-operator

0
推荐指数
2
解决办法
243
查看次数

为什么gcc编译器标志未知?

在试图添加此标志:-Wshadow=compatible-local (文档)编制,但它只是不断抛出此消息时:


`error: unknown warning option '-Wshadow=compatible-local';
 did you mean '-Wshadow- uncaptured-local'?
 [-Werror,-Wunknown-warning-option]`
Run Code Online (Sandbox Code Playgroud)

我的makefile的片段:

# COMPILER & FLAGS ============================================================

CC = gcc
CFLAGS = -g -std=c11 -O3 \
         -Wall -Wextra -Werror \
         -Wshadow -Wshadow=compatible-local \
         -Wno-sign-compare \
         -fsanitize=integer \
         -fsanitize=undefined \
         -fsanitize=address -fsanitize-address-use-after-scope
Run Code Online (Sandbox Code Playgroud)

更新:

注意:我的编译器版本是clang-900.0.39.2.(它说clang即使你输入gcc,因为我正在使用macOS并且很好...... @Aconcagua解释了为什么在下面)


有人知道为什么会这样吗?和/或如何修复它?

c c++ gcc compiler-errors compiler-flags

0
推荐指数
1
解决办法
366
查看次数