그러나, 파이썬에서 인쇄하는 사람은 문제가 무엇인지 알 수 있을까, IOError: [Errno 9] Bad file descriptor
파이썬, C : 리디렉션 표준 출력 화재 [errno를 9]
제발 원인 그것을 고치는 방법?
PS : 그것은 내가 다른 C 런타임과 함께 할 수 있다고 생각 윈도우 XP, 파이썬 2.6는 MinGW GCC
#include <windows.h>
#include <fcntl.h>
#include "Python.h"
int main()
{
int fds[2];
_pipe(fds, 1024, O_BINARY);
_dup2(fds[1], 1);
setvbuf(stdout, NULL, _IONBF, 0);
/* alternative version: */
// HANDLE hReadPipe, hWritePipe;
// int fd;
// DWORD nr;
// CreatePipe(&hReadPipe, &hWritePipe, NULL, 0);
// fd = _open_osfhandle((intptr_t)hWritePipe, _O_BINARY);
// _dup2(fd, 1);
// setvbuf(stdout, NULL, _IONBF, 0);
write(1, "write\n", 6);
printf("printf\n");
Py_Initialize();
PyRun_SimpleString("print 'print'"); // this breaks
Py_Finalize();
char buffer[1024];
fprintf(stderr, "buffer size: %d\n", read(fds[0], buffer, 1024)); // should always be more than 0
/* alternative version: */
// CloseHandle(hWritePipe);
// char buffer[1024];
// ReadFile(hReadPipe, buffer, 1024, &nr, NULL);
// fprintf(stderr, "buffer size: %d\n", nr); // should always be more than 0
}
파이썬을 직접 만들 었는지 또는 사전 빌드 된 바이너리를 사용하려고 했습니까? –
prebuild 것들, from python.org – EcirH