小编Ton*_*ony的帖子

如何清除 Python/matplotlib 内存?

Python 在用 pyplot 绘制了一些图形后出现了内存错误(我在笔记本电脑上绘制了超过一百万个点的图形 - 在错误与点的数量直接相关之前可以绘制多少个图形)。

之后如何清除内存,以便我可以绘制更多图形?现在唯一的选择是ctrl + .重新启动内核。

我已经尝试了推荐的:

matplotlib.pyplot.close("all")
matplotlib.pyplot.clf()
Run Code Online (Sandbox Code Playgroud)

不清除错误。

python memory matplotlib

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

在三元运算符的else部分"什么都不做"?

添加到三元运算符的标准行是什么,以便在不满足条件时不执行任何操作?

例:

int a = 0;
a > 10 ? a = 5 : /*do nothing*/;
Run Code Online (Sandbox Code Playgroud)

使用a似乎可以解决问题,但我想知道是否有更普遍接受的方式.

c++ ternary-operator

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

计算机程序/操作系统是否仅包含低级别的 X86-64 指令?

对于一个新手/愚蠢的问题,我很抱歉,但这让我困扰了一段时间,而且似乎很难找到直接的答案。问题是关于计算机如何在低级别工作 - 更具体地说,是否有计算机可以执行的命令未包含在x86-64指令中。换句话说,您可能会问是仅使用 x86-64 指令编程的操作系统,并且操作系统运行的程序也是如此。请注意,我不是在询问特定于处理器的隐藏命令或附加命令,我们可能假设这些不存在。

提问的动机:

  • 通常的说法是编译器将特定语言的程序编译为机器码。但是,有许多命令不能(据我所知)仅使用 x86-64 指令用汇编语言编写。甚至像“malloc”这样简单的东西。所以看起来为操作系统编写的实际程序由机器代码和操作系统指令组成?

  • 如果查看 x86-64 指令集,似乎 I/O 命令(例如访问键盘、鼠标、硬盘驱动器、GPU、音频接口、时间、显示器、扬声器等)并没有针对它的所有命令,尽管可以使用 INT 命令来完成某些任务。根据这个答案“在现代体系结构上,外围设备的访问方式与内存类似:通过总线上的映射内存地址。”,无论在代码方面意味着什么。所以看起来甚至操作系统也不是只用 x86-64 指令编写的?

assembly operating-system cpu-architecture machine-code low-level

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