小编use*_*886的帖子

警告:忽略“assume_aligned”属性指令

我刚刚开始接触 C++,我认为最好的方法是查看源代码。我在头文件中有如下代码。

\n\n
#ifdef _MSC_VER\n#define MYAPP_CACHE_ALIGNED_RETURN /* not supported */\n#else\n#define MYAPP_CACHE_ALIGNED_RETURN __attribute__((assume_aligned(64)))\n#endif\n
Run Code Online (Sandbox Code Playgroud)\n\n

我正在使用gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-11),而且它很旧。我在编译过程中收到此警告:

\n\n
 warning: 'assume_aligned' attribute directiv e ignored [-Wattributes] \xe2\x80\x93\n
Run Code Online (Sandbox Code Playgroud)\n\n

如何使 if 语句更具体以修复编译期间的警告?

\n

c++ gcc

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

在调用类方法时被迫传递一个对象 - 我做错了吗?

如果我做了这样的功能:

class Counter:
    def __init__(self):
        self._count = 0

    def count(self) -> int:
        self._count += 1
        return self._count

    def reset(self) -> None:
        self._count = 0
Run Code Online (Sandbox Code Playgroud)

把它放在python shell中:

>>> s = Counter
>>> s.count()
Run Code Online (Sandbox Code Playgroud)

我最终得到了这个:

TypeError:count()缺少1个必需的位置参数:'self'

难道我做错了什么?我不明白为什么我必须为自己的方法传递一个对象本身.我认为它是自动传递的,因为我使用句点访问该方法.至少这是(我记得,也许是错误的)它在C++中是如此,所以对我来说这对python来说是没有意义的.难道我做错了什么?

基本上,为什么我需要传递s.count(s)而不是s.count().在周期之前,自己是否应该已经初始化为变量?

python class

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

Open()表示输出没有创建文件

我有这个函数,利用open来设置i/o重定向:

void setOutput(char * buffer){
    int file = open(buffer, O_WRONLY || O_CREAT, S_IWUSR);
    if(file < 0){ printf("error opening %s for output\n", buffer); }
    if(dup2(file, 1) < 0){ printf("error with dup2 opening %s for output\n", buffer); }

}
Run Code Online (Sandbox Code Playgroud)

当我运行它时,它适用于已定义的文件,但在收到未创建的文件时返回-1.不知道为什么

c file-io

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

标签 统计

c ×1

c++ ×1

class ×1

file-io ×1

gcc ×1

python ×1