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.c 및 mercurial/diffelper.c입니다.
하위 버전에는 라이브러리가 포함됩니다.
또한 구글에서 거의 찾을 수 없는 Gnulib은 diff module을 가지고 있는 것으로 드러났습니다.이것은 내가 diff 라이브러리를 원했던 것에 충분한 것 같습니다.그런데 패치 모듈이 없는 것 같습니다.
언급URL : https://stackoverflow.com/questions/1451694/is-there-a-way-to-diff-files-from-c
'itsource' 카테고리의 다른 글
dplyr: 열을 알파벳순으로 R 순서 지정 (0) | 2023.10.04 |
---|---|
API에서 아이폰 IDFA를 검색하는 방법은? (0) | 2023.10.04 |
소나타 관리 양식 내에서 Ajax를 사용하는 방법은? (0) | 2023.10.04 |
Angular CLI를 사용하여 패키지를 제거하는 방법? (0) | 2023.10.04 |
PowerShell 언어에서 가장 유용하지만 거의 알려지지 않은 기능은 무엇입니까? (0) | 2023.10.04 |