Не удается увидеть вывод printf в консоли PyCharm при вызове функции C - PullRequest
0 голосов
/ 10 октября 2019

После этого я написал простую функцию C:

#include <stdio.h>
#include "main.h"// -> __declspec(dllexport) void compute_ncc(const int num_dims, const int *dims, const double *x, const double *y, double *z);

void compute_ncc(const int num_dims, const int *dims, const double *x, const double *y, double *z)
{
    z[0] = 0.0;
    printf("Bye - Bye world!!!\n");//also tried puts("Bye - Bye world!!!\n");

}

Вызвал функцию из консоли PyCharm (2018.3.7, Python 3.6), используя:

import ctypes
import numpy as np
lib = ctypes.cdll.LoadLibrary("D:/VISUAL_2015_PROJ/Compute_Costs_C/x64/Debug/Compute_Costs_C.dll")
fun = lib.compute_ncc
fun.restype = None
fun.argtypes = [ctypes.c_int32,
                np.ctypeslib.ndpointer(np.int32, flags='C_CONTIGUOUS'),
                np.ctypeslib.ndpointer(np.float64, flags='C_CONTIGUOUS'),
                np.ctypeslib.ndpointer(np.float64, flags='C_CONTIGUOUS'),
                np.ctypeslib.ndpointer(np.float64, flags='C_CONTIGUOUS')]


x = np.ones((1,3),dtype=np.float64)
y = np.ones((1,3),dtype=np.float64)
z = np.ones((1,3),dtype=np.float64)

fun(int(2),np.ones((1,3),dtype=np.int32),x,y,z)

Переменная z изменилась следующим образом:

>>>z
array([[0., 1., 1.]])

, но я не вижу вывода printf на консоли.

Есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...