Szukam biblioteki diff C lub C++. Wiem, że mogę używać narzędzia Unix diff
w połączeniu z system
lub exec
, ale naprawdę chcę mieć bibliotekę. Byłoby to przydatne, gdyby biblioteka mogła również wykonywać łatki, takie jak narzędzie Unix patch
.Czy istnieje sposób na różnicowanie plików z C++?
Odpowiedz
Chyba znalazłem dobre rozwiązanie wreszcie:
DTL - Diff Template Library --- Tutorial
Obsługuje poprawki. Musiałem wpisać "diff.cpp" w Google, aby go znaleźć. Mam nadzieję, że to działa!
To działało świetnie dla mnie! – KeatsKelleher
Wydaje się, że Google Diff, Match and Patch libraries to, czego potrzebujesz.
Eh, ale wersja C++ tej biblioteki jest zależna od Qt. Potrzebuję biblioteki typu diff/patch dla aplikacji nie-GUI. –
Qt ma części inne niż GUI i może być używany w aplikacji konsolowej. – Bill
Qt jest dużą zależnością od biblioteki, której nie chcę mieć. Dlaczego autor nie użył STL? –
This jest realizacja „roztwór do SE/LCS z Hirschberg liniowego udoskonalenie przestrzeni, jak opisano w następującej publikacji:”
E. Myers, '' O (na ND) Różnica Algorytm i jego wariacje ", Algorithmica 1, 2 (1986), 251-266. http://www.cs.arizona.edu/people/gene/PAPERS/diff.ps
Znaleziono go na Wikipedia page on diff.
To tylko w celu znalezienia pliku różnicowego, nie stosując go jako poprawki. Myślę, że aplikacja łatki jest w rzeczywistości trudniejszym problemem; ze względu na ryzyko konfliktów. Aby rozwiązać konflikty, potrzebowałaby pewnej formy mechanizmu zwrotnego kontrolującego użytkownika.
To jest najlepsza odpowiedź, ale do tej pory bardzo chciałbym również biblioteki łatek. Poczekam trochę, żeby sprawdzić, czy ktoś jeszcze ma odpowiedź. –
Plik 'diff.c' połączony na początku wydaje się zniknąć. (Wciąż jest w indeksie Google chociaż ...) – Tanuva
@Tanuva Huh? Mi to pasuje. – unwind
Subversion zawiera bibliotekę libsvn_diff
.
Jest jeden, który jest częścią Mercurial. Istnieje jako kod C, który został zaprojektowany jako rozszerzenie Pythona, ale prawdopodobnie można go dość łatwo wyodrębnić. Wierzę, że może również tworzyć różnice binarne.
Odpowiednie pliki .c to mercurial/bdiff.c, mercurial/mpatch.c i prawdopodobnie mercurial/diffhelpers.c.
także dość dużo unfindable w Google, okazuje się, że Gnulib ma diff module. Ta wydaje się wystarczająca dla tego, czego chciałem dla biblioteki diff. Wydaje się jednak, że nie ma modułu łatki.
- 1. Czy istnieje sposób na połączenie plików pdb z ilmerge?
- 2. Czy istnieje sposób na otwarcie wielu plików naraz z vim?
- 3. Czy istnieje sposób na leniwe ładowanie plików CSS w Angular?
- 4. Czy istnieje sposób na połączenie dwóch plików .gcda w jeden?
- 5. Czy istnieje lekka biblioteka systemów plików C++?
- 6. Czy istnieje sposób na importowanie wszystkich plików częściowych w SASS?
- 7. Czy istnieje sposób na odtwarzanie plików MP3 w Qt 4.5?
- 8. Czy istnieje sposób wyświetlenia rozmieszczonych plików na platformie Azure?
- 9. Szyny: różnicowanie przemieszczania z produkcji
- 10. Czy istnieje sposób konkatowania typów anonimowych C#?
- 11. Czy istnieje sposób liczenia tokenów w C?
- 12. Czy istnieje sposób na uproszczenie tego przypadku?
- 13. Czy istnieje sposób statycznego wykonywania wiązania C#?
- 14. C# Czy istnieje sposób na sporządzenie listy przedziału czasowego? Konfigurowalny
- 15. Czy istnieje sposób na usunięcie cudzysłowów w makrze C?
- 16. C#: czy istnieje sposób na wymuszenie wyświetlania podpowiedzi?
- 17. C++: Czy istnieje sposób na zdefiniowanie linii statycznej inline?
- 18. Czy istnieje sposób na przyspieszenie Jsoup.parse()?
- 19. Czy istnieje sposób wyłączenia buforowania systemowego (unix) dla plików dyskowych?
- 20. Czy istnieje skrótowy sposób na denillifię ciąg w C#?
- 21. Czy istnieje sposób na znalezienie ID Teamviewer w języku C#?
- 22. Czy istnieje sposób na robienie curry w C?
- 23. Czy istnieje sposób na optymalizację doxygen dla C++?
- 24. Czy istnieje sposób na scalenie dwóch NSMutableArray w celu c?
- 25. Czy istnieje sposób na FAKE dziedziczenia w C#/VB.NET?
- 26. Czy istnieje sposób na odzyskanie bieżącego zużycia pamięci aplikacji C#?
- 27. Czy istnieje sposób na wykonanie funkcji atomowej w C? .
- 28. XAMARIN (C#) - Czy istnieje sposób na programowe podkreślenie TextView?
- 29. Czy istnieje sposób używania figaro z brygadzistą?
- 30. Czy istnieje sposób na pominięcie parametru?
Wydaje mi się, że biblioteka diff byłaby dość powszechna, ale Google jeszcze nie dostarczył dobrej odpowiedzi. –
[Podano doskonałe podejście do C/C++ w podobnym poście.] (Https://stackoverflow.com/questions/42377443/diff-compare-two-files-by-file-descriptor-fd-instead-of- nazwa-pliku/42380790 # 42380790) – DevNull