小编Axe*_*rja的帖子

VBA是OOP语言,它是否支持多态?

我实际上是在开发我的第一个VBA项目.(来自C++)

我想通过实现类和多态来改进Microsoft Excel工作簿使用的现有VBA项目.

我的问题是:

1 -我阅读了很多文章/论坛,解释说VBA不是面向对象编程(OOP)语言,不支持多态性.

其中一些人使用关键字Implements提出了一种解决方法.

2 -我还发现了一些像这样的网页,它解释了如何使用Inherits,Overrides,Overridable,MustOverrides等关键字在VBA中执行OOP和多态.

所以我的问题是:

VBA面向对象语言,它支持多态?

oop polymorphism excel vba

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

如何查看英特尔ICC编译器上启用了哪些编译选项?

在icc/icpc intel编译器上是否有以下g ++命令?

?> g++ -march=native -m32 ... -Q --help=target
Run Code Online (Sandbox Code Playgroud)

这给了我以下输出:

The following options are target specific:
  -m128bit-long-double                  [disabled]
  -m16                                  [disabled]
  -m32                                  [enabled]
  -m3dnow                               [disabled]
  -m3dnowa                              [disabled]
  -m64                                  [enabled]
  -m80387                               [enabled]
  -m8bit-idiv                           [disabled]
  -m96bit-long-double                   [enabled]
  -mabi=                                sysv
  -mabm                                 [disabled]
  -maccumulate-outgoing-args            [disabled]
  -maddress-mode=                       short
  -madx                                 [disabled]
  -maes                                 [disabled]
  -malign-data=                         compat
  -malign-double                        [disabled]
  -malign-functions=                    0
  -malign-jumps=                        0
  -malign-loops=                        0
  -malign-stringops                     [enabled]
  -mandroid                             [disabled]
  -march=                               nehalem
  -masm=                                att
  -mavx                                 [disabled]
  -mavx2                                [disabled]
  -mavx256-split-unaligned-load         [disabled]
  -mavx256-split-unaligned-store        [disabled]
  -mavx512bw                            [disabled]
  -mavx512cd                            [disabled]
  -mavx512dq                            [disabled]
  -mavx512er …
Run Code Online (Sandbox Code Playgroud)

c++ g++ icc

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

是否可以在没有将编码器传递给json.dumps()的情况下在json中转储枚举?

我可以通过以下示例总结我的问题:

from enum import Enum
import json

class FooBarType(Enum):
    standard = 0
    foo = 1
    bar = 2

dict = {'name': 'test', 'value': 'test', 'type': FooBarType.foo}

json.dumps(dict)

TypeError: <FooBarType.foo: 1> is not JSON serializable
Run Code Online (Sandbox Code Playgroud)

我收到类型错误,因为枚举不是JSON可序列化的.

我主要是实现a JsonEncoder并将其添加到json.dumps()调用中但我无法更改json.dumps()调用的行.

所以,我的问题是: 是否可以在不通过编码器的情况下在json中转储枚举json.dumps(),而是通过在FooBarType枚举中添加类方法?

我希望提取以下json:

{'name': 'test', 'value': 'test', 'type': 'foo'}
Run Code Online (Sandbox Code Playgroud)

要么

{'name': 'test', 'value': 'test', 'type': 1}
Run Code Online (Sandbox Code Playgroud)

python enums json python-2.7

7
推荐指数
3
解决办法
4918
查看次数

如何并行执行cython文件编译?

我想cython并行执行文件编译。

因此,我看一下Cython.Build源文件,并找到以下cythonize函数签名:

def cythonize(module_list, exclude=None, nthreads=0, aliases=None,
              quiet=False, force=False, language=None,
              exclude_failures=False, **options):
Run Code Online (Sandbox Code Playgroud)

关于cythonize nthreads选项的以下评论:

"For parallel compilation, set the 'nthreads' option to the number of
concurrent builds."
Run Code Online (Sandbox Code Playgroud)

因此,我尝试在setup.py文件中使用此选项,如下所示:

from setuptools import setup
from Cython.Build import cythonize
from Cython.Distutils.extension import Extension

EXTENSIONS = [Extension(...)
              ...
              Extension(...)]

setup(name='...',
      ...
      ext_modules=cythonize(EXTENSIONS, nthreads=8),
      ...)
Run Code Online (Sandbox Code Playgroud)

但是我的.pyx文件仍然使用1个线程顺序编译。

我不明白我在这里做错了什么,以及如何使用nthreadsoption来cythonize并行执行编译?

python cython python-2.7 cythonize

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

为什么在Linux上使用更多线程时内存消耗会增加?(C++)

程序:

我为大量数据创建了一个C++计算程序,可以在一个或多个线程上运行.(通过配置文件)

程序环境如下:C++,OpenMp,Redhat-x64,malloc/free

Linux上的结果:

  • 当我在1个线程上运行它时,进程大小为177 MB.
  • 当我在2个线程上运行它时,进程大小为317 MB.
  • 当我在4个线程上运行它时,进程大小为600 MB.

Windows上的结果:

  • 无论使用的线程数为110MB,进程大小仍然相同.

题:

为什么在Linux上使用更多线程时内存消耗会增加?

c++ linux memory multithreading openmp

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

如何在gdb中打印指针列表的内容?

我有以下指针列表:

(这是一个简单的例子,但实际上,我的列表可能由数百个条目组成)

{0xae5c4e8, 0xa09d4e8, 0xa753458,  0xae554e8}
Run Code Online (Sandbox Code Playgroud)

我通过使用以下方法成功地一一打印指针内容:

p *(const Point *) 0xae5c4e8
Run Code Online (Sandbox Code Playgroud)

如何在一个命令中打印上述列表的内容?

c++ gdb c++11

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

给定容器错误状态代码,在哪里可以找到更多显式错误?

我实际上是通过Mesos使用Docker容器的堆栈运行任务。

有时,某些任务失败了。

以下是一些相关的TaskStatus消息和原因:

message: Container exited with status 1 - reason: REASON_COMMAND_EXECUTOR_FAILED
message: Container exited with status 42 - reason: REASON_COMMAND_EXECUTOR_FAILED
message: Container exited with status 137 - reason: REASON_COMMAND_EXECUTOR_FAILED
Run Code Online (Sandbox Code Playgroud)

是否有对应关系表将TaskStatus消息中的容器错误状态代码与更显式的错误链接在一起?

docker mesos

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

标签 统计

c++ ×3

python ×2

python-2.7 ×2

c++11 ×1

cython ×1

cythonize ×1

docker ×1

enums ×1

excel ×1

g++ ×1

gdb ×1

icc ×1

json ×1

linux ×1

memory ×1

mesos ×1

multithreading ×1

oop ×1

openmp ×1

polymorphism ×1

vba ×1