小编der*_*mai的帖子

Fortran DEALLOCATE

我正在尝试在Fortran中编写一个小子程序,以便在程序出现错误时释放内存中所有已分配的变量,即无法加载文件或不存在的所需文件.此时,必须终止执行,但不是所有的可分配都必须分配(这取决于错误出现在代码的哪个位置),所以我无法进行清理以释放所有这些.

我目前的做法如下:

SUBROUTINE Cleanup(A)

    REAL(8), ALLOCATABLE, DIMENSION(:) :: A

    IF (ALLOCATED(A)) THEN
        DEALLOCATE(A)
    END IF

END SUBROUTINE
Run Code Online (Sandbox Code Playgroud)

并为每个可分配的人调用"清理".这个问题是我的所有变量都不是维度-1.我有一些最多三维.

我首先考虑为不同的维度编写3个不同的子程序并使用重载,但这似乎不是很优雅.

然后我想到也许我可以传递一个指针而不是实际参数A,但我用Google搜索,似乎你不能通过指针释放目标变量.

有关如何正确执行此操作的任何想法?

谢谢.

fortran pointers

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

如何在 Python 中通过 cgi 部署 zip 文件(或其他二进制文件)?

我正在使用 Python 和 CGI​​ 编写一个小型网站,用户可以在其中上传 zip 文件和下载其他用户上传的文件。目前,我可以正确上传 zip 文件,但是在将文件正确发送给用户时遇到了一些麻烦。我的第一种方法是:

file = open('../../data/code/' + filename + '.zip','rb')

print("Content-type: application/octet-stream")
print("Content-Disposition: filename=%s.zip" %(filename))
print(file.read())

file.close()
Run Code Online (Sandbox Code Playgroud)

但很快我意识到我必须将文件作为二进制发送,所以我尝试:

print("Content-type: application/octet-stream")
print("Content-Disposition: filename=%s.zip" %(filename))
print('Content-transfer-encoding: base64\r')
print( base64.b64encode(file.read()).decode(encoding='UTF-8') )
Run Code Online (Sandbox Code Playgroud)

以及它的不同变体。它只是行不通;Apache 引发“来自脚本的格式错误的标头”错误,所以我想我应该以其他方式对文件进行编码。

python binary zip cgi python-3.x

6
推荐指数
2
解决办法
4638
查看次数

从 OpenCV 3 切换到 OpenCV 4 会导致网络摄像头以最高 5 fps 的速度录制,而不是通常的 30 fps

自从我在 C++ 项目中从 OpenCV 3.x 更改为 4.x(从源代码编译)以来,我遇到了一些麻烦。我在一个小例子中复制了这个行为,这个例子只打开了一个网络摄像头并记录了 5 秒钟。

使用 3.x 我可以将网络摄像头帧率设置为全高清 30,但与 4.x 相同的代码只是忽略camera.set(cv::CAP_PROP_FPS,30)并将其设置为 5。如果我使用 720p,fps 设置为 10。

也许代码在这里不相关,因为它是一个经典的例子,但以防万一我会把它留在这里。

#include "opencv2/opencv.hpp"
#include "iostream"
#include "thread"
#include <unistd.h>

using namespace cv;

VideoCapture camera(0);
bool stop = false;
int fc = 0;

void saveFrames()
{
    while(!stop)
    {
        Mat frame;
        camera >> frame;
        cv::imwrite("/tmp/frames/frame" + std::to_string(fc) + ".jpg", frame);
        fc++;
    }
}

int main()
{
    if(!camera.isOpened())
        return -1;

    camera.set(cv::CAP_PROP_FRAME_WIDTH,1920);
    camera.set(cv::CAP_PROP_FRAME_HEIGHT,1080);
    camera.set(cv::CAP_PROP_FPS,30);

    double fps = camera.get(cv::CAP_PROP_FPS);
    std::cout << "FPS setting: " …
Run Code Online (Sandbox Code Playgroud)

c++ opencv webcam-capture

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

在 Howard Hinnant 的 Date 库中获取毫秒舍入时间戳字符串的最佳方法是什么?

我有以下代码,使用日期库:

#include "date.h"
#include <iostream>
#include <sstream>

using namespace date;
using namespace std::chrono;

int main()
{
    auto now = system_clock::now();
    std::stringstream ss;
    ss << now;
    std::string nowStr = ss.str();   // I need a string
    std::cout << nowStr << " UTC\n";
}
Run Code Online (Sandbox Code Playgroud)

结果是:

2020-03-26 17:38:24.473372486 UTC
Run Code Online (Sandbox Code Playgroud)

stringstream 是从 now() 返回的 chrono::timepoint 获取字符串的正确方法吗?而且,如果是这样,我如何将这些纳秒四舍五入到毫秒?

c++ time date c++11 c++-chrono

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

如何在 OSX 中的恢复模式下取消隐藏 /Users 文件夹

我正在尝试使用恢复模式下的终端访问 macbook 上主目录中的一些文件。在正常启动中,我可以执行以下操作:

sudo chflags nohidden /Users
Run Code Online (Sandbox Code Playgroud)

取消隐藏用户文件夹,但这不适用于恢复模式。我试过这个

diskutil list
Run Code Online (Sandbox Code Playgroud)

但没有加密和/或离线卷出现。有人知道我如何访问我的文件吗?

macos terminal recovery

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

通知发送在使用 sudo 运行的 python 脚本中不起作用

我正在编写一个使用 sudo 权限运行的 python 脚本。在某个时候,我想向用户发送通知。我注意到notify-send不能作为root用户工作,所以我尝试通过执行以实际用户身份运行它su $SUDO_USER -c notify-send ...,但这也不起作用。

以下第一个函数在没有 sudo 权限的情况下运行时有效。当使用 sudo 运行时,它们都不起作用。知道为什么吗?

def notify(message):

    subprocess.run(['notify-send', '-i', 'utilities-terminal', 'Notification Title', message],
                   stdout=subprocess.PIPE,
                   stderr=subprocess.PIPE,
                   check=True)


def notifySudo(message):

    subprocess.run(['su', os.environ['SUDO_USER'], '-c', 'notify-send', '-i', 'utilities-terminal', 'Notification Title', message],
                   stdout=subprocess.PIPE,
                   stderr=subprocess.PIPE,
                   check=True)
Run Code Online (Sandbox Code Playgroud)

python bash notifications sudo notify-send

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

CSS省略号在Bootstrap 3缩略图标题中不起作用

我无法弄清楚如何使CSSs:省略号工作在Bootstrap 3缩略图标题内.它在正文中完美无缺,但到目前为止还没有运气.我正在使用最新版本的Chrome.

jsfiddle链接

HTML

<div class="col-sm-4 col-md-3 col-lg-2 thumbnailcontainer">
  <div class="thumbnail">
    <img src="http://animalia-life.com/data_images/bird/bird1.jpg" alt="image">
    <div class="caption">
      <div class="thumbnailheader"><h3>This text is too long to fit inside its container.</h3></div>
      <p>Lorem ipsum ad his scripta blandit partiendo, eum fastidii accumsan euripidis in, eum liber hendrerit an. Qui ut wisi vocibus suscipiantur, quo dicit ridens inciderint id.</p>
      <p><a href="#" class="btn btn-default center-block" role="button">Open</a></p>
    </div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS

.thumbnailheader, 
.thumbnail p
{
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

html5 ellipsis css3 twitter-bootstrap-3

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

在 Meson 中添加本地依赖项(openCV)的正确方法是什么?

我在我的一个项目中使用 OpenCV。到目前为止,我在 Ubuntu 18.04 下使用版本 3,所以在我的meson.build版本中:

... dependencies: [dependency('opencv')])
Run Code Online (Sandbox Code Playgroud)

现在,我已经从源代码编译了 OpenCV 4 并安装到默认目录,/usr/local/并将我的更改meson.build为:

... dependencies: [dependency('opencv4')])
Run Code Online (Sandbox Code Playgroud)

导致未找到错误(尽管这适用于 Ubuntu 20.04 和官方存储库中的软件包(版本 4.2))。我应该如何指定图书馆的位置以便 Meson 可以找到它?

我见过 find_library,但根据文档,它已被弃用。

opencv meson-build

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

C++ std::hex 是否反转字节顺序?(将十进制打印为十六进制)

我在理解以下 C++ 代码时遇到了一些麻烦:

std::cout << std::hex << 61183 << std::endl; // prints eeff
Run Code Online (Sandbox Code Playgroud)

我正在使用小端机器(Intel x86-64),我想在位和字节级别了解该结果是如何产生的,因此我为最低有效位架构编写了下表。

在此处输入图片说明

如您所见,我希望代码行的输出FFEE不是EEFF. 所以我在制作这张桌子时一定错过了一些东西,但我真的不知道是什么。是否std::hex受计算机字节序的影响?

c++ hex byte endianness

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

如何在 C++ 中将字节向量 (std::vector&lt;uint8_t&gt;) 转换为不同的 uint32_t、uint16_t 和 uint8_t 变量

我有字节向量 std::vector,我想将其信息提取为一些不同长度的整数。

\n\n

例如,我可以有一个 7 字节的向量,我想在开头读取 uint32_t,然后读取 uint16_t,最后读取 uint8_t。我需要一种方法来指定应该从向量的哪个元素开始读取以及应该读取多少字节。

\n\n
std::vector<std::uint8_t>& bytes(7);\nuint32_t a;\nuint16_t b;\nuint8_t c;\n\n// Could be something similar to this? \n// This yields an invalid conversion error: {aka unsigned char}\xe2\x80\x99 to \xe2\x80\x98const void*\xe2\x80\x99\nstd::memcpy(&a, bytes[0], sizeof(uint32_t)); \nstd::memcpy(&a, bytes[4], sizeof(uint16_t));\nstd::memcpy(&a, bytes[6], sizeof(uint8_t));\n
Run Code Online (Sandbox Code Playgroud)\n

c++ byte vector

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