小编Ruv*_*una的帖子

如何将列表传递给python上的ctypes函数

这是一个两部分的问题。为了提供一些背景知识,我有一个 C 代码,如下所示:

int c_func(const char* dir, float a, float b, float c, float d )
{
    printf("%s\n", dir);
    printf("%f\n",a);
    printf("%f\n",b);
    printf("%f\n",c);
    printf("%f\n",d);

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

这是一个简单的函数,它接受一个字符串和 4 个浮点数作为参数并将它们打印出来我正在尝试测试我的 phython/C 接口。我的python代码如下:

calling_function = ctypes.CDLL("/home/ruven/Documents/Sonar/C interface/Interface.so")  
calling_function.c_func("hello",1, 2, 3, 4])
Run Code Online (Sandbox Code Playgroud)

现在既然这样有效,我想传递一个包含 4 个浮点数的列表,而不是传递 4 个单独的浮点数。我在网上尝试了不同的代码来编辑我的 C 函数,以便它接受一个列表作为它的参数之一,但我似乎无法弄清楚如何这样做,因为我是一个新程序员,而且我对 C 没有经验。

问题 1:如何编写 C 函数以接受列表作为其参数?

问题 2:这个包含四个浮点数的列表实际上来自我的 Python 代码中的列表列表。在对 C 函数进行编码后,我是否可以使用称为testfv2[0,:] C 函数输入的numpy 数组?testfv2[0,:]是一个 1x4 的维度列表,testfv2是一个 117x4 的维度列表。现在,我想一次进入 C 函数 1 行,这就是为什么我想使用testfv2[0,:].

c ctypes python-2.7

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

将 time_t 设置为毫秒

我有一个函数,我希望该函数在运行了一定的毫秒数后停止运行。这个函数可以工作几秒钟,但我想测试它几毫秒。我该怎么做呢?如果我设置消除 = 1,它对应于 1 秒。我如何设置消除 = 5 毫秒?

功能:

void clsfy_proc(S_SNR_TARGET_SET pSonarTargetSet, unsigned char *target_num, time_t eliminate)
{

    // get timing
    time_t _start = time(NULL);
    time_t _end = _start + eliminate;
    int _eliminate = 0;

    //some code

        time_t start = time(NULL);
        time_t end = start + eliminate;

        for(_tidx = 0; _tidx < pSonarTargetSet[_i].num; _tidx++) {
            // check timing
            time_t _current = time(NULL);
            if (_current > _end) {
                printf("clsfy_proc(1), Eliminate due to timeout\n");
                _eliminate = 1;
                break;
            }

            //some code 

        if …
Run Code Online (Sandbox Code Playgroud)

c time time-precision

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

在C中,将2个双精度转换为一个字符串

我有这两个变量C:

double predict_label = 6.0;
double prob_estimates = 8.0;
Run Code Online (Sandbox Code Playgroud)

如何将这两个变量转换Cchar并打印出一个字符串,其中包含"预测标签的值为6,概率估计值为8"的字符串.

c printf type-conversion

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

标签 统计

c ×3

ctypes ×1

printf ×1

python-2.7 ×1

time ×1

time-precision ×1

type-conversion ×1