itsource

C++에서 파일을 디프하는 방법이 있습니까?

mycopycode 2023. 10. 4. 21:52
반응형

C++에서 파일을 디프하는 방법이 있습니까?

C 또는 C++ diff 라이브러리를 찾고 있습니다.유닉스를 사용할 수 있다는 것을 알고 있습니다.diff공구와 조합된system아니면exec, 하지만 도서관을 꼭 갖고 싶습니다.라이브러리에서 유닉스와 같은 패치도 수행할 수 있다면 편리할 것입니다.patch도구.

좋은 해결책을 찾은 것 같습니다.

DTL - Diff 템플릿 라이브러리 --- 자습서

패치를 지원합니다.저는 그것을 찾기 위해 구글에 diff.cpp를 입력해야만 했습니다.효과가 있기를 바랍니다!

Google Diff, Match Patch 라이브러리가 필요한 것 같습니다.

이것은 "다음 출판물에 설명된 Hirschberg 선형 공간 개선으로 SES/LCS에 대한 해결책"을 구현한 것입니다.

E. Myers, "An O(ND) Difference Algorithm과 그 변형", Algorithica 1, 2 (1986), 251-266.http://www.cs.arizona.edu/people/gene/PAPERS/diff.ps

diff의 위키피디아 페이지에서 찾았습니다.

하지만 그것은 단지 차이점을 찾기 위한 것이지 패치로 적용하는 것은 아닙니다.저는 패치 적용이 사실 더 어려운 문제라고 생각합니다. 왜냐하면 충돌의 위험이 있기 때문입니다.충돌을 해결하기 위해서는 어떤 형태로든 사용자 제어 피드백 메커니즘이 필요합니다.

머큐리얼의 일부인 것이 있습니다.파이썬 확장으로 설계된 일부 C 코드로 존재하지만, 아마 꽤 쉽게 추출할 수 있을 것입니다.바이너리 디프도 할 수 있다고 생각합니다.

관련 .c 파일은 mercurial/bdiff.c, mercurial/mpatch.cmercurial/diffelper.c입니다.

하위 버전에는 라이브러리가 포함됩니다.

또한 구글에서 거의 찾을 수 없는 Gnulib은 diff module을 가지고 있는 것으로 드러났습니다.이것은 내가 diff 라이브러리를 원했던 것에 충분한 것 같습니다.그런데 패치 모듈이 없는 것 같습니다.

언급URL : https://stackoverflow.com/questions/1451694/is-there-a-way-to-diff-files-from-c

반응형