Spørgsmål:
Et robust og fleksibelt alternativ til C ++, der understøtter ilt
einpoklum
2017-03-29 20:56:59 UTC
view on stackexchange narkive permalink

Jeg har brug for at generere dokumentation til et C ++ - projekt af mig (og snart måske også til yderligere). Indtil videre har jeg undersøgt doxygen, og selvom det ser ud til at være populært, har jeg haft nogle problemer med det (detaljerne som jeg ikke vil gå ind på her; nogle er løst). Da jeg ikke er særlig knyttet til det - på trods af dets tilsyneladende popularitet - vil jeg overveje nogle alternativer.

Nu for 7 år siden var der et spørgsmål om StackOverflow om netop det:

Doxygen-alternativer til C ++

men svarene er nu dateret, så jeg stiller det samme spørgsmål her og nu.

Krav:

  • Libre
  • Gratis
  • Multiplatform, der understøtter mindst Linux og Windows
  • Fleksibel til et lignende niveau som doxygen eller mere
  • Aktivt vedligeholdt
  • Ikke-ubetydelig brugerbase
Hvis du "ikke går ind på detaljerne her", bliver det svært at hjælpe dig
@Mawg: Det var for det meste [dette] (http://stackoverflow.com/q/43093051/1593077), men det hjælper dig ikke meget tror jeg ...
Men det blev løst. Så hvorfor ikke bruge DoxyGen? Bare nysgerrig
@Mawg: Det faktum, at det opførte sig sådan, gav mig en fornemmelse om, at jeg måske vil have noget andet. Også, hvorfor _skal_ jeg bruge doxygen, bortset fra jeg har hørt om det? Det er ikke som en jeg har positiv erfaring med det.
Hvorfor ikke i det mindste prøve det? Der er mange mennesker derude, der er positive over for det. De kan ikke alle tage fejl. Plus, det er blevet aktivt vedligeholdt og udviklet i mange tårer, og Dimitri er meget nyttigt Da hjemmesiden starter "Doxygen er de facto standardværktøjet til at generere dokumentation fra kommenterede C ++ - kilder", er det helt sikkert værd at prøve. Og at det fortsætter “men det understøtter også andre populære programmeringssprog er et stort plus for mig.
Men vent, du havde et problem, som blev løst, så du har sandsynligvis * brugt * det til at generere dokumentation fra din kode. Hvis du kan fortælle os, hvilke specifikke funktioner der mangler, kan vi prøve at hjælpe dig.
@Mawg: Hvem sagde, at jeg ikke prøver det? Jeg vil bare ikke prøve _only_ doxygen.
Så prøv andre *** og *** DoxyGen (hvis det hjælper, er der sandsynligvis en grund til, at det er industristandarden)
Da det eneste hidtil eneste foreslåede alternativ er Sphinx-Doc, skal du kigge på [Hvad er de største forskelle mellem Sphinx og Doxygen?] (Https://stackoverflow.com/questions/31571849/what-are-the-main-differences -of-sfinks og doxygen) og Wikipedia's [Sammenligning af dokumentationsgeneratorer] (https://en.wikipedia.org/wiki/Comparison_of_documentation_generators)
stackoverflow.com-linket ... returnerer nu "siden blev ikke fundet". administratorer går lidt ud af hånden der.
@TrevorBoydSmith: Spørgsmålet blev slettet, men admis / moderatorer der burde have flyttet svarene her. Måske kan vi gøre det?
@TrevorBoydSmith: Se mit nye svar ...
hvad er der med alle de ubrugelige kommentarer om at fortælle ham at bruge doxygen, når han sagde, at han ønskede alternativer? +1 for endnu en ubrugelig kommentar. Tak for at stille spørgsmålet og wtf slettede de det andet spørgsmål til
To svar:
Steve Barnes
2017-03-30 14:46:13 UTC
view on stackexchange narkive permalink

Personligt vil jeg kraftigt anbefale at kigge på Sphinx-Doc, som blev skrevet til Python-dokumentationen, men også kan anvendes på andre systemer.

  • Producerer godt ser dokumenter med flere temaer i flere formater
  • Kan genereres fra flere programmeringssprog, f.eks C ++ med C ++ domæne
  • Kan integreres med build-systemer inklusive mærke, Jenkins osv.

Adressering af dine punkter:

  • Libre Fuldstændig open source
  • Gratis Ja
  • Multiplatform, der understøtter mindst Linux og Windows Ja Python-baseret så kører næsten hvor som helst Multi-platform installationsinstruktioner
  • Fleksibel til et lignende niveau som doxygen eller mere Ja Personligt finder jeg det mere fleksibelt, da det tillader en blanding af automatisk genereret og forskrevet, i ReStructuredText, dokumentation.
  • Aktivt vedligeholdt Ja På tidspunktet for skrivning af rev. 1.5.3 blev frigivet 26-02-2017 for lidt over en måned siden
  • Ikke-ubetydelig brugerbase Ja - Læs Docs understøtter det til at starte med & mange eksempler her

Bemærk at for Au tomatisk genererer flot dokumentation fra C / C ++ kildekode, du kan kombinere Sphinx til dokumentgenerering med doxyGen til informationsudvinding til XML og træk vejret og fungere som en bro mellem dem.

Sphinx understøtter ikke autogenererede dokumenter til C eller C ++. Det vil sige, at du skal vedligeholde hele din API og dokumentation i ReST-filer parallelt med din kode. Stor risiko for skrivefejl, ting at komme ud af synkronisering osv.
@detly Tilføjet information om åndedrætsudvidelsen, der tillader auto-generation _via doxygen_ fra koden.
Tak for det, jeg havde set * ånde * nævnt andetsteds, men misforstået hvilken rolle det spillede her. Efter at have undersøgt lidt mere, ser det ud til, at der også er nogle LLVM Clang-baserede autogen-plugins til Sphinx, der er under udvikling, men måske i sidste ende også udfylder dette hul.
einpoklum
2018-03-23 21:20:02 UTC
view on stackexchange narkive permalink

(Jeg har reddet flere svar fra den nu slettede StackOverflow-spørgsmålsside :)

Doc ++

Du kan prøve DOC ++ men det kan være endnu grimere.

cldoc

Der er et open source-alternativ til doxygen derude kaldet cldoc.

Det kan håndtere både C og C ++ og er baseret på clang. De mest interessante funktioner, som det hævder at tilbyde:

  • Bruger clang til at parsere selv de mest komplekse C ++ - projekter uden yderligere indsats fra brugeren.
  • Bruger markdown til dokumentationsformatering.
  • Bruger et simpelt format til dokumentation af din kode.
  • Understøtter krydsreferencer i dokumentation.
  • Genererer en enkelt fil, javascript-baseret webapplikation til gengivelse af dokumentationen .
  • Lynhurtig søgning på klientsiden ved hjælp af et forgenereret søgeindeks.

NaturalDocs

Mit valgfrie våben er NaturalDocs. Det har sine vorter, men output er anstændigt, og markeringen er ubesværet.

NetBeans

Hvis du er interesseret i at spore stort projekt, vil jeg foreslå c ++ version af Netbeans, som dynamisk kan generere flotte opkaldsgrafer (se efter funktionen 'Vis opkaldsgraf').

Doxypress

DoxyPress er en moderne erstatning for Doxygen.



Denne spørgsmål og svar blev automatisk oversat fra det engelske sprog.Det originale indhold er tilgængeligt på stackexchange, som vi takker for den cc by-sa 3.0-licens, den distribueres under.
Loading...