Knowledge (XXG)

Doxygen

Source 📝

818: 1190: 125: 81: 33: 518: 256:
to generate diagrams and charts of the code structure. Doxygen can cross reference documentation and code, so that the reader of a document can easily refer to the actual code.
252:. When used as a documentation generator, Doxygen extracts information from specially-formatted comments within the code. When used for analysis, Doxygen uses its 479:
Many programmers avoid using C-style comments and instead use C++ style single line comments. Doxygen accepts comments with additional slash as Doxygen comments.
399:
Doxygen has built-in support to generate inheritance diagrams for C++ classes. For more advanced diagrams and graphs, Doxygen can use the "dot" tool from
1225: 778:, where the main developer, Dimitri van Heesch, contributes under the user name "doxygen". Doxygen is written in C++, and consists of around 300,000 1215: 283:, Doxygen extracts documentation from source file comments. In addition to the Javadoc syntax, Doxygen supports the documentation tags used in the 1220: 863: 831: 823: 1109: 411:
The generic syntax of documentation comments is to start a comment with an extra asterisk after the leading comment delimiter '/*':
232: 1210: 798:(or its replacement Bison) is also used, but only for minor tasks; the bulk of language parsing is done by native C++ code. The 392:
The first version of Doxygen borrowed code from an early version of DOC++, developed by Roland Wunderling and Malte Zöckler at
24: 1235: 1205: 950: 335: 925: 367: 347: 292: 104: 442:
Many programmers like to mark the start of each line with space-asterisk-space, as follows, but that is not necessary.
351: 72: 264: 174: 930: 339: 327: 300: 841: 245: 241: 162: 694:
An alternative approach for documenting parameters is shown below. It will produce the same documentation.
393: 1230: 779: 323: 860: 157: 80: 884: 386: 783: 296: 200: 169: 145: 867: 124: 1189: 935: 799: 787: 150: 1199: 260: 1046: 1051: 1027: 1003: 790:(or its replacement Flex) is run via approximately 35,000 lines of lex script. The 284: 962: 1070: 534: 355: 249: 1146: 1091: 836: 813: 308: 253: 40: 378: 1071:"Doxygen::Filter::Perl - A perl code pre-filter for Doxygen - metacpan.org" 926:"Get With the Program: DIY tips for adding coding to your analysis arsenal" 517: 32: 1022: 906: 499:/// @param Description of method's or function's input parameter 400: 312: 998: 874:, From: Dimitri van Heesch, Date: Sun, 26 Oct 1997, Qt-interest Archive 791: 465:* @param Description of method's or function's input parameter 343: 280: 1132: 1164: 872:
Announcing: the first release of Doxygen, a C++ documentation system.
775: 566:* This program is distributed in the hope that it will be useful, but 428:@param Description of method's or function's input parameter 113: 976: 185: 16:
Free software for generating software documentation from source code
737:
Richer markup is also possible. For instance, add equations using
511: 331: 138: 23: 803: 738: 572:* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 516: 382: 304: 1117: 1056: 1032: 1008: 984: 958: 795: 557:* published by the Free Software Foundation; either version 2 of 554:* modify it under the terms of the GNU General Public License as 371: 359: 288: 551:* This program is free software; you can redistribute it and/or 396:. Later, the Doxygen code was rewritten by Dimitri van Heesch. 363: 224: 720:///< Number of milliseconds passed since Jan 1, 1970.> 569:* WITHOUT ANY WARRANTY; without even the implied warranty of 1183: 493:/// <May span multiple lines or paragraphs as needed> 218: 221: 209: 459:* <May span multiple lines or paragraphs as needed> 374:. Other languages can be supported with additional code. 521:
A screenshot of what the output would look like in HTML
425:<May span multiple lines or paragraphs as needed> 287:
and can generate output in HyperText Markup Language (
1110:"Automatic Python API documentation generation tools" 560:* the License, or (at your option) any later version. 233: 215: 212: 206: 203: 180: 168: 156: 144: 134: 103: 71: 49: 39: 702:* Constructor that sets the time to a given value. 614:* Constructor that sets the time to a given value. 662:* @return A time object set to the current time. 620:* @param timemillis is a number of milliseconds 961:). University of New Hampshire. Archived from 752:* An inline equation @f$ e^{\pi i}+1 = 0 @f$ 590:* The time class represents a moment of time. 8: 907:"Doxygen Manual: Frequently Asked Questions" 774:The Doxygen sources are currently hosted at 575:* General Public License for more details at 505:/// @return Description of the return value 1188: 123: 79: 31: 22: 18: 471:* @return Description of the return value 484:/// <A short one line description> 1133:"doxypypy: A Doxygen filter for Python" 1086: 1084: 853: 806:and also involves some Python scripts. 578:* https://www.gnu.org/copyleft/gpl.html 434:@return Description of the return value 832:Comparison of documentation generators 450:* <A short one line description> 1147:"Doxygen Manual: Graphs and diagrams" 7: 824:Free and open-source software portal 419:<A short one line description> 1167:. June 9, 2021 – via GitHub. 623:* passed since Jan 1, 1970. 265:GNU General Public License version 263:, released under the terms of the 14: 1092:"Doxygen Manual: Getting started" 924:Perkel, Jeffrey M. (2015-11-22). 816: 510:The following illustrates how a 199: 1226:Free software programmed in C++ 1216:Free computer programming tools 514:source file can be documented. 770:Doxygen source and development 490:/// <Longer description> 1: 1221:Free documentation generators 949:Sabin, Mihaela (2015-11-22). 326:supported by Doxygen include 1047:"Documentation: Objective-C" 456:* <Longer description> 293:Microsoft Compiled HTML Help 1252: 758:* A displayed equation: @f 422:<Longer description> 99: 67: 30: 21: 885:"Doxygen release 1.12.0" 866:October 4, 2011, at the 743: 696: 533:* @author John Doe < 524: 481: 444: 413: 301:Portable Document Format 1211:Cross-platform software 981:Free Software Directory 842:Static program analysis 656:* Get the current time. 242:documentation generator 163:Documentation generator 584:* @section DESCRIPTION 522: 55:; 26 years ago 1236:Software that uses Qt 1206:Code navigation tools 861:ANNOUNCE: doxygen 0.1 520: 394:Zuse Institute Berlin 377:Doxygen runs on most 324:Programming languages 86:; 36 days ago 786:, the standard tool 780:source lines of code 53:26 October 1997 1023:"Documentation: C" 545:* @section LICENSE 523: 248:tool for software 45:Dimitri van Heesch 1165:"doxygen/doxygen" 1135:– via PyPI. 938:). The Scientist. 192: 191: 1243: 1192: 1187: 1186: 1184:Official website 1169: 1168: 1161: 1155: 1154: 1143: 1137: 1136: 1128: 1122: 1121: 1106: 1100: 1099: 1088: 1079: 1078: 1067: 1061: 1060: 1043: 1037: 1036: 1019: 1013: 1012: 995: 989: 988: 973: 967: 966: 946: 940: 939: 921: 915: 914: 903: 897: 896: 894: 892: 881: 875: 858: 826: 821: 820: 819: 784:lexical analysis 765: 762: 759: 756: 753: 750: 747: 733: 730: 727: 724: 721: 718: 715: 712: 709: 706: 703: 700: 690: 687: 684: 681: 678: 675: 672: 669: 666: 663: 660: 657: 654: 651: 648: 645: 642: 639: 636: 633: 630: 627: 624: 621: 618: 615: 612: 609: 606: 603: 600: 597: 594: 591: 588: 585: 582: 579: 576: 573: 570: 567: 564: 561: 558: 555: 552: 549: 546: 543: 540: 537: 531: 528: 506: 503: 500: 497: 494: 491: 488: 485: 475: 472: 469: 466: 463: 460: 457: 454: 451: 448: 438: 435: 432: 429: 426: 423: 420: 417: 297:Rich Text Format 291:) as well as in 268: 236: 231: 230: 227: 226: 223: 220: 217: 214: 211: 208: 205: 188: 146:Operating system 127: 122: 119: 117: 115: 94: 92: 87: 83: 63: 61: 56: 35: 26: 19: 1251: 1250: 1246: 1245: 1244: 1242: 1241: 1240: 1196: 1195: 1182: 1181: 1178: 1173: 1172: 1163: 1162: 1158: 1145: 1144: 1140: 1131:Brown, Eric W. 1130: 1129: 1125: 1114:python.org wiki 1108: 1107: 1103: 1090: 1089: 1082: 1069: 1068: 1064: 1045: 1044: 1040: 1021: 1020: 1016: 999:"Documentation" 997: 996: 992: 975: 974: 970: 948: 947: 943: 923: 922: 918: 905: 904: 900: 890: 888: 887:. 7 August 2024 883: 882: 878: 868:Wayback Machine 859: 855: 850: 822: 817: 815: 812: 772: 767: 766: 763: 760: 757: 754: 751: 748: 745: 735: 734: 731: 728: 725: 722: 719: 716: 713: 710: 707: 704: 701: 698: 692: 691: 688: 685: 682: 679: 676: 673: 670: 667: 664: 661: 658: 655: 652: 649: 646: 643: 640: 637: 634: 631: 628: 625: 622: 619: 616: 613: 610: 607: 604: 601: 598: 595: 592: 589: 586: 583: 580: 577: 574: 571: 568: 565: 562: 559: 556: 553: 550: 547: 544: 541: 538: 532: 529: 526: 508: 507: 504: 502:/// @param ... 501: 498: 495: 492: 489: 486: 483: 477: 476: 473: 470: 467: 464: 461: 458: 455: 452: 449: 446: 440: 439: 436: 433: 430: 427: 424: 421: 418: 415: 409: 321: 277: 266: 246:static analysis 234: 202: 198: 184: 130: 112: 95: 90: 88: 85: 84:/ 7 August 2024 59: 57: 54: 50:Initial release 17: 12: 11: 5: 1249: 1247: 1239: 1238: 1233: 1228: 1223: 1218: 1213: 1208: 1198: 1197: 1194: 1193: 1177: 1176:External links 1174: 1171: 1170: 1156: 1151:www.doxygen.nl 1138: 1123: 1120:). 2015-11-22. 1101: 1096:www.doxygen.nl 1080: 1062: 1059:). 2015-11-22. 1038: 1035:). 2015-11-22. 1014: 1011:). 2015-11-22. 990: 987:). 2015-11-22. 968: 965:on 2015-11-23. 941: 916: 911:www.doxygen.nl 898: 876: 852: 851: 849: 846: 845: 844: 839: 834: 828: 827: 811: 808: 771: 768: 744: 697: 539:* @version 1.0 525: 482: 445: 414: 408: 405: 320: 317: 276: 273: 190: 189: 182: 178: 177: 172: 166: 165: 160: 154: 153: 151:Cross-platform 148: 142: 141: 136: 132: 131: 129: 128: 109: 107: 101: 100: 97: 96: 77: 75: 73:Stable release 69: 68: 65: 64: 51: 47: 46: 43: 37: 36: 28: 27: 15: 13: 10: 9: 6: 4: 3: 2: 1248: 1237: 1234: 1232: 1229: 1227: 1224: 1222: 1219: 1217: 1214: 1212: 1209: 1207: 1204: 1203: 1201: 1191: 1185: 1180: 1179: 1175: 1166: 1160: 1157: 1152: 1148: 1142: 1139: 1134: 1127: 1124: 1119: 1115: 1111: 1105: 1102: 1097: 1093: 1087: 1085: 1081: 1076: 1072: 1066: 1063: 1058: 1054: 1053: 1048: 1042: 1039: 1034: 1030: 1029: 1024: 1018: 1015: 1010: 1006: 1005: 1000: 994: 991: 986: 982: 978: 972: 969: 964: 960: 956: 955:OpenComputing 952: 945: 942: 937: 933: 932: 931:The Scientist 927: 920: 917: 912: 908: 902: 899: 886: 880: 877: 873: 869: 865: 862: 857: 854: 847: 843: 840: 838: 835: 833: 830: 829: 825: 814: 809: 807: 805: 801: 800:build process 797: 793: 789: 785: 781: 777: 769: 742: 740: 695: 535: 519: 515: 513: 480: 468:* @param ... 443: 412: 406: 404: 402: 397: 395: 390: 388: 384: 380: 375: 373: 369: 365: 361: 357: 353: 349: 345: 341: 337: 333: 329: 325: 318: 316: 314: 310: 306: 302: 298: 294: 290: 286: 282: 274: 272: 270: 262: 261:free software 257: 255: 251: 247: 243: 239: 238: 229: 196: 187: 183: 179: 176: 173: 171: 167: 164: 161: 159: 155: 152: 149: 147: 143: 140: 137: 133: 126: 121: 111: 110: 108: 106: 102: 98: 91:7 August 2024 82: 76: 74: 70: 66: 52: 48: 44: 42: 38: 34: 29: 25: 20: 1159: 1150: 1141: 1126: 1113: 1104: 1095: 1075:metacpan.org 1074: 1065: 1052:Rosetta Code 1050: 1041: 1028:Rosetta Code 1026: 1017: 1004:Rosetta Code 1002: 993: 980: 971: 963:the original 954: 944: 929: 919: 910: 901: 889:. Retrieved 879: 871: 856: 802:is based on 773: 736: 693: 509: 478: 441: 410: 407:Example code 398: 391: 376: 322: 278: 258: 250:source trees 194: 193: 78:1.12.0  41:Developer(s) 1231:Online help 729:// the code 683:// the code 647:// the code 431:@param ... 356:Objective-C 259:Doxygen is 1200:Categories 848:References 837:API Writer 741:commands: 717:timemillis 638:timemillis 309:PostScript 285:Qt toolkit 254:parse tree 186:doxygen.nl 135:Written in 105:Repository 60:1997-10-26 977:"Doxygen" 951:"Doxygen" 381:systems, 379:Unix-like 313:man pages 271:(GPLv2). 891:7 August 864:Archived 810:See also 401:Graphviz 237:-see-jən 120:/doxygen 118:/doxygen 936:Journal 792:parsing 530:* @file 387:Windows 344:Fortran 303:(PDF), 299:(RTF), 295:(CHM), 281:Javadoc 240:) is a 195:Doxygen 181:Website 170:License 89: ( 58: ( 782:. For 776:GitHub 668:static 605:public 385:, and 370:, and 368:Python 275:Design 267:  114:github 804:CMake 794:tool 739:LaTeX 596:class 383:macOS 305:LaTeX 279:Like 175:GPLv2 1118:Wiki 1057:Wiki 1033:Wiki 1009:Wiki 985:Wiki 959:Wiki 893:2024 796:Yacc 708:Time 671:Time 629:Time 599:Time 536:> 372:VHDL 360:Perl 352:Java 319:Uses 289:HTML 244:and 158:Type 116:.com 788:Lex 746:/** 714:int 699:/** 674:now 653:/** 635:int 611:/** 527:/** 512:C++ 496:/// 487:/// 447:/** 416:/** 364:PHP 348:IDL 332:C++ 311:or 235:DOK 139:C++ 1202:: 1149:. 1112:. 1094:. 1083:^ 1073:. 1049:. 1025:. 1001:. 979:. 953:. 928:. 909:. 870:, 764:*/ 705:*/ 689:}; 677:() 665:*/ 626:*/ 593:*/ 474:*/ 437:*/ 403:. 389:. 366:, 362:, 358:, 354:, 350:, 346:, 342:, 338:, 336:C# 334:, 330:, 315:. 307:, 225:ən 222:dʒ 1153:. 1116:( 1098:. 1077:. 1055:( 1031:( 1007:( 983:( 957:( 934:( 913:. 895:. 761:* 755:* 749:* 732:} 726:{ 723:) 711:( 686:} 680:{ 659:* 650:} 644:{ 641:) 632:( 617:* 608:: 602:{ 587:* 581:* 563:* 548:* 542:* 462:* 453:* 340:D 328:C 269:2 228:/ 219:i 216:s 213:k 210:ɒ 207:d 204:ˈ 201:/ 197:( 93:) 62:)

Index



Developer(s)
Stable release
Edit this on Wikidata
Repository
github.com/doxygen/doxygen
Edit this at Wikidata
C++
Operating system
Cross-platform
Type
Documentation generator
License
GPLv2
doxygen.nl
/ˈdɒksiən/
DOK-see-jən
documentation generator
static analysis
source trees
parse tree
free software
GNU General Public License version 2
Javadoc
Qt toolkit
HTML
Microsoft Compiled HTML Help
Rich Text Format
Portable Document Format

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.