小编Dav*_*vid的帖子

使用MPI_Bcast进行MPI通信

我正在尝试使用MPI_Bcast从根节点向所有其他节点广播消息.但是,每当我运行这个程序时,它总是挂起.有人知道它有什么问题吗?

#include <mpi.h>
#include <stdio.h>

int main(int argc, char** argv) {
        int rank;
        int buf;
        MPI_Status status;
        MPI_Init(&argc, &argv);
        MPI_Comm_rank(MPI_COMM_WORLD, &rank);

        if(rank == 0) {
                buf = 777;
                MPI_Bcast(&buf, 1, MPI_INT, 0, MPI_COMM_WORLD);
        }
        else {
                MPI_Recv(&buf, 1, MPI_INT, 0, 0, MPI_COMM_WORLD, &status);
                printf("rank %d receiving received %d\n", rank, buf);
        }

        MPI_Finalize();
        return 0;
}
Run Code Online (Sandbox Code Playgroud)

c mpi

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

使用apache和mod_wsgi的Flask hello world仅显示webroot中的文件

我试图使用wsgi在apache2上运行烧瓶站点的基本hello.py.这是我的代码的样子:

/var/www/flask_dev/hello.py

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
    app.run()
Run Code Online (Sandbox Code Playgroud)

/var/www/flask_dev/start.wsgi

from hello import app as application

import sys
sys.stdout = sys.stderr
Run Code Online (Sandbox Code Playgroud)

/etc/apache2/sites-available/flask_dev.conf

#Listen 80
ServerName example.com

<VirtualHost *:80>
    # The ServerName directive sets the request scheme, hostname and port that
    # the server uses to identify itself. This is used when creating
    # redirection URLs. In the context of virtual hosts, the ServerName
    # specifies what hostname must appear …
Run Code Online (Sandbox Code Playgroud)

python apache wsgi apache2 flask

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

如何在尝试使用qemu-arm运行arm二进制文件时解决"加载共享库时出错"?

我正在运行Linux Mint 14,安装了qemu,qemu-user和gnueabi工具链.我编译test.c以用arm-linux-gnueabi-gcc test.c -o test.

当我试着跑 qemu-arm /usr/arm-linux-gnueabi/lib/ld-linux.so.3 test

我收到一个错误说:test: error while loading shared libraries: test: cannot open shared object file: No such file or directory.qemu-arm test正如我之前尝试的那样,跑步给出了/lib/ld-linux.so.3: No such file or directory

但是,该文件确实存在且可以访问.

$ stat /usr/arm-linux-gnueabi/lib/ld-linux.so.3
  File: `/usr/arm-linux-gnueabi/lib/ld-linux.so.3' -> `ld-2.15.so'
  Size: 10          Blocks: 0          IO Block: 4096   symbolic link
Device: 801h/2049d  Inode: 4083308     Links: 1
Access: (0777/lrwxrwxrwx)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2013-04-22 16:19:48.090613901 -0700
Modify: 2012-09-21 08:31:29.000000000 …
Run Code Online (Sandbox Code Playgroud)

arm qemu

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

在Windows窗体中将面板添加到SplitContainer

我无法找到有关如何将面板添加到SplitContainer的文档.我可以创建SplitContainer,但是我不能将我编码的面板放在splitcontainer中.

我试过了

sc.Container.Add(myPanel);
sc.Container.Add(myOtherPanel);
Run Code Online (Sandbox Code Playgroud)

Container总是空的.有谁知道我做错了什么?

c# splitcontainer winforms

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

在c中重定向标准输出,然后重置标准输出

我正在尝试使用C中的重定向将输入重定向到一个文件,然后将标准输出设置回打印到屏幕.有人能告诉我这段代码有什么问题吗?

#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>

int main(int argc, char** argv) {
    //create file "test" if it doesn't exist and open for writing setting permissions to 777
    int file = open("test", O_CREAT | O_WRONLY, 0777);
    //create another file handle for output
    int current_out = dup(1);

    printf("this will be printed to the screen\n");

    if(dup2(file, 1) < 0) {
        fprintf(stderr, "couldn't redirect output\n");
        return 1;
    }

    printf("this will be printed to the file\n");

    if(dup2(current_out, file) < 0) {
        fprintf(stderr, "couldn't reset …
Run Code Online (Sandbox Code Playgroud)

c unistd.h fcntl

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

Makefile 可以依赖于 shell 脚本的结果吗?

有没有办法使用 shell 脚本的返回值作为 Makefile 中的依赖项?

例如:

生成文件:

proj: getsource.sh
    cc src1.c src2.c ...
getsource.sh: checksource.sh
    wget http://www.something.com/src1.c
Run Code Online (Sandbox Code Playgroud)

检查源.sh:

#!/bin/sh
# bash pseudo code because I can never remember bash's syntax
if [[ -not -exists src1.c ]]
    exit 1
else
    exit 0
...
Run Code Online (Sandbox Code Playgroud)

当在没有源的情况下执行时,Makefile 将运行 getsource.sh 目标,然后运行 ​​proj 目标。如果源存在,它只会运行 proj 目标。

shell makefile

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

使用Popen运行本地二进制文件时出现'file not found'错误

我正在编写一个Python程序来调用Popen的本地二进制文件来捕获它的输出.我改变了目录os.chdir,我已经验证了文件.但是,以下代码会引发"找不到文件"异常.

谁能告诉我我做错了什么?从我$ PATH中的目录运行程序有什么特别之处吗?提前致谢.

try:
    os.chdir('/home/me')
    p = sub.Popen(['./exec', '--arg', 'arg1'], cwd=os.getcwd(), stdout=sub.PIPE)
    out, err = p.communicate()
    print("done")
except OSError as e:
    print("error %s" % e.strerror)
Run Code Online (Sandbox Code Playgroud)

python subprocess

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

如何在 Google Mock 中访问私有成员

我正在尝试为具有私有向量的类编写一个模拟,该类会将数据插入到私有向量中。但是,我没有找到使用 Google Mock 来做到这一点的方法。理想情况下,我希望界面中没有任何与测试相关的内容。另外,我不想使私有向量受到保护并对该类进行子类化并添加访问器方法,因为这会导致我的代码泄漏其实现。

这是我到目前为止所拥有的。我想要完成的是使用 Fake 类插入数据,并使用 Mock 类在指向 Fake 类的指针上调用 Real::first() (这样我就可以使用 Fake 的向量而不是 Real 的向量)。编译该程序时,返回 -1 而不是 4。

#include <iostream>
#include <vector>
#include <gmock/gmock.h>

using namespace std;
//using ::testing::_;
using ::testing::Invoke;

class A {
protected:
    vector<int> a;

public:
    virtual int first() = 0;
    virtual ~A() {}
};

class Real : public A {
public:
    virtual int first() {
        cout << "size: " << a.size() << endl;
        return a[0];
    }
};

class Fake : public A {
public:
    virtual …
Run Code Online (Sandbox Code Playgroud)

c++ unit-testing mocking googlemock

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

使用管道在两个子进程之间进行通信

我正在尝试编写生成两个子进程的代码,这些子进程通过管道相互发送消息然后终止。但是,当我运行以下代码时,只有 child2 打印它的问候语,但 child 1 仍然打印它从 child 2 获得的消息,而 child 1 没有。

有人知道我的方法有什么问题吗?

#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>

int main(int argc, char** argv) {
    char chld_1_send[20] = "hello from child 1";
    char chld_1_recv[20];
    char chld_2_send[20] = "hi from child 2";
    char chld_2_recv[20];

    int chld_1_outgoing[2];
    int chld_2_outgoing[2];

    pipe(chld_1_outgoing);
    pipe(chld_2_outgoing);

    int chld_1_status, chld_2_status;
    pid_t chld_1, chld_2;

    chld_1 = fork();

    if(chld_1 == 0) {
        chld_2 = fork();
    }

    if(chld_1 == 0 && chld_2 == 0) {
        printf("parent [pid:%d] …
Run Code Online (Sandbox Code Playgroud)

c fork pipe process

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

List.Cast <> error"是在给定上下文中无效的方法"

我有一个抽象的父类,它继承了它的子类.我有另一个类,包含许多List<>类型的不同子类.然后我在另一个类中有一个方法,它接受一个参数,List<ParentType>并且只调用声明为abstract的方法.

我在使用List<T>.Cast<T2>子类列表时遇到问题.我收到错误:

System.Linq.Enumerable.Cast(System.Collections.IEnumerable)'是'方法',在给定的上下文中无效

有谁知道如何解决这个错误?或者我是否必须重建类型列表List<ParentType>并单独重铸每个项目?

我正在尝试做什么:公共抽象类P {public int num; public abstract double addSections(); }

public class A : P {
    public int num2;
    public A(int r, int n) {
        num = r;
        num2 = n;
    }
    public double addSections() { return (double)num + (double)num2; }
}

public class B : P {
    public double g;
    public B(int r, double k) {
        num = r;
        g = k;
    }
    public double addSections() { return …
Run Code Online (Sandbox Code Playgroud)

c# linq casting

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