小编Max*_*Max的帖子

在源代码中部分禁用gcc中的迂腐警告

我试图gcc关闭我对二进制常量的使用.它们使代码更具可读性,但阻止我使用-pedantic我遵守的代码.我想要有一个类似-fnobinaryconstwarn或类似的开关(我认为在阅读手册页一段时间后我认为不存在)或使用

#pragma GCC diagnostic ignored "-pedantic" 
Run Code Online (Sandbox Code Playgroud)

选择性地禁用如此处所述的短暂伸展的迂腐警告:有 选择地仅对部分翻译单元禁用GCC警告? 不幸的是,这似乎不起作用.我有什么选择?

对于 clang

#pragma GCC diagnostic ignored "-Wpedantic"
Run Code Online (Sandbox Code Playgroud)

虽然上面的行没有,但它会产生错误gcc.

c gcc suppress-warnings

13
推荐指数
2
解决办法
4121
查看次数

Python - 如何从类方法中获取类名 - 使用@classmethod

我有以下代码:

class ObjectOne(object):
    @classmethod
    def print_class_name(cls):
        print cls.__class__.__name__

    def print_class_name_again(self):
        print self.__class__.__name__

if __name__ == '__main__':
    obj_one = ObjectOne()
    obj_one.print_class_name()
    obj_one.print_class_name_again()
Run Code Online (Sandbox Code Playgroud)

输出是:

type
ObjectOne
Run Code Online (Sandbox Code Playgroud)

我希望输出为:

ObjectOne
ObjectOne
Run Code Online (Sandbox Code Playgroud)

但我想test_cls通过@classmethod装饰器保持作为类方法.

我怎么能做到这一点?

python class-method

11
推荐指数
3
解决办法
2万
查看次数

linux下的malloc,隐式限制

对不起,如果标题不像它应该的那样具有描述性,那么问题很难用几句话来表达.我试图通过malloc'ing找出我有多少内存,如果有效,写入该段.在某些系统上(x86_64上的所有linux),我在写入2049th mib时看到了段错误.代码是:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <sys/mman.h>

int main (int argc, char **argv) {
    void *addr;
    int megasize = 2100
    /// allocate the memory via mmap same result
    //addr = mmap ((void *) 0, (size_t) megasize << 20, PROT_READ | PROT_WRITE,
    //                                                      MAP_PRIVATE | MAP_ANONYMOUS, (int) -1, (off_t) 0);
    addr = malloc(megasize << 20);
    if (addr == MAP_FAILED) {
            fprintf (stderr, "alloc of %d megabytes failed %s\n", megasize,
            strerror (errno));
            exit (1);
    };
    printf ("got …
Run Code Online (Sandbox Code Playgroud)

c linux malloc

4
推荐指数
2
解决办法
600
查看次数

sml中的相互依赖结构

可以sml通过and关键字定义相互依赖的数据类型.现在我有两个相互引用的结构,看起来我看到的错误是因为它是相互递归的,但我没有看到以这种方式添加and的方法.

例:

structure Machine = struct 
  structure F = Frame
  ...
end

structure Frame = struct
  ...
  reference to Machine.wordsize
end
Run Code Online (Sandbox Code Playgroud)

这可以使用还是设计不兼容sml?我正在移植代码Ocaml,显然这是在那里工作.

sml

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

标签 统计

c ×2

class-method ×1

gcc ×1

linux ×1

malloc ×1

python ×1

sml ×1

suppress-warnings ×1