이것은 대개 파이프로 수행됩니다. 보일 파이프는 특히, 내가 테스트 (!과에서 수행 작업을 많이 받고) 윈도우 10에서했던 환경에서 잘 작동합니다 :Windows에서 bash의 프로세스간에 대량의 데이터를 스트리밍하는 방법은 무엇입니까?
- 힘내 bash는
- MSYS2 강타
대용량 파일이나 이진 스트림이 있으면 설치 한 도구 (cat largefile.JPG | wc -c
)를 정확하게 사용할 수 있지만 C++을 사용하는 자체 이미지 처리 프로그램을 작성할 때마다 stdin을 읽는 데 사용하는 방법이 무엇이든 cstdio
오래된 학교 C 방법, C 프로그램 또는 C++ cin
iostreams) 끝나기 전에 나타나는 스트림의 일부분 만 얻습니다. 이 파일의 길이는 결정 론적 인 것처럼 보이므로 동일한 파일이 동일한 결과를 생성합니다.
OS X 또는 Linux에서 동일한 코드를 테스트하면 stdin 스트림 길이가 올바른 위치에서 올바르게 작동합니다. 따라서 이러한 플랫폼에서 디스크를 치지 않고 데이터를 전달할 수있는 실용적인 방법입니다. 나는 지금 당장 bash-fu를 연마 해 왔기 때문에 자연스럽게 나온다.
물론 내가 활용할 수있는 다른 방법이 있어야하지만, 내가 의지 할 것으로 기대할 수있는 어떤 것을 빨리 얻을 수는 없습니다. 이 문제를 해결할 수있는 방법은 무엇입니까? 난 정말 내가
g++.exe (Rev2, Built by MSYS2 project) 7.1.0
Copyright (C) 2017 Free Software Foundation, Inc.
을 포함, MSYS2 내부 팩맨과 함께 설치할 수 있습니다 유닉스 도구 세트를 좋아하지만 지금까지 내 하나의 큰 걸림돌이다. 이 컴파일러로 컴파일 된 가장 간단한 프로그램은 표준 입력 스트림에서 유용한 양의 데이터를 버릴 수 없습니다. 왜 그런가요? 운영체제 나 posix 계층과 그 검은 마법의 한계가 있다면 wc
은 왜 완벽하게 작동합니까?
모든 'stdin'을 읽지 못하고 실행하는 방법 중 가장 간단하고 컴파일 가능한 실행 가능한 프로그램을 보여주십시오. –
[this] (https://stackoverflow.com/a/3495410/340947) 코드를 사용하고 다음과 같이 실행하십시오.'cat large.JPG | ./size'. 이것은'gcc size.c -o size'로 컴파일됩니다. –
https://github.com/borgbackup/borg/pull/2032를 보셨습니까? – zortacon