<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>绿色记忆 &#187; VS</title>
	<atom:link href="https://blog.gmem.cc/tag/vs/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.gmem.cc</link>
	<description></description>
	<lastBuildDate>Mon, 27 Apr 2026 13:32:34 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.9.14</generator>
	<item>
		<title>Visual Studio知识集锦</title>
		<link>https://blog.gmem.cc/visual-studio-faq</link>
		<comments>https://blog.gmem.cc/visual-studio-faq#comments</comments>
		<pubDate>Mon, 17 May 2010 07:50:04 +0000</pubDate>
		<dc:creator><![CDATA[Alex]]></dc:creator>
				<category><![CDATA[C]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[VS]]></category>

		<guid isPermaLink="false">http://blog.gmem.cc/?p=3515</guid>
		<description><![CDATA[<p>IDE配置FAQ 全局配置FAQ 如何导入/导出样式主题？Theme ⇨ Customize Colors，左上角第2/3个按钮，分别执行导入/导出 如何导入/导出VS的设置？Tools ⇨ Import and Export Settings 如何清空查找（Find）历史：定位到注册表HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\Find，删除所有Find*、Replace*键值，然后重启VS 工程配置FAQ 在调试（Debug）时，如何指定命令行参数？Project ⇨ Properties ⇨ Configuration Properties⇨ Debugging，在Command Arguments中输入参数 常用插件  插件 说明  Visual <a class="read-more" href="https://blog.gmem.cc/visual-studio-faq">[...]</a></p>
<p>The post <a rel="nofollow" href="https://blog.gmem.cc/visual-studio-faq">Visual Studio知识集锦</a> appeared first on <a rel="nofollow" href="https://blog.gmem.cc">绿色记忆</a>.</p>
]]></description>
				<content:encoded><![CDATA[<div class="wri_content_clear_both"><div class="blog_h2"><span class="graybg">IDE配置FAQ</span></div>
<div class="blog_h3"><span class="graybg">全局配置FAQ</span></div>
<ol>
<li>如何导入/导出样式主题？Theme ⇨ Customize Colors，左上角第2/3个按钮，分别执行导入/导出</li>
<li>如何导入/导出VS的设置？Tools ⇨ Import and Export Settings</li>
<li>如何清空查找（Find）历史：定位到注册表HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\Find，删除所有Find*、Replace*键值，然后重启VS</li>
</ol>
<div class="blog_h3"><span class="graybg">工程配置FAQ</span></div>
<ol>
<li>在调试（Debug）时，如何指定命令行参数？Project ⇨ Properties ⇨ Configuration Properties⇨ Debugging，在Command Arguments中输入参数</li>
</ol>
<div class="blog_h3"><span class="graybg">常用插件</span></div>
<table class="fixed-word-wrap" style="width: 100%;" border="1" cellspacing="0" cellpadding="5">
<thead>
<tr>
<td style="width: 25%; text-align: center;"> 插件</td>
<td style="text-align: center;">说明 </td>
</tr>
</thead>
<tbody>
<tr>
<td>Visual Studio Color Theme Editor</td>
<td>IDE主题支持，安装后，出现菜单Theme</td>
</tr>
<tr>
<td>VSColorOutput</td>
<td>安装后在Build/Debug的输出窗口中，显示彩色文字</td>
</tr>
<tr>
<td>Visual Assist</td>
<td>增强C/C++/C#的导航、重构、代码生成、代码助手功能</td>
</tr>
<tr>
<td>Triple Click</td>
<td>类似Eclipse的三击选中正行</td>
</tr>
<tr>
<td>Move Line Command</td>
<td>类似Eclipse的Alt +Up/Down来移动当前行</td>
</tr>
<tr>
<td>Indent Guides</td>
<td>在每个缩进级别显示灰色的垂直虚线</td>
</tr>
<tr>
<td>AStyle Extension</td>
<td>代码格式化工具</td>
</tr>
<tr>
<td>Go to Definition</td>
<td>类似于Eclipse的，Ctrl+Left跳转到变量、类型的定义处</td>
</tr>
</tbody>
</table>
<div class="blog_h3"><span class="graybg">使用Eclipse风格的快捷键</span></div>
<p>对于习惯了Eclipse开发的程序员来说，改用Visual Studio快捷键相当痛苦，经常按错。我的解决办法是，<span style="background-color: #c0c0c0;">配置Options  - Environment - Keyboard</span>结合<span style="background-color: #c0c0c0;">AutoHotKey脚本</span>：</p>
<p>我修改的Visual Studio 快捷键包括：</p>
<ol>
<li>Edit.FormatDocumentAStyle = Ctrl+Shfit+F @TextEditor</li>
<li>Edit.MoveLineUp = Alt+UpArrow @TextEditor</li>
<li>Edit.MoveLineDown = Alt+DownArrow @TextEditor</li>
<li>VAssistX.NavigateBack  = Alt+LeftArrow</li>
<li>VAssistX.NavigateForward = Alt+RightArrow</li>
</ol>
<p>我使用的AutoHotKey脚本如下：</p>
<pre class="crayon-plain-tag">SetTitleMatchMode 2

;;;;;;; Keymapping for Visual Studio 2008/2010 ;;;;;;; 
#IfWinActive , Microsoft Visual Studio
#Include VisualStudioCommon.ahk
#IfWinActive

;;;;;;; Keymapping for Visual Studio 2008/2010 Debugging  ;;;;;;; 
#IfWinActive (Debugging) - Microsoft Visual Studio
F5::F11
F6::F10
F7::+F11
F8::F5
#Include VisualStudioCommon.ahk
#IfWinActive


;;;;;;; Keymapping for Chrome Developer Tools ;;;;;;; 
#IfWinActive Developer Tools
F5::F11
F6::F10
F7::+F11
^F5::F5
^l::^g
#IfWinActive</pre><br />
<pre class="crayon-plain-tag">;Eclipse Code Assist        - Edit.ListMembers
!/::SendInput ^{j}
;Eclipse Delete line        - Edit.LineDelete
^D::SendInput ^+{l}
;Eclipse Goto Line          - Edit.GoTo
^L::SendInput ^{g}
;Eclipse Goto Definition    - Edit.BriefBrowse
F3::SendInput !{g}
^LButton::
    SendInput {LButton}
    SendInput {LButton}
    SendInput !{g}
return
;Eclipse Comment line       - Edit.CommentSection
^/::
    SendInput ^{k}
    SendInput ^{c}
return
;Eclipse Uncomment line     - Edit.UncmmentSection
^+/::
    SendInput ^{k}
    SendInput ^{u}
return
;Eclipse Close Editor       - Window.CloseDocumentWindow
^W::SendInput ^{F4}
;Eclipse Open Type          - Edit.NavigateTo
^+T:: SendInput ^{,}</pre>
<div class="blog_h2"><span class="graybg">C/C++开发环境配置FAQ</span></div>
<div class="blog_h3"><span class="graybg">如何工程的默认属性</span></div>
<p>VC++工程可以的属性可以继承来的（inherited properties）。右键打开工程属性，粗体的部分是在当前工程的.vcxproj文件中定义的，而非粗体的则从<span style="background-color: #c0c0c0;">其它文件继承</span>得到，这些文件被称为 <span style="background-color: #c0c0c0;">Property Sheets</span>，属性集中配置的工程属性会自动导入到目标工程中。</p>
<p>在View ⇨ Other Windows ⇨ Property Manager中，可以看到工程用到的Property Sheets。注意图标<img class="aligncenter size-full wp-image-10867 inlineBlock" src="https://blog.gmem.cc/wp-content/uploads/2010/05/property-sheet-readolny.jpg" alt="property-sheet-readolny" width="21" height="18" />表示该Sheet是构建系统自带、只读的。<img class="aligncenter size-full wp-image-10869 inlineBlock" src="https://blog.gmem.cc/wp-content/uploads/2010/05/property-sheet.jpg" alt="property-sheet" width="19" height="15" />则意味着该Sheet可以修改，你可以在其中设置属性，供VC++工程继承。 </p>
<div class="blog_h3"><span class="graybg">如何编译64位（x86_64）应用程序</span></div>
<p>定位到<pre class="crayon-plain-tag">Build - Configuration Manager</pre> ，在弹出的对话框中，<pre class="crayon-plain-tag">Platform</pre> 列下拉菜单选择<pre class="crayon-plain-tag">x64</pre> ，如果没有x64，则点击<pre class="crayon-plain-tag">&lt;New...&gt;</pre> 新建。完成这一修改后，VS会调用合适的编译器进行构建。</p>
<div class="blog_h3"><span class="graybg">如何指定头文件包含和依赖库的位置</span></div>
<p>工程根目录上点击右键  Properties - Configuration Properties，参下表分别设置：</p>
<table style="width: 100%;" border="1" cellspacing="0" cellpadding="5">
<thead>
<tr>
<td style="text-align: center;">项目 </td>
<td style="text-align: center;">步骤 </td>
</tr>
</thead>
<tbody>
<tr>
<td style="width: 150px;">头文件包含目录</td>
<td>展开 C/C++ - General - Additional Include Directories ，添加需要的目录</td>
</tr>
<tr>
<td>库文件目录</td>
<td>展开 Linker - General - Additional Library Directories ，添加需要的目录</td>
</tr>
<tr>
<td>依赖库</td>
<td>展开 Linker - General - Input - Additional Dependencies，添加依赖库，注意lib后缀</td>
</tr>
</tbody>
</table>
<div class="blog_h2"><span class="graybg">常见问题</span></div>
<div class="blog_h3"><span class="graybg">启动后，打开编辑器报错：An exception has been encountered, this may be caused by an extension</span></div>
<p>保存信息：Microsoft.VisualStudio.Text.Editor.Implementation.WpfTextView...</p>
<p>解决办法：禁用扩展VAssistX，重启后，再次启用解决。</p>
<div class="blog_h3"><span class="graybg">构建DLL时，不生成对应的lib导入库</span></div>
<p>如果代码中没有任何函数/数据被导出，则不会生成lib</p>
<div class="blog_h3"><span class="graybg">LINK1123: failure during conversion to COFF: file invalid or corrupt</span></div>
<p>该问题可能和增量链接功能有关，可以关闭：Linker - General - Enable Incremental Linking 设置为NO</p>
<p>另外，可以查找VS安装目录下的文件：VC\bin\cvtres.exe、VC\bin\amd64\cvtres.exe，如果报错无法运行，说明这两个文件损坏，可以到你安装.NET framework 4.x的目录中拷贝过来，即可解决此问题</p>
<div class="blog_h2"><span class="graybg">常用命令</span></div>
<div class="blog_h3"><span class="graybg">CL命令</span></div>
<p>要想通过命令行进行编译、链接，需要把<pre class="crayon-plain-tag">%VS_HOME%\Common7\IDE</pre> 附加到PATH环境变量中。</p>
<p>CL命令位于<pre class="crayon-plain-tag">%VS_HOME%VC\bin</pre> 目录及其子目录中，区别如下：</p>
<table class="fixed-word-wrap" style="width: 100%;" border="1" cellspacing="0" cellpadding="5">
<thead>
<tr>
<td style="width: 30%; text-align: center;">CL文件</td>
<td style="text-align: center;">说明</td>
</tr>
</thead>
<tbody>
<tr>
<td>cl.exe</td>
<td>编译32位的应用程序</td>
</tr>
<tr>
<td>amd64\cl.exe</td>
<td>编译64位的应用程序 </td>
</tr>
<tr>
<td>x86_amd64\cl.exe</td>
<td>如果当前系统为x86架构，用于交叉编译出x86_64的应用程序</td>
</tr>
</tbody>
</table>
<p>CL命令的常用选项如下：</p>
<table class="fixed-word-wrap" style="width: 100%;" border="1" cellspacing="0" cellpadding="5">
<thead>
<tr>
<td style="width: 30%; text-align: center;">选项</td>
<td style="text-align: center;">说明 </td>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: center;" colspan="2"><strong>优化选项</strong></td>
</tr>
<tr>
<td>/O1 </td>
<td>最小空间占用</td>
</tr>
<tr>
<td>/O2</td>
<td>最大运行速度 </td>
</tr>
<tr>
<td>/Ob{0|1|2}</td>
<td>控制内联函数的展开：0禁止展开；1标记为 inline, __inline, __forceinline的函数展开；2除了1以外，编译器可以自动展开其选择的函数</td>
</tr>
<tr>
<td>/Od</td>
<td>禁止优化</td>
</tr>
<tr>
<td>/Og </td>
<td>启用全局优化 </td>
</tr>
<tr>
<td>/Ox</td>
<td>最大优化</td>
</tr>
<tr>
<td style="text-align: center;" colspan="2"><strong>代码生成</strong>  </td>
</tr>
<tr>
<td>/GF</td>
<td>启用只读字符串池 </td>
</tr>
<tr>
<td>/GR[-]</td>
<td>启用C++ RTTI</td>
</tr>
<tr>
<td>/EHa</td>
<td>
<p>异常处理模型（exception-handling model）同时捕获异步（Structured Exceptions，SEH）和同步（C++）异常</p>
<p>SEH是Unix信号的Win32等价物，即OS级别的异常；相对的C++异常是User级别的异常</p>
</td>
</tr>
<tr>
<td>/EHs</td>
<td>异常处理模型仅捕获C++异常，并且告知编译器假设<pre class="crayon-plain-tag">extern "C"</pre> 函数可能抛出异常</td>
</tr>
<tr>
<td>/EHsc</td>
<td>异常处理模型仅捕获C++异常，并且告知编译器假设<pre class="crayon-plain-tag">extern "C"</pre> 函数不会抛出异常</td>
</tr>
<tr>
<td>/RTC1</td>
<td>等价于/RTCsu</td>
</tr>
<tr>
<td>/RTCc</td>
<td>当变量被赋值给较小的数据类型并导致数据丢失时报告</td>
</tr>
<tr>
<td>/RTCs</td>
<td>启用栈帧运行时检查</td>
</tr>
<tr>
<td>/RTCu</td>
<td>当变量在未初始化的情况下被使用时，报告</td>
</tr>
<tr>
<td>/Gd</td>
<td>__cdecl调用约定</td>
</tr>
<tr>
<td>/Gr</td>
<td>__fastcall调用约定</td>
</tr>
<tr>
<td>/Gz</td>
<td> __stdcall调用约定</td>
</tr>
<tr>
<td>/GZ</td>
<td>启用栈检查</td>
</tr>
<tr>
<td>/arch:&lt;SSE|SSE2|AVX&gt;</td>
<td>指定最小的CPU架构需求</td>
</tr>
<tr>
<td style="text-align: center;" colspan="2"><strong>输出文件</strong></td>
</tr>
<tr>
<td>/Fa[file]</td>
<td>汇编列表文件</td>
</tr>
<tr>
<td>FA[scu]</td>
<td>配置汇编列表</td>
</tr>
<tr>
<td>/Fd[file]</td>
<td>.PDB文件。自动传递<span style="color: #2a2a2a;"> /PDB:file给LINK</span></td>
</tr>
<tr>
<td>/Fe&lt;file&gt;</td>
<td>可执行文件。自动传递<span style="color: #2a2a2a;"> /OUT:file给LINK</span></td>
</tr>
<tr>
<td>/Fm[file]</td>
<td>Map文件。自动传递<span style="color: #2a2a2a;"> /MAP:file给LINK</span></td>
</tr>
<tr>
<td>/Fo&lt;file&gt;</td>
<td>.obj文件</td>
</tr>
<tr>
<td>FR[file]</td>
<td>扩展的.sbr文件</td>
</tr>
<tr>
<td>/Fi[file]</td>
<td>预处理后的文件</td>
</tr>
<tr>
<td style="text-align: center;" colspan="2"><strong>预处理</strong></td>
</tr>
<tr>
<td>/AI&lt;dir&gt;</td>
<td>添加目录到汇编搜索路径</td>
</tr>
<tr>
<td>/E</td>
<td>仅预处理，不编译或链接，输出到stdout，/P类似，输出到文件</td>
</tr>
<tr>
<td>/C</td>
<td>不删除注释</td>
</tr>
<tr>
<td>/D&lt;name&gt;{=|#}&lt;text&gt;</td>
<td>定义宏</td>
</tr>
<tr>
<td>/U&lt;name&gt;</td>
<td>移除预定义宏</td>
</tr>
<tr>
<td>/u</td>
<td>移除所有预定义宏</td>
</tr>
<tr>
<td>/I&lt;dir&gt;</td>
<td>添加目录到头文件搜索路径</td>
</tr>
<tr>
<td style="text-align: center;" colspan="2"><strong>语言</strong></td>
</tr>
<tr>
<td>/Zi</td>
<td>启用Debug信息，生成一个程序数据库(PDB)，其中包含供调试器使用的类型信息和符号化调试信息。自动传递/DEBUG给LINK</td>
</tr>
<tr>
<td>/Z7</td>
<td>启用旧式Debug信息，生成包含了用于调试器的完整符号信息（变量类型、名称、函数、行号）的.obj文件，不生成任何.pdb文件。自动传递/DEBUG给LINK</td>
</tr>
<tr>
<td>/Zp[n]</td>
<td>使结构体n字节对齐</td>
</tr>
<tr>
<td>/Za</td>
<td>禁止语言扩展。如果代码与ANSI C或ANSI C++不兼容将报错</td>
</tr>
<tr>
<td>/Ze</td>
<td>启用语言扩展（默认）</td>
</tr>
<tr>
<td>/Zl</td>
<td>在.obj中省略默认库的名称</td>
</tr>
<tr>
<td>/ZI</td>
<td>采用支持“编辑并继续”功能的格式生成PDB</td>
</tr>
<tr>
<td style="text-align: center;" colspan="2"><strong>链接</strong></td>
</tr>
<tr>
<td>/LD</td>
<td>创建DLL。自动传递/DLL给LINK</td>
</tr>
<tr>
<td>/LDd</td>
<td>创建DLL Debug库。自动传递/DLL给LINK</td>
</tr>
<tr>
<td>/F&lt;num&gt;</td>
<td>设置栈大小自动传递/STACK:num给LINK</td>
</tr>
<tr>
<td>/link </td>
<td>给连接器传递额外选项。CL会自动调用LINK，除非指定/c</td>
</tr>
<tr>
<td>/MD</td>
<td>与动态CRT库MSVCRT.LIB链接。本选项和紧接着的3个选项，会在.obj中设置默认库的名称，供LINK读取</td>
</tr>
<tr>
<td>/MDd</td>
<td>与动态CRT库MSVCRT.LIB的Debug库链接。自动定义符号_DEBUG</td>
</tr>
<tr>
<td>/MT</td>
<td>与静态CRT库LIBCMT.LIB链接</td>
</tr>
<tr>
<td>/MTd</td>
<td>与静态CRT库LIBCMT.LIB的Debug库链接。自动定义符号_DEBUG</td>
</tr>
<tr>
<td style="text-align: center;" colspan="2"><strong>杂项</strong></td>
</tr>
<tr>
<td>@&lt;file&gt;</td>
<td>从文件中读取选项</td>
</tr>
<tr>
<td>/c</td>
<td>只编译不链接</td>
</tr>
<tr>
<td>/J</td>
<td>默认使用无符号的char类型</td>
</tr>
<tr>
<td>/MP[n]</td>
<td>最多使用n个线程并行编译</td>
</tr>
<tr>
<td>/TC</td>
<td>把所有文件作为C编译</td>
</tr>
<tr>
<td>/TP</td>
<td>把所有文件作为C++编译</td>
</tr>
<tr>
<td>/V&lt;string&gt;</td>
<td>设置版本字符串</td>
</tr>
<tr>
<td>/w</td>
<td>禁止所有警告</td>
</tr>
<tr>
<td>/Wall</td>
<td>启用所有警告</td>
</tr>
<tr>
<td>/Yd</td>
<td>在每个.obj文件中存放Debug信息</td>
</tr>
<tr>
<td>/Y-</td>
<td>禁止所有PCH选项</td>
</tr>
</tbody>
</table>
<div class="blog_h3"><span class="graybg">LINK命令</span></div>
<p>与CL类似，LINK也有32/64/交叉编译版本。LINK常用选项如下：</p>
<table class="fixed-word-wrap" style="width: 100%;" border="1" cellspacing="0" cellpadding="5">
<thead>
<tr>
<td style="width: 30%; text-align: center;">选项 </td>
<td style="text-align: center;">说明 </td>
</tr>
</thead>
<tbody>
<tr>
<td>@filename</td>
<td>从文件读取链接选项</td>
</tr>
<tr>
<td>/ALIGN</td>
<td>程序的线性地址空间中每个段（Section）对齐的字节数，必须是2^n次方，默认4KB。除非编写类似驱动之类的软件，不需要设置</td>
</tr>
<tr>
<td>/BASE </td>
<td>
<p>/BASE:{address[,size] | @filename,key}</p>
<p>为程序设置一个基地址（Base address），覆盖默认基地址设置（.exe为0x400000；.DLL为0x10000000）。如果address不是64K的倍数，链接器报错</p>
</td>
</tr>
<tr>
<td>/DEBUG</td>
<td>为DLL或者exe创建调试信息，调试信息存放在.pdb文件中</td>
</tr>
<tr>
<td>/DEF:filename</td>
<td>给链接器传递一个模块定义文件（Module-Definition File，.def），此文件为连接器提供被链接程序的导出、属性、和其它信息</td>
</tr>
<tr>
<td>/DEFAULTLIB:library</td>
<td>添加一个库到库列表，链接器解析引用时将顺序搜索该列表。该库将存放在命令行指定的库的后面，在.obj中指定的默认库的前面</td>
</tr>
<tr>
<td>/DLL</td>
<td>
<p>构建一个DLL作为主要输出文件。DLL通常包含供其它程序使用的导出（exports），有三种方式指定导出：</p>
<ol>
<li>在源代码中声明<pre class="crayon-plain-tag">__declspec(dllexport)</pre> </li>
<li>在模块定义文件.def中声明EXPORTS </li>
<li>提供连接选项/EXPORT</li>
</ol>
<p>在VS界面中，可以设置项目属性：Configuration Properties - General - Configuration Type，指定构建DLL</p>
</td>
</tr>
<tr>
<td>/DRIVER</td>
<td>创建Windows NT内核模式的驱动 </td>
</tr>
<tr>
<td>/ENTRY:function</td>
<td>
<p>指定用户定义的入口点函数，入口点函数指定的DLL/exe的起始地址。该函数必须遵守__stdcall调用阅读，参数/返回值依赖于程序类型（控制台/窗口/DLL）。</p>
<p>最好由链接器自动指定入口点，以便正确的初始化C运行时库</p>
</td>
</tr>
<tr>
<td>/EXPORT </td>
<td>
<p>/EXPORT:entryname[,@ordinal[,NONAME]][,DATA]</p>
<p>导出函数或者数据，供其它程序使用。entryname指定函数/数据的名称，该名称被调用者使用；ordinal指定函数/数据在导出表（exports tables）中的序号，1-65535之间，默认1；NONAME指示不使用入口点名称，只使用序号；DATA指示导出的是数据而不是函数</p>
</td>
</tr>
<tr>
<td>/FIXED[:NO]</td>
<td>强制OS从程序期望的基地址加载，如果失败，则不会加载</td>
</tr>
<tr>
<td>/HEAP:reserve[,commit]</td>
<td>设置堆的大小，仅对exe有意义</td>
</tr>
<tr>
<td>/IMPLIB:filename</td>
<td>覆盖链接器创建的导入库 （.lib）中的默认名称</td>
</tr>
<tr>
<td>/INCLUDE:symbol</td>
<td>指定需要加入到符号表中的符号。如果要添加多个符号，可以指定该选项多次</td>
</tr>
<tr>
<td>/INCREMENTAL</td>
<td>以增量方式链接</td>
</tr>
<tr>
<td>/LARGEADDRESSAWARE </td>
<td>提示链接器，程序能够处理大于2GB的地址</td>
</tr>
<tr>
<td>/LIBPATH</td>
<td>指定搜索库的路径，这些路径优先在LIB环境变量前搜索</td>
</tr>
<tr>
<td>/MACHINE</td>
<td>
<p>/MACHINE:{ARM|EBC|IA64|MIPS|MIPS16|MIPSFPU|MIPSFPU16| SH4|THUMB|X64|X86} </p>
<p>指定构建的程序在何种架构下运行</p>
</td>
</tr>
<tr>
<td>/MAP[:filename]</td>
<td>
<p>提示链接器创建一个MAP文件，该文件包含关于被链接程序的下列信息：</p>
<ol>
<li>模块名，即文件的base name</li>
<li>来自程序文件头的时间戳</li>
<li>程序中groups的列表，包括组起始地址、长度、组名称、类</li>
<li>程序中公共符号的列表，包括符号名称、flat地址、定义符号的.obj文件</li>
<li>入口点</li>
</ol>
</td>
</tr>
<tr>
<td>/MAPINFO:EXPORTS</td>
<td>提示MAP中包含导出的函数信息</td>
</tr>
<tr>
<td>/NODEFAULTLIB[:library] </td>
<td>列出解析外部引用时需要忽略的库</td>
</tr>
<tr>
<td>/NOENTRY</td>
<td>创建一个仅包含资源的DLL</td>
</tr>
<tr>
<td>/OPT</td>
<td>控制链接器的优化动作</td>
</tr>
<tr>
<td>/OUT:filename</td>
<td>指定链接输出文件的名称</td>
</tr>
<tr>
<td>/PDB:filename</td>
<td>指定PDB文件的名称</td>
</tr>
<tr>
<td>/PDBALTPATH</td>
<td>指定PDB文件的存放路径 </td>
</tr>
<tr>
<td>/STACK:reserve[,commit]</td>
<td>指定栈的大小</td>
</tr>
<tr>
<td>/SUBSYSTEM</td>
<td>
<p>/SUBSYSTEM:{CONSOLE|WINDOWS)</p>
<p>指定可执行程序的运行环境</p>
</td>
</tr>
<tr>
<td>/VERBOSE</td>
<td>打印链接进度的详细信息</td>
</tr>
<tr>
<td>/VERSION:major[.minor]</td>
<td>在PE文件头添加版本号信息</td>
</tr>
<tr>
<td>/WX</td>
<td>把链接警告作为错误看待</td>
</tr>
</tbody>
</table>
</div><p>The post <a rel="nofollow" href="https://blog.gmem.cc/visual-studio-faq">Visual Studio知识集锦</a> appeared first on <a rel="nofollow" href="https://blog.gmem.cc">绿色记忆</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://blog.gmem.cc/visual-studio-faq/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
