`
ah_fu
  • 浏览: 227924 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

小小研究一下VC编译器cl.exe的文档生成功能

阅读更多
    俺电脑上装的VS2005,一次查cl.exe的帮助文档的时候,发现里面有个/doc的选项,可以将注释生成文档。于是小小测试了一下:
   cl.exe /doc"obj/MyClass.xdc"  /Fo"obj/MyClass.obj" src/MyClass.cpp

   源码里面以///开始的注释后的内容都会被提取出来当成文档,具体的标识与C#相同,如:
/// <summary>
/// 作为文档的注释
/// </summary>
class MyClass
{

};

   生成的xdc文件实际上是一个utf-8编码的XML文件,可以使用xdcmake.exe 将xdc文件编译成XML文件:
xdcmake.exe /out:"MyClass.xml" MyClass.xdc
   编译后的XML文件也是UTF-8编码的,而且内容和XDC文件几乎一致(好像只是顺序换了一下,搞这个编译似乎没什么意义)。

   相信用NDOC之类的工具能够把XML转换成CHM文件。

   和DOXYGEN比起来,cl.exe的文档生成功能有如下特点:
1、标记格式与C#一致,做过.NET的程序员应该会很喜欢;但是标记的数量和DoxyGen相比就差远了;
2、文档生成工具居然把C++的类型转换成了C#的类型!!!看来这个功能只是从C#的编译器顺手牵羊拿过来用的,根本不是为C++两声定做的。

    仍然支持DoxyGen,免费打广告一次。
 
分享到:
评论

相关推荐

    剖析VC编译器及nmake.doc

    cl.exe是VC编译器的核心组件,它的全称是“compile-link executor”,负责编译C++源代码并生成目标文件(.obj文件)。此外,cl.exe还可以将多个目标文件链接成一个可执行文件(.exe文件),因此它兼具了编译器和链接...

    VC命令行编译C++.pdf

    《VC命令行编译C++.pdf》文档主要介绍了如何在Visual C++的命令行环境下编译C++程序,包括编译器cl.exe和连接器mlink.exe的使用,以及各种编译参数和选项的详细说明。以下是对这些内容的详细解释: 1. **编译过程**...

    VS2012编译环境(无IDE)

    - **编译**:编译器cl.exe将预处理后的源代码转换为中间语言(.obj文件),这是汇编语言级别的表示,包含了机器码和元数据。 - **链接**:链接器link.exe将多个.obj文件合并,解决外部符号引用,生成最终的可执行...

    命令行编译器的文档需要请下

    2. **定位到cl.exe所在目录**:使用`cd`命令切换到包含cl.exe的目录。 3. **编译源代码**:使用`cl`命令加上相应的参数进行编译。例如,编译名为`hello.c`的C语言程序可以使用`cl hello.c`。 4. **链接程序**:如果...

    C和C++的开发工具

    7. **编译器和链接器**:Visual C++的编译器(cl.exe)和链接器(link.exe)是基于MSVC(Microsoft Visual C++ Compiler)的,它们负责将源代码转换为可执行文件。编译器支持优化选项,可以生成高性能的机器码。 8....

    VCtoolkit 2003下载及用法

    这将会生成一个名为`demo.exe`的可执行文件。 - **运行程序**:直接在命令行中输入`demo`运行程序,程序将输出:“This is a demonstration!”。 #### 四、总结 VCtoolkit 2003虽然现在已经比较陈旧,但在当时...

    vc6cnlsfull_33LC.com.rar

    2. **编译器和链接器**:如cl.exe和link.exe,它们分别负责编译和链接源代码。 3. **库文件**:包括标准C库、Windows API库等,供程序调用。 4. **设置和配置文件**:帮助软件适应不同的操作系统环境。 5. **文档和...

    c++_libxml解析xml.doc

    2. 使用编译器选项告诉编译器 cl.exe 头文件的位置,并用链接器选项告诉链接器 link.exe 库文件的位置,同时在 Windows 环境变量 Path 中添加 libxml2 中 bin 文件夹的位置,以便于程序运行时可以找到 dll。...

    VC6的完整编译工程与结果

    编译过程中,VC6会根据项目配置调用C++编译器(cl.exe)和链接器(link.exe),生成可执行文件或动态/静态库。如果ekhtmlbuild是一个独立的构建系统,那么可能还需要运行特定的脚本来驱动这个过程。 在分析和使用这...

    vc 98 绿色完整版

    1. **编译器和链接器**:这是C++开发的核心部分,包括CL.exe编译器和LINK.exe链接器,它们将源代码转换为可执行文件或动态链接库(DLL)。 2. **集成开发环境(IDE)**:提供了一个统一的工作区,用户可以在这里...

    vc6精简版[中文版].rar

    3. **预处理器、编译器和链接器**:VC6包含了C++的预处理器cpp,编译器cl,以及链接器link,它们是构建可执行文件的必备组件。 4. **调试器**:强大的调试器支持断点、单步执行、变量监视等功能,有助于定位和修复...

    VC软件及无法运行解决方案.zip

    3. **环境变量设置**:确保`PATH`环境变量包含了VC++ 6.0的编译器路径,这样可以在命令行中直接调用`cl.exe`等编译工具。 **常见问题与解决方案** 1. **运行错误**:有时启动VC++ 6.0时会出现“无法找到msvcrt.dll...

    vc++2005 完整版类库/编绎器

    例如,`msvcr80.dll`是C运行时库,`cl.exe`是C++编译器,`link.exe`是链接器,这些都在此目录下。 2. **atlmfc** - ATL(Active Template Library)是一个C++库,用于简化COM(Component Object Model)组件的开发...

    vc++6.0 编译软件

    2. **编译**:编译器(cl.exe)将.i文件转化为汇编语言,生成.obj目标文件。 3. **链接**:链接器(link.exe)将.obj文件与库文件合并,生成可执行文件。 **五、SP6补丁** 1. **Service Pack 6**:是VC++ 6.0的一个...

    使用命令提示符编译WIN32应用程序-REPOST

    在VC6中,我们可以使用`cl.exe`命令行编译器。`cl.exe`是Microsoft的C/C++编译器,它接受一系列参数,例如源代码文件、包含目录、库目录、链接器选项等。例如,编译一个名为`main.cpp`的源文件,可以使用以下命令: ...

    VC98_mini.zip_界面编程_C/C++__界面编程_C/C++_

    在VC98中,编译器(cl.exe)、链接器(link.exe)和其他开发工具的可执行文件会在这个目录下。 6. **Lib**:这个目录包含了库文件,如.lib,它们是预编译的代码模块,可以在链接阶段用以构建最终的可执行文件。这些...

    matlab与ccs连接

    - Compiler:设置为CCS的C编译器路径,如`D:/ti/ccsv5/tools/compiler/c2000_6.2.0/bin/cl2000`,并添加包含目录`-I"D:/ti/ccsv5/tools/compiler/c2000_6.2.0/include"`。 - Linker:同样设置为C编译器路径,但...

    c++primer学习心得

    - **命令行编译**:在命令行环境下使用编译器(例如 `cl`)来编译源代码文件(如 `1.cpp`),生成可执行文件。例如: ```bash F:\VC\080723\1\1&gt;cl -GX 1.cpp ``` 其中 `-GX` 是一个编译选项,具体含义需查看...

Global site tag (gtag.js) - Google Analytics