{"id":59,"date":"2011-05-27T10:31:07","date_gmt":"2011-05-27T02:31:07","guid":{"rendered":"https:\/\/www.sulabs.net\/?p=59"},"modified":"2017-01-09T10:34:50","modified_gmt":"2017-01-09T02:34:50","slug":"intel-c-%e7%bc%96%e8%af%91%e5%99%a811-1-%e4%b8%ad%e6%96%87%e6%96%87%e6%a1%a3%e4%b8%8d%e5%ae%8c%e5%85%a8%e7%bf%bb%e8%af%91","status":"publish","type":"post","link":"https:\/\/www.sulabs.net\/?p=59","title":{"rendered":"Intel C++ \u7f16\u8bd1\u566811.1 \u4e2d\u6587\u6587\u6863(\u4e0d\u5b8c\u5168\u7ffb\u8bd1)"},"content":{"rendered":"<p>\u65e9\u671f\u5728\u5c1d\u8bd5icc \u7f16\u8bd1\u5668\u6d4b\u8bd5\u65f6\u987a\u4fbf\u5c06\u82f1\u6587\u6587\u6863\u505a\u4e86\u90e8\u5206\u4e2d\u6587\u7ffb\u8bd1\uff0c\u672f\u8bed\u592a\u5f3a\uff0c\u90e8\u5206\u7ffb\u8bd1\u4e5f\u4e0d\u80fd\u4fdd\u969c\u51c6\u786e\u6027\uff0c\u5c06\u5c31\u770b\u770b\u5427\u3002<\/p>\n<p>Intel(R) C++ \u7f16\u8bd1\u566811.1 \u4e2d\u6587\u5e2e\u52a9\u6587\u6863<br \/>\n=================================<!--more--><\/p>\n<p>\u7528\u6cd5: icc [\u9009\u9879] \u6587\u4ef61 [\u6587\u4ef62...]<br \/>\nicpc [\u9009\u9879] \u6587\u4ef61 [\u6587\u4ef62...]<\/p>\n<p>\u8fd9\u4e9b\u53c2\u6570\u53ef\u4ee5\u4e3a\u7a7a\u6216\u5176\u5b83\u7f16\u8bd1\u9009\u9879<\/p>\n<p>\u6587\u4ef6(N) \u53ef\u4ee5\u662f C\/C++ \u6e90\u4ee3\u7801\u6587\u4ef6(\u4f8b\u5982 .C .c .cc .cpp .cxx .c++ .i .ii)\uff0c<br \/>\n\u96c6\u5408 (.s .S), \u5bf9\u8c61 (.o), \u9759\u6001\u5e93 (.a), \u6216\u8005\u5176\u5b83\u8fde\u63a5\u6587\u4ef6<\/p>\n<p>The icpc command uses the same compiler options as the icc<br \/>\nicpc \u547d\u4ee4\u7684\u4f7f\u7528\u4e0eicc \u7f16\u8bd1\u9009\u9879\u76f8\u540c<\/p>\n<p>command.\u00a0 Invoking the compiler using icpc compiles .c and .i files<br \/>\n\u53ef\u4ee5\u8c03\u7528icpc \u7f16\u8bd1\u5668\u6765\u7f16\u8bd1 .c \u548c .i \u6587\u4ef6\u4e3ac++\u3002<\/p>\n<p>as C++.\u00a0 Invoking the compiler using icc compiles .c and .i files as<br \/>\n\u8c03\u7528icc \u7f16\u8bd1\u5668\u6765\u7f16\u8bd1.c \u548c .i \u6587\u4ef6\u4e3a C<\/p>\n<p>C.\u00a0 Using icpc always links in C++ libraries.\u00a0 Using icc only<br \/>\n\u4f7f\u7528icpc \u7f16\u8bd1\u5668\u5fc5\u987b\u8fde\u63a5C++ \u5e93\uff0c\u4f7f\u7528icc \u7f16\u8bd1\u5668\u53ea\u9700\u8981\u5728\u547d\u4ee4\u884c\u4e0b<br \/>\nlinks in C++ libraries if C++ source is provided on the command line.<br \/>\n\u8fde\u63a5 C++ \u5e93\u548c\u63d0\u4f9bC++\u6e90\u4ee3\u7801<br \/>\nCommonly used options may be placed in the icc .cfg file.<br \/>\n\u5e38\u7528\u7684\u9009\u9879\u53ef\u80fd\u4f1a\u5b58\u653e\u5728 icc.cfg \u6587\u4ef6\u91cc<\/p>\n<p>Some options listed are only available on a specific system<br \/>\n\u4e00\u4e9b\u5217\u51fa\u7684\u9009\u9879\u53ea\u9002\u7528\u4e8e\u7279\u5b9a\u7684\u7cfb\u7edf<br \/>\ni32\u00a0\u00a0\u00a0 indicates the feature is available on systems based on IA-32<br \/>\narchitecture<br \/>\n\u8bf4\u660e\u8be5\u529f\u80fd\u53ea\u80fd\u7528\u572832\u4f4d\uff08IA-32\uff09\u6784\u67b6\u7684\u7cfb\u7edf\u4e0a\u9762<\/p>\n<p>i64em\u00a0 indicates the feature is available on systems using Intel(R) 64<br \/>\narchitecture<br \/>\n\u8bf4\u660e\u8be5\u529f\u80fd\u53ea\u80fd\u7528\u5728\u82f1\u7279\u5c1464\u4f4d\u6784\u67b6\u7684\u7cfb\u7edf\u4e0a\u9762<\/p>\n<p>\u7f16\u8bd1\u53c2\u6570\u5217\u8868<br \/>\n--------------------<\/p>\n<p>\u4f18\u5316\u53c2\u6570<br \/>\n------------<\/p>\n<p>-O1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 optimize for maximum speed, but disable some optimizations which<br \/>\nincrease code size for a small speed benefit<br \/>\n\u5bf9\u901f\u5ea6\u8fdb\u884c\u6700\u5927\u4f18\u5316\uff0c\u4f46\u4f1a\u7981\u7528\u4e00\u4e9b\u4ee3\u7801\u4f53\u79ef\u4f18\u5316\u6765\u6362\u53d6\u901f\u5ea6\u63d0\u9ad8<\/p>\n<p>-O2\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 optimize for maximum speed (DEFAULT)<br \/>\n\u5bf9\u901f\u5ea6\u8fdb\u884c\u6700\u5927\u4f18\u5316(\u9ed8\u8ba4)<\/p>\n<p>-O3\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 optimize for maximum speed and enable more aggressive optimizations<br \/>\nthat may not improve performance on some programs<br \/>\n\u5bf9\u901f\u5ea6\u8fdb\u884c\u6700\u5927\u4f18\u5316\u5e76\u5f00\u542f\u9ad8\u7ea7\u4f18\u5316\uff0c\u5bf9\u90e8\u5206\u7a0b\u5e8f\u6027\u80fd\u53ef\u80fd\u65e0\u6cd5\u63d0\u9ad8<\/p>\n<p>-O\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 same as -O2<br \/>\n\u548c -O2 \u76f8\u540c<\/p>\n<p>-Os\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 enable speed optimizations, but disable some optimizations which<br \/>\nincrease code size for small speed benefit<br \/>\n\u5f00\u542f\u901f\u5ea6\u4f18\u5316\uff0c\u4f46\u4f1a\u7981\u7528\u4e00\u4e9b\u4ee3\u7801\u4f53\u79ef\u4f18\u5316\u6765\u6362\u53d6\u901f\u5ea6\u63d0\u9ad8<\/p>\n<p>-O0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 disable optimizations<br \/>\n\u7981\u7528\u4f18\u5316<\/p>\n<p>-fast\u00a0\u00a0\u00a0\u00a0 enable -xHOST -O3 -ipo -no-prec-div -static<br \/>\noptions set by -fast cannot be overridden with the exception of<br \/>\n-xHOST, list options separately to change behavior<br \/>\n\u7528-fast \u53ef\u540c\u65f6\u5f00\u542f -xHOST -O3 -ipo -no-prec-div -static \u9009\u9879\uff0c\u4f46\u4e0d\u80fd<br \/>\n\u548c-xHOST \u5171\u7528\uff0c\u5426\u5219\u5217\u51fa\u7684\u9009\u9879\u5c06\u72ec\u7acb\u4f7f\u7528<br \/>\n-fno-alias<br \/>\nassume no aliasing in program<br \/>\n\u4e0d\u91c7\u7528\u4ee3\u7801\u6df7\u6dc6(\u7528\u4e8e\u4fdd\u62a4\u4ee3\u7801\uff0c\u9632\u53cd\u7f16\u8bd1)<br \/>\n-fno-fnalias<br \/>\nassume no aliasing within functions, but assume aliasing across calls<br \/>\n\u4e0d\u91c7\u7528\u5185\u90e8\u51fd\u6570\u6df7\u6dc6\uff0c\u53ea\u6df7\u6dc6\u5916\u90e8\u8c03\u7528 \uff1f\uff1f\uff1f<br \/>\n-f[no-]builtin<br \/>\ndisable inline expansion of intrinsic functions<br \/>\n\u7981\u7528\u56fa\u6709\u51fd\u6570\u5728\u5185\u90e8\u6269\u5c55<br \/>\n-fno-builtin-&lt;func&gt;<br \/>\ndisable the &lt;func&gt; intrinsic<br \/>\n\u7981\u7528\u5185\u5efa\u51fd\u6570 &lt;\u51fd\u6570\u540d&gt;<br \/>\n-ffunction-sections<br \/>\nseparate functions for the linker (COMDAT)<br \/>\n\u5206\u79bb\u8fde\u63a5\u5668\u51fd\u6570<br \/>\n-fdata-sections<br \/>\nsame as -ffunction-sections<br \/>\n\u548c -ffunction-sections \u76f8\u540c<br \/>\n-nolib-inline<br \/>\ndisable inline expansion of intrinsic functions<br \/>\n\u7981\u7528 \u56fa\u6709\u51fd\u6570\u7684\u5185\u8054\u5c55\u5f00<\/p>\n<p>Code Generation<br \/>\n\u4ee3\u7801\u751f\u6210<br \/>\n---------------<\/p>\n<p>-x&lt;code1&gt;[,&lt;code2&gt;,...]<br \/>\ngenerate specialized code to run exclusively on processors<br \/>\nindicated by &lt;code&gt; as described below<br \/>\n\u751f\u6210\u6307\u5b9a\u7684\u4ee3\u7801\u8fd0\u884c\u5728\u4e13\u95e8\u7684\u5904\u7406\u5668\u4e0a<br \/>\n&lt;code&gt;\u5185\u8868\u793a\u7684\u53c2\u6570\u5982\u4e0b\u6240\u793a<\/p>\n<p>Host generate instructions for the highest instruction set and<br \/>\nprocessor available on the compilation host machine<br \/>\n\u4e3b\u673a\u751f\u6210\u6307\u4ee4\u7528\u4e8e\u5bf9\u5e94\u7684\u5904\u7406\u5668\u4e3b\u673a\u4e0a\u6700\u9ad8\u6307\u4ee4\u96c6\u8bbe\u7f6e<\/p>\n<p>SSE2 Intel Pentium 4 and compatible Intel processors.\u00a0 Enables new<br \/>\noptimizations in addition to Intel processor-specific<br \/>\noptimizations<br \/>\n\u82f1\u7279\u5c14\u5954\u817e4 \u548c\u517c\u5bb9\u7684\u82f1\u7279\u5c14\u5904\u7406\u5668\uff0c\u5f00\u542f\u65b0\u7684\u4f18\u5316\u7528\u4e8e\u82f1\u7279\u5c14\u6307\u5b9a\u5904\u7406\u5668\u4f18\u5316<\/p>\n<p>SSE3\u00a0\u00a0\u00a0 Intel(R) Core(TM) processor family with Streaming SIMD<br \/>\nExtensions 3 (Intel(R) SSE3) instruction support<br \/>\n\u5355\u6307\u4ee4\u591a\u6570\u636e\u6d41(Intel(R)SSE3)\u6307\u4ee4\u96c6\u652f\u6301\u7684\u82f1\u7279\u5c14(R) \u9177\u777f(TM) \u5904\u7406\u5668\u5bb6\u65cf<\/p>\n<p>SSE3_ATOM Can generate MOVBE instructions for Intel processors and<br \/>\ncan optimize for the Intel(R) Atom(TM) processor.<br \/>\n\u53ef\u4ee5\u751f\u6210MOVBE \u6307\u4ee4\u7528\u4e8e\u82f1\u7279\u5c14\u5904\u7406\u5668\u548c\u5bf9\u82f1\u7279\u5c14(R)\u51cc\u52a8(TM)\u5904\u7406\u5668<\/p>\n<p>SSSE3\u00a0\u00a0 Intel(R) Core(TM)2 processor family with Supplemental<br \/>\nStreaming SIMD Extensions 3 (SSSE3)<br \/>\n\u652f\u6301\u5355\u6307\u4ee4\u591a\u6570\u636e\u6d41\u6307\u4ee4\u96c6\u6269\u5c55\u7684\u82f1\u7279\u5c14\u9177\u777f2\u5904\u7406\u5668\u5bb6\u65cf<\/p>\n<p>SSE4.1\u00a0 Intel(R) 45nm Hi-k next generation Intel Core(TM)<br \/>\nmicroarchitecture with support for SSE4 Vectorizing<br \/>\nCompiler and Media Accelerator instructions<br \/>\n\u7528\u4e8e\u652f\u6301SSE4 \u77e2\u91cf\u5316\u7f16\u8bd1\u548c\u5a92\u4f53\u52a0\u901f\u6307\u4ee4\u7684 \u82f1\u7279\u5c14 45\u7eb3\u7c73Hi-k \u5de5\u827a\u7684\u4e0b\u4e00<br \/>\n\u4ee3\u82f1\u7279\u5c14\u9177\u777f\u5fae\u67b6\u6784<\/p>\n<p>SSE4.2\u00a0 Can generate Intel(R) SSE4 Efficient Accelerated String<br \/>\nand Text Processing instructions supported by Intel(R)<br \/>\nCore(TM) i7 processors. Can generate Intel(R) SSE4<br \/>\nVectorizing Compiler and Media Accelerator, Intel(R) SSSE3,<br \/>\nSSE3, SSE2, and SSE instructions and it can optimize for<br \/>\nthe Intel(R) Core(TM) processor family.<br \/>\n\u53ef\u4ee5\u751f\u6210\u82f1\u7279\u5c14 SSE4 \u9ad8\u6548\u5b57\u4e32\u548c\u6587\u672c\u5904\u7406\u52a0\u901f\u6307\u4ee4\u652f\u6301\u7684Intel \u9177\u777f i7 \u5904<br \/>\n\u7406\u5668\u53ef\u4ee5\u751f\u6210\u82f1\u7279\u5c14 SSE4 \u77e2\u91cf\u5316\u7f16\u8bd1\u548c\u5a92\u4f53\u52a0\u901f\uff0c\u82f1\u7279\u5c14SSE3,SSE2 \u548cSSE<br \/>\n\u6307\u4ee4\u96c6\u548c\u5b83\u80fd\u591f\u4f18\u5316\u7684 \u82f1\u7279\u5c14\u9177\u777f\u5904\u7406\u5668\u5bb6\u65cf<\/p>\n<p>AVX\u00a0\u00a0\u00a0\u00a0 Enable Intel(R) Advanced Vector Extensions instructions<br \/>\n\u542f\u7528\u82f1\u7279\u5c14\u9ad8\u7ea7\u5411\u91cf\u6269\u5c55\u6307\u4ee4<\/p>\n<p>-ax&lt;code1&gt;[,&lt;code2&gt;,...]<br \/>\ngenerate code specialized for processors specified by &lt;codes&gt;<br \/>\nwhile also generating generic IA-32 instructions.<br \/>\n\u751f\u6210\u4ee3\u7801\u6307\u5b9a\u4e0e\u7528\u4e8e\u6307\u5b9a\u7684\u5904\u7406\u5668\u5230 &lt;codes&gt; ,\u4e5f\u540c\u65f6\u751f\u6210\u901a\u7528\u7684IA-32 \u6307\u4ee4<\/p>\n<p>&lt;codes&gt; includes one or more of the following:<br \/>\n&lt;codes &gt; \u91cc\u9762\u5305\u542b\u4e00\u4e2a\u6216\u591a\u4e2a\u5982\u4e0b\u6240\u793a<\/p>\n<p>SSE2 Intel Pentium 4 and compatible Intel processors.\u00a0 Enables new<br \/>\noptimizations in addition to Intel processor-specific<br \/>\noptimizations<br \/>\n\u82f1\u7279\u5c14\u5954\u817e4 \u548c\u517c\u5bb9\u7684\u82f1\u7279\u5c14\u5904\u7406\u5668\uff0c\u5f00\u542f\u65b0\u7684\u4f18\u5316\u7528\u4e8e\u82f1\u7279\u5c14\u6307\u5b9a\u5904\u7406\u5668\u4f18\u5316<\/p>\n<p>SSE3\u00a0\u00a0\u00a0 Intel(R) Core(TM) processor family with Streaming SIMD<br \/>\nExtensions 3 (Intel(R) SSE3) instruction support<br \/>\n\u5355\u6307\u4ee4\u591a\u6570\u636e\u6d41(Intel(R)SSE3)\u6307\u4ee4\u96c6\u652f\u6301\u7684\u82f1\u7279\u5c14(R) \u9177\u777f(TM) \u5904\u7406\u5668\u5bb6\u65cf<\/p>\n<p>SSSE3\u00a0\u00a0 Intel(R) Core(TM)2 processor family with Supplemental<br \/>\nStreaming SIMD Extensions 3 (SSSE3)<br \/>\n\u652f\u6301\u5355\u6307\u4ee4\u591a\u6570\u636e\u6d41\u6307\u4ee4\u96c6\u6269\u5c55\u7684\u82f1\u7279\u5c14\u9177\u777f2\u5904\u7406\u5668\u5bb6\u65cf<\/p>\n<p>SSE4.1\u00a0 Intel(R) 45nm Hi-k next generation Intel Core(TM)<br \/>\nmicroarchitecture with support for Streaming SIMD<br \/>\nExtensions 4 (Intel(R) SSE4) Vectorizing<br \/>\nCompiler and Media Accelerator instructions<br \/>\n\u7528\u4e8e\u652f\u6301SSE4 \u77e2\u91cf\u5316\u7f16\u8bd1\u548c\u5a92\u4f53\u52a0\u901f\u6307\u4ee4\u7684 \u82f1\u7279\u5c14 45\u7eb3\u7c73Hi-k \u5de5\u827a\u7684\u4e0b\u4e00<br \/>\n\u4ee3\u82f1\u7279\u5c14\u9177\u777f\u5fae\u67b6\u6784<\/p>\n<p>SSE4.2\u00a0 Can generate Intel(R) SSE4 Efficient Accelerated String<br \/>\nand Text Processing instructions supported by Intel(R)<br \/>\nCore(TM) i7 processors. Can generate Intel(R) SSE4<br \/>\nVectorizing Compiler and Media Accelerator, Intel(R) SSSE3,<br \/>\nSSE3, SSE2, and SSE instructions and it can optimize for<br \/>\nthe Intel(R) Core(TM) processor family.<br \/>\n\u53ef\u4ee5\u751f\u6210\u82f1\u7279\u5c14 SSE4 \u9ad8\u6548\u5b57\u4e32\u548c\u6587\u672c\u5904\u7406\u52a0\u901f\u6307\u4ee4\u652f\u6301\u7684Intel \u9177\u777f i7 \u5904<br \/>\n\u7406\u5668\uff0c\u53ef\u4ee5\u751f\u6210\u82f1\u7279\u5c14 SSE4 \u77e2\u91cf\u5316\u7f16\u8bd1\u548c\u5a92\u4f53\u52a0\u901f\uff0c\u82f1\u7279\u5c14 SSE3, SSE2 \u548c<br \/>\nSSE\u6307\u4ee4\u96c6\u548c\u5b83\u80fd\u591f\u4f18\u5316\u7684\u82f1\u7279\u5c14\u9177\u777f\u5904\u7406\u5668\u5bb6\u65cf<\/p>\n<p>AVX\u00a0\u00a0\u00a0\u00a0 Enable Intel(R) Advanced Vector Extensions instructions<br \/>\n\u542f\u7528\u82f1\u7279\u5c14\u9ad8\u7ea7\u5411\u91cf\u6269\u5c55\u6307\u4ee4<br \/>\n-mcpu=&lt;cpu&gt;<br \/>\nsame as -mtune=&lt;cpu&gt;<br \/>\n\u548c -mtune=&lt;cpu&gt; \u76f8\u540c<\/p>\n<p>-mtune=&lt;cpu&gt;<br \/>\noptimize for a specific &lt;cpu&gt;<br \/>\n\u7279\u5b9a\u4f18\u5316&lt;cpu&gt;<br \/>\npentium3\u00a0 - optimize for Pentium(R) III processors<br \/>\n\u7528\u4e8e \u5954\u817e3 \u5904\u7406\u5668\u4f18\u5316<br \/>\npentium4\u00a0 - optimize for Pentium(R) 4 processor (DEFAULT)<br \/>\n\u7528\u4e8e \u5954\u817e4 \u5904\u7406\u5668\u4f18\u5316(\u9ed8\u8ba4)<\/p>\n<p>-march=&lt;cpu&gt;<br \/>\ngenerate code exclusively for a given &lt;cpu&gt;<br \/>\n\u5355\u72ec\u4e3aCPU\u751f\u6210\u4ee3\u7801&lt;cpu&gt;<br \/>\npentium3\u00a0 - streaming SIMD extensions<br \/>\n\u5355\u6307\u4ee4\u591a\u6570\u636e\u6d41\u6269\u5c55<br \/>\npentium4\u00a0 - Pentium(R) 4 New Instructions<br \/>\n\u5954\u817e 4 \u65b0\u6307\u4ee4<\/p>\n<p>-mia32\u00a0\u00a0\u00a0 generates code which will run on any Intel Pentium or later<br \/>\nprocessor.\u00a0 Disables any default extended instruction settings, and<br \/>\nany previously set extended instruction settings.<br \/>\n\u751f\u6210\u4ee3\u7801\u5c06\u8fd0\u884c\u4e8e\u4efb\u4f55\u82f1\u7279\u5c14\u5954\u817e\u6216\u66f4\u9ad8\u7684\u5904\u7406\u5668\uff0c\u7981\u7528\u4efb\u4f55\u9ed8\u8ba4\u6269\u5c55\u7684\u6307\u4ee4\u8bbe\u7f6e\u548c\u5148\u524d<br \/>\n\u8bbe\u7f6e\u7684\u6269\u5c55\u7684\u6307\u4ee4\u8bbe\u7f6e<\/p>\n<p>-msse\u00a0\u00a0\u00a0\u00a0 generate code for Intel Pentium III and compatible Intel processors<br \/>\n\u751f\u6210\u4ee3\u7801\u7528\u4e8e\u82f1\u7279\u5c14\u5954\u817eIII\u548c\u82f1\u7279\u5c14\u517c\u5bb9\u5904\u7406\u5668<\/p>\n<p>-msse2\u00a0\u00a0\u00a0 generate code for Intel Pentium 4 and compatible Intel processors<br \/>\n\u751f\u6210\u4ee3\u7801\u7528\u4e8e\u82f1\u7279\u5c14\u5954\u817e4\u548c\u82f1\u7279\u5c14\u517c\u5bb9\u5904\u7406\u5668<\/p>\n<p>-msse3\u00a0\u00a0\u00a0 generate code for Intel(R) Core(TM) Duo processors, Intel(R) Core(TM)<br \/>\nSolo processors, Intel Pentium 4 and compatible Intel processors with<br \/>\nStreaming SIMD Extensions 3 (Intel(R) SSE3) instruction support<br \/>\n\u751f\u6210\u4ee3\u7801\u7528\u4e8e\u5355\u6307\u4ee4\u591a\u6570\u636e\u6d41\u6307\u4ee4(SSE3)\u652f\u6301\u7684\u82f1\u7279\u5c14\u9177\u777f2\u5904\u7406\u5668\uff0c\u82f1\u7279\u5c14\u9177\u777f\u4f4e\u7535\u538b<br \/>\n\u7248\u5904\u7406\u5668\u82f1\u7279\u5c14\u5954\u817e\u56db\u548c\u517c\u5bb9\u7684\u82f1\u7279\u5c14\u5904\u7406\u5668<\/p>\n<p>-mssse3\u00a0\u00a0 Intel(R) Core(TM)2 processor family with Supplemental Streaming<br \/>\nSIMD Extensions 3 (SSSE3)<br \/>\n\u82f1\u7279\u5c14\u9177\u777f2\u5904\u7406\u5668\u5bb6\u65cf\u5e76\u652f\u6301\u5355\u6307\u4ee4\u591a\u6570\u636e\u6d41\u6269\u5c55(SSE3)<\/p>\n<p>-msse4.1\u00a0 Intel(R) 45nm Hi-k next generation Intel Core(TM) microarchitecture<br \/>\nwith support for Streaming SIMD Extensions 4 (Intel(R) SSE4)<br \/>\nVectorizing Compiler and Media Accelerator instructions<br \/>\n\u82f1\u7279\u5c14 45\u7eb3\u7c73Hi-k \u5de5\u827a\u7684\u4e0b\u4e00\u4ee3\u82f1\u7279\u5c14\u9177\u777f\u5fae\u67b6\u6784\u7528\u4e8e\u652f\u6301SSE4 \u77e2\u91cf\u5316\u7f16\u8bd1\u548c\u5a92\u4f53\u52a0\u901f\u6307\u4ee4\u7684<br \/>\n-minstruction=&lt;keyword&gt;<br \/>\nRefine instruction set output for the selected target processor<br \/>\n\u6307\u5b9a\u5df2\u9009\u62e9\u7684\u76ee\u6807\u5904\u7406\u5668\u7cbe\u7b80\u6307\u4ee4\u96c6\u8f93\u51fa\u8bbe\u7f6e<br \/>\n[no]movbe\u00a0 - Do\/do not generate MOVBE instructions with SSE3_ATOM<br \/>\n(requires -xSSE3_ATOM)<br \/>\n\u4e0d\u751f\u6210 MOVBE\u6307\u4ee4\u7528\u4e8e SSE3_ATOM\u00a0 (\u8981\u6c42 -xSSE3_ATOM)<\/p>\n<p>-f[no-]omit-frame-pointer<br \/>\nenable(DEFAULT)\/disable use of EBP as general purpose register.<br \/>\n-fno-omit-frame-pointer replaces -fp<br \/>\n\u5f00\u542f(\u9ed8\u8ba4)\/\u5173\u95ed EBP\u4f5c\u4e3a\u901a\u7528\u5bc4\u5b58\u5668<\/p>\n<p>-f[no-]exceptions<br \/>\nenable\/disable(DEFAULT) C++ exception handling table generation<br \/>\n\u5f00\u542f\/\u5173\u95ed(\u9ed8\u8ba4) \u751f\u6210C++ \u5f02\u5e38\u5904\u7406\u8868<\/p>\n<p>-fnon-call-exceptions<br \/>\nenable\/disable(DEFAULT) code that allows exceptions from trapping<br \/>\ninstructions to be caught<br \/>\n\u5f00\u542f\/\u5173\u95ed(\u9ed8\u8ba4)\u5141\u8bb8\u6355\u83b7\u4f8b\u5916\u7684\u4ee3\u7801\u5f02\u5e38<\/p>\n<p>Interprocedural Optimization (IPO)<br \/>\n\u95f4\u63a5\u4f18\u5316<br \/>\n----------------------------------<\/p>\n<p>-[no-]ip\u00a0 enable(DEFAULT)\/disable single-file IP optimization<br \/>\nwithin files<br \/>\n\u5f00\u542f(\u9ed8\u8ba4)\/\u7981\u7528\u5355\u6587\u4ef6\u95f4\u63a5\u4f18\u5316\u5185\u90e8\u6587\u4ef6<\/p>\n<p>-ipo[n]\u00a0\u00a0 enable multi-file IP optimization between files<br \/>\n\u5728\u6587\u4ef6\u4e2d\u5f00\u542f\u591a\u6587\u4ef6\u95f4\u63a5\u4f18\u5316<\/p>\n<p>-ipo-c\u00a0\u00a0\u00a0 generate a multi-file object file (ipo_out.o)<br \/>\n\u751f\u6210\u4e00\u4e2a\u591a\u6587\u4ef6\u7684\u76ee\u6807\u6587\u4ef6 (ipo_out.o)<\/p>\n<p>-ipo-S\u00a0\u00a0\u00a0 generate a multi-file assembly file (ipo_out.S)<br \/>\n\u751f\u6210\u591a\u6587\u4ef6\u96c6\u6587\u4ef6(ipo_out.S)<\/p>\n<p>-ip-no-inlining<br \/>\ndisable full and partial inlining<br \/>\n\u7981\u7528\u5168\u90e8\u548c\u90e8\u5206\u5185\u8054<\/p>\n<p>-ip-no-pinlining<br \/>\ndisable partial inlining<br \/>\n\u7981\u7528\u90e8\u5206\u5185\u8054<\/p>\n<p>-ipo-separate<br \/>\ncreate one object file for every source file (overrides -ipo[n])<br \/>\n\u4e3a\u6bcf\u4e2a\u6e90\u6587\u4ef6\u521b\u5efa\u4e00\u4e2a\u5bf9\u8c61(overrides -ipo[n])<\/p>\n<p>-ipo-jobs&lt;n&gt;<br \/>\nspecify the number of jobs to be executed simultaneously during the<br \/>\nIPO link phase<br \/>\n\u6307\u5b9a\u961f\u5217\u7f16\u53f7\uff0c\u4ee5\u540c\u65f6\u6267\u884cIPO\u8fde\u63a5\uff1f<\/p>\n<p>Advanced Optimizations<br \/>\n\u9ad8\u7ea7\u4f18\u5316<br \/>\n----------------------<\/p>\n<p>-unroll[n]<br \/>\nset maximum number of times to unroll loops.\u00a0 Omit n to use default<br \/>\nheuristics.\u00a0 Use n=0 to disable the loop unroller<br \/>\n\u8bbe\u7f6e\u5faa\u73af\u5c55\u5f00\u7684\u6700\u5927\u6b21\u6570\uff0c\u53bb\u6389 n \u5219\u4f7f\u7528\u9ed8\u8ba4\u542f\u53d1\uff0c\u4f7f\u7528 n=0 \u5219\u53bb\u6389unroller \u5faa\u73af<\/p>\n<p>-[no-]unroll-aggressive<br \/>\nenables more aggressive unrolling heuristics<br \/>\n\u5f00\u542f\u66f4\u591a\u7684\u5f3a\u5236\u5c55\u5f00\u542f\u53d1 \uff1f\uff1f<\/p>\n<p>-funroll-loops<br \/>\nunroll loops based on default heuristics<br \/>\n\u5c55\u5f00\u5faa\u73af\u5728\u9ed8\u8ba4\u542f\u53d1<\/p>\n<p>-[no-]scalar-rep<br \/>\nenable(DEFAULT)\/disable scalar replacement (requires -O3)<br \/>\n\u542f\u7528 \u7981\u7528 \u6807\u91cf\u66ff\u6362\uff08\u9700\u8981 -o3 \uff09<br \/>\n-[no-]ansi-alias<br \/>\nenable\/disable(DEFAULT) use of ANSI aliasing rules optimizations;<br \/>\nuser asserts that the program adheres to these rules<\/p>\n<p>-[no-]complex-limited-range<br \/>\nenable\/disable(DEFAULT) the use of the basic algebraic expansions of<br \/>\nsome complex arithmetic operations.\u00a0 This can allow for some<br \/>\nperformance improvement in programs which use a lot of complex<br \/>\narithmetic at the loss of some exponent range.<br \/>\n-[no-]alias-const<br \/>\nenable\/disable(DEFAULT) a heuristic stating that if two arguments to<br \/>\na function have pointer type, a pointer to const does not alias a<br \/>\npointer to non-const. Also known as the input\/output buffer rule, it<br \/>\nassumes that input and output buffer arguments do not overlap.<br \/>\n-fargument-alias<br \/>\narguments may alias each other and may alias global storage<br \/>\n-fargument-noalias<br \/>\narguments do not alias each other but may alias global storage<br \/>\n-fargument-noalias-global<br \/>\narguments do not alias each other and do not alias global storage<br \/>\n-ftls-model=&lt;model&gt;<br \/>\nchange thread-local storage model, where &lt;model&gt; can be the<br \/>\nfollowing: global-dynamic, local-dynamic, initial-exec or local-exec<br \/>\n-[no-]opt-multi-version-aggressive<br \/>\nenables more aggressive multi-versioning to check for pointer<br \/>\naliasing and scalar replacement<br \/>\n-opt-ra-region-strategy[=&lt;keyword&gt;]<br \/>\nselect the method that the register allocator uses to partition each<br \/>\nroutine into regions<br \/>\nroutine - one region per routine<br \/>\nblock\u00a0\u00a0 - one region per block<br \/>\ntrace\u00a0\u00a0 - one region per trace<br \/>\nloop\u00a0\u00a0\u00a0 - one region per loop<br \/>\ndefault - compiler selects best option<br \/>\n-[no-]vec<br \/>\nenables(DEFAULT)\/disables vectorization<br \/>\n\u5f00\u542f \u5173\u95ed \u5411\u91cf\u5316<br \/>\n-[no-]vec-guard-write<br \/>\nenables cache\/bandwidth optimization for stores under conditionals<br \/>\nwithin vector loops<br \/>\n\u5f00\u542f\u7f13\u5b58\/\u5e26\u5bbd\u4f18\u5316\u7528\u4e8e\uff1f\uff1f\uff1f<br \/>\n-vec-threshold[n]<br \/>\nsets a threshold for the vectorization of loops based on the<br \/>\nprobability of profitable execution of the vectorized loop in<br \/>\nparallel<br \/>\n-opt-malloc-options={0|1|2|3|4}<br \/>\nspecify malloc configuration parameters.\u00a0 Specifying a non-zero &lt;n&gt;<br \/>\nvalue will cause alternate configuration parameters to be set for<br \/>\nhow malloc allocates and frees memory<br \/>\n-opt-calloc<br \/>\nenable\/disable(DEFAULT) calls to fast calloc function<br \/>\n-opt-jump-tables=&lt;arg&gt;<br \/>\ncontrol the generation of jump tables<br \/>\ndefault - let the compiler decide when a jump table, a series of<br \/>\nif-then-else constructs or a combination is generated<br \/>\nlarge\u00a0\u00a0 - generate jump tables up to a certain pre-defined size<br \/>\n(64K entries)<br \/>\n&lt;n&gt;\u00a0\u00a0\u00a0\u00a0 - generate jump tables up to &lt;n&gt; in size<br \/>\nuse -no-opt-jump-tables to lower switch statements as chains of<br \/>\nif-then-else constructs<br \/>\n-fno-jump-tables<br \/>\ndo not generate jump tables for switches and if-then-else statements<br \/>\n-opt-block-factor=&lt;n&gt;<br \/>\nspecify blocking factor for loop blocking<br \/>\n-ffreestanding<br \/>\ncompile in a freestanding environment where the standard library<br \/>\nmay not be present<br \/>\n-opt-streaming-stores &lt;arg&gt;<br \/>\nspecifies whether streaming stores are generated<br \/>\nalways - enables generation of streaming stores under the<br \/>\nassumption that the application is memory bound<br \/>\nauto\u00a0\u00a0 - compiler decides when streaming stores are used (DEFAULT)<br \/>\nnever\u00a0 - disables generation of streaming stores<br \/>\n-ipp[=&lt;arg&gt;]<br \/>\nlink some or all of the Intel(R) Integrated Performance Primitives<br \/>\n(Intel(R) IPP) libraries and bring in the associated headers<br \/>\ncommon\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 - link using the main libraries set.\u00a0 This is the<br \/>\ndefault value when -ipp is specified<br \/>\ncrypto\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 - link using the main libraries set and the crypto<br \/>\nlibrary<br \/>\nnonpic\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 - link using the version of the libraries that do not<br \/>\nhave position independent code<br \/>\nnonpic_crypto - link using the crypto library and the version of<br \/>\nthe libraries that do not have position independent<br \/>\ncode<br \/>\n-mkl[=&lt;arg&gt;]<br \/>\nlink to the Intel(R) Math Kernel Library (Intel(R) MKL) and bring<br \/>\nin the associated headers<br \/>\nparallel\u00a0\u00a0 - link using the threaded Intel(R) MKL libraries. This<br \/>\nis the default when -mkl is specified<br \/>\nsequential - link using the non-threaded Intel(R) MKL libraries<br \/>\ncluster\u00a0\u00a0\u00a0 - link using the Intel(R) MKL Cluster libraries plus<br \/>\nthe sequential Intel(R) MKL libraries<br \/>\n-tbb\u00a0\u00a0\u00a0\u00a0\u00a0 link to the Intel(R) Threading Building Blocks (Intel(R) TBB)<br \/>\nlibraries and bring in the associated headers<br \/>\n-[no-]opt-subscript-in-range<br \/>\nassumes no overflows in the intermediate computation of the<br \/>\nsubscripts<br \/>\n-[no-]use-intel-optimized-headers<br \/>\ntake advantage of the optimized header files<\/p>\n<p>Profile Guided Optimization (PGO)<br \/>\n\u914d\u7f6e\u5411\u5bfc\u4f18\u5316<br \/>\n---------------------------------<\/p>\n<p>-prof-dir &lt;dir&gt;<br \/>\nspecify directory for profiling output files (*.dyn and *.dpi)<br \/>\n\u6307\u5b9a\u76ee\u5f55\u7528\u4e8e\u8f93\u51fa\u6587\u4ef6(*.dyn and *.dpi)<\/p>\n<p>-prof-src-root &lt;dir&gt;<br \/>\nspecify project root directory for application source files to<br \/>\nenable relative path resolution during profile feedback on sources<br \/>\nbelow that directory<br \/>\n\u6307\u5b9a\u5e94\u7528\u7a0b\u5e8f\u7684\u6e90\u4ee3\u7801\u7684\u6839\u76ee\u5f55\u6587\u4ef6\uff0c\u53ef\u4ee5\u5728\u914d\u7f6e\u6587\u4ef6\u7684\u76f8\u5bf9\u8def\u5f84\u6765\u6e90\u53cd\u9988\u51b3\u8bae<br \/>\n??????????\u4f4e\u4e8e\u8be5\u76ee\u5f55<\/p>\n<p>-prof-src-root-cwd<br \/>\nspecify the current directory as the project root directory for<br \/>\napplication source files to enable relative path resolution during<br \/>\nprofile feedback on sources below that directory<br \/>\n\u6307\u5b9a\u4e3a\u9879\u76ee\u7684\u6839\u76ee\u5f55\u4e3a\u5f53\u524d\u76ee\u5f55\u5e94\u7528\u7a0b\u5e8f\u6e90\u4ee3\u7801\uff0c\u4ee5\u4fbf\u5728\u89e3\u51b3\u76f8\u5bf9\u8def\u5f84<br \/>\n??????????\u6587\u4ef6\u53cd\u9988\u4f4e\u4e8e\u8be5\u76ee\u5f55\u7684\u6765\u6e90<\/p>\n<p>-[no-]prof-src-dir<br \/>\nspecify whether directory names of sources should be<br \/>\nconsidered when looking up profile records within the .dpi file<br \/>\n\u5177\u4f53\u8bf4\u660e\u6765\u6e90\u7684\u76ee\u5f55\u540d\u5e94\u8be5\u662f\u67e5\u627e\u65f6\u8003\u8651\u8303\u56f4\u5185\u3002dpi\u7684\u6587\u4ef6\u8bb0\u5f55\u7684\u6587\u4ef6<\/p>\n<p>-prof-file &lt;file&gt;<br \/>\nspecify file name for profiling summary file<br \/>\n\u6307\u5b9a\u6587\u4ef6\u7684\u6587\u4ef6\u540d\u5206\u6790\u603b\u7ed3<\/p>\n<p>-[no-]prof-data-order<br \/>\nenable\/disable(DEFAULT) static data ordering with profiling<br \/>\n\u542f\u7528\/\u7981\u7528\uff08\u9ed8\u8ba4\uff09\u9759\u6001\u6570\u636e\u6392\u5e8f\u5206\u6790<\/p>\n<p>-[no-]prof-func-order<br \/>\nenable\/disable(DEFAULT) function ordering with profiling<br \/>\n\u542f\u7528\/\u7981\u7528\uff08\u9ed8\u8ba4\uff09\u51fd\u6570\u5206\u6790\u6392\u5e8f<\/p>\n<p>-[no-]prof-func-groups<br \/>\nenable(DEFAULT with PGO)\/disable function grouping<br \/>\n\u542f\u7528\uff08\u9ed8\u8ba4\u4e0e\u901a\u4f8b\uff09\/\u7981\u7528\u529f\u80fd\u5206\u7ec4<\/p>\n<p>-prof-gen[=keyword]<br \/>\ninstrument program for profiling.<br \/>\nOptional keyword may be srcpos or globdata<br \/>\n\u673a\u5668\u8bed\u8a00\u5206\u6790\uff0c\u53ef\u9009\u5173\u952e\u5b57 srcpos \u6216\u8005 globdata<\/p>\n<p>-no-prof-gen<br \/>\ndisable profiling instrumentation<br \/>\n\u7981\u7528\u5206\u6790\u4eea\u5668<\/p>\n<p>-prof-use[=&lt;arg&gt;]<br \/>\nenable use of profiling information during optimization<br \/>\n\u542f\u7528\u5206\u6790\u5728\u4f18\u5316\u8fc7\u7a0b\u4e2d\u4fe1\u606f\u7684\u4f7f\u7528<br \/>\nweighted\u00a0 - invokes profmerge with -weighted option to scale data<br \/>\nbased on run durations<br \/>\n[no]merge - enable(default)\/disable the invocation of the profmerge<br \/>\ntool<br \/>\n-no-prof-use<br \/>\ndisable use of profiling information during optimization<br \/>\n-opt-prefetch[=n]<br \/>\nenable levels of prefetch insertion, where 0 disables.<br \/>\nn may be 0 through 4 inclusive.\u00a0 Default is 2.<br \/>\n-no-opt-prefetch<br \/>\ndisable(DEFAULT) prefetch insertion.\u00a0 Equivalent to -opt-prefetch=0<br \/>\n-p\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 compile and link for function profiling with UNIX gprof tool<br \/>\nOn IA32 and Intel(r)64, -pg is also valid<br \/>\n-f[no-]instrument-functions<br \/>\ndetermine whether function entry and exit points are instrumented<br \/>\n-prof-hotness-threshold=&lt;val&gt;<br \/>\nset the hotness threshold for function grouping and function ordering<br \/>\nval indicates percentage of functions to be placed in hot region.<br \/>\nThis option requires -prof-use<br \/>\nand -prof-func-groups or -prof-func-order<br \/>\nOptimization Reports<br \/>\n\u4f18\u5316\u62a5\u544a<br \/>\n--------------------<\/p>\n<p>-vec-report[n]<br \/>\ncontrol amount of vectorizer diagnostic information<br \/>\nn=0\u00a0\u00a0\u00a0 no diagnostic information<br \/>\n\u4e0d\u663e\u793a\u8bca\u65ad\u4fe1\u606f<br \/>\nn=1\u00a0\u00a0\u00a0 indicate vectorized loops (DEFAULT)<br \/>\n\u663e\u793a\u77e2\u91cf\u5faa\u73af<br \/>\nn=2\u00a0\u00a0\u00a0 indicate vectorized\/non-vectorized loops<br \/>\n\u663e\u793a\u77e2\u91cf\/\u975e\u77e2\u91cf\u5faa\u73af\u5faa\u73af<br \/>\nn=3\u00a0\u00a0\u00a0 indicate vectorized\/non-vectorized loops and prohibiting<br \/>\ndata dependence information<br \/>\n\u663e\u793a\u77e2\u91cf\/\u975e\u5faa\u73af\u548c\u7981\u6b62\u77e2\u91cf\u6570\u636e\u76f8\u5173\u7684\u4fe1\u606f<br \/>\nn=4\u00a0\u00a0\u00a0 indicate non-vectorized loops<br \/>\n\u8868\u660e\u975e\u77e2\u91cf\u73af<br \/>\nn=5\u00a0\u00a0\u00a0 indicate non-vectorized loops and prohibiting data<br \/>\ndependence information<br \/>\n\u663e\u793a\u975e\u5faa\u73af\u548c\u7981\u6b62\u77e2\u91cf\u6570\u636e\u4f9d\u5b58\u4fe1\u606f<br \/>\n-opt-report [n]<br \/>\ngenerate an optimization report to stderr<br \/>\n\u751f\u6210\u4f18\u5316\u62a5\u544a\u5230stderr<br \/>\n0\u00a0\u00a0 disable optimization report output<br \/>\n\u7981\u7528\u4f18\u5316\u62a5\u544a\u8f93\u51fa<br \/>\n1\u00a0\u00a0 minimum report output<br \/>\n\u6700\u4f4e\u7684\u62a5\u544a\u8f93\u51fa<br \/>\n2\u00a0\u00a0 medium output (DEFAULT when enabled)<br \/>\n\u4e2d\u7b49\u8f93\u51fa\uff08\u9ed8\u8ba4\u542f\u7528\u65f6\uff09<br \/>\n3\u00a0\u00a0 maximum report output<br \/>\n\u6700\u5927\u8f93\u51fa\u62a5\u544a<br \/>\n-opt-report-file=&lt;file&gt;<br \/>\nspecify the filename for the generated report<br \/>\n\u6307\u5b9a\u7684\u6587\u4ef6\u540d\u751f\u6210\u7684\u62a5\u544a<br \/>\n-opt-report-phase=&lt;phase&gt;<br \/>\nspecify the phase that reports are generated against<br \/>\n\u6307\u5b9a\u751f\u6210\u7684\u62a5\u544a\u5bf9\u76f8<br \/>\n-opt-report-routine=&lt;name&gt;<br \/>\nreports on routines containing the given name<br \/>\n\u62a5\u544a\u5305\u542b\u7ed9\u5b9a\u540d\u79f0\u4f8b\u7a0b<br \/>\n-opt-report-help<br \/>\ndisplay the optimization phases available for reporting<br \/>\n\u663e\u793a\u53ef\u7528\u7684\u4f18\u5316\u62a5\u544a\u4fe1\u606f<br \/>\n-tcheck [mode]<br \/>\nenable analysis of threaded applications (requires Intel(R) Thread<br \/>\nChecker; cannot be used with compiler alone)<br \/>\ntci - instruments a program to perform a thread-count-independent<br \/>\nanalysis<br \/>\ntcd - instruments a program to perform a thread-count-dependent<br \/>\nanalysis (DEFAULT when mode is not used)<br \/>\napi - instruments a program at the api-imports level<br \/>\n-tprofile<br \/>\ngenerate instrumentation to analyze multi-threading performance<br \/>\n(requires Intel(R) Thread Profiler; cannot be used with compiler<br \/>\nalone)<br \/>\n-tcollect[=&lt;lib&gt;]<br \/>\ninserts instrumentation probes calling the Intel(R) Trace Collector<br \/>\nAPI.\u00a0 The library -l&lt;lib&gt; is linked in the default being -lVT<br \/>\n(requires Intel(R) Trace Collector)<br \/>\n-tcollect-filter file<br \/>\nEnable or disable the instrumentation of specified functions.<br \/>\n(requires Intel(R) Trace Collector)<\/p>\n<p>OpenMP* and Parallel Processing<br \/>\nOpenMP* \u548c\u5e76\u884c\u5904\u7406<br \/>\n-------------------------------<\/p>\n<p>-openmp\u00a0\u00a0 enable the compiler to generate multi-threaded code based on the<br \/>\nOpenMP* directives<br \/>\n-openmp-profile<br \/>\nenable analysis of OpenMP application when the Intel(R) Thread<br \/>\nProfiler is installed<br \/>\n-openmp-stubs<br \/>\nenables the user to compile OpenMP programs in sequential mode.\u00a0 The<br \/>\nOpenMP directives are ignored and a stub OpenMP library is linked<br \/>\n(sequential)<br \/>\n-openmp-report{0|1|2}<br \/>\ncontrol the OpenMP parallelizer diagnostic level<br \/>\n-openmp-lib &lt;ver&gt;<br \/>\nchoose which OpenMP library version to link with<br \/>\ncompat - use the GNU compatible OpenMP run-time libraries<br \/>\n(DEFAULT)<br \/>\n-openmp-link &lt;library&gt;<br \/>\nchoose whether to link with the static or dynamic OpenMP<br \/>\nlibraries.\u00a0 Default is dynamic.<br \/>\n-openmp-task &lt;arg&gt;<br \/>\nchoose which OpenMP tasking model to support<br \/>\nomp\u00a0\u00a0 - support OpenMP 3.0 tasking (DEFAULT)<br \/>\nintel - support Intel taskqueuing<br \/>\n-openmp-threadprivate &lt;ver&gt;<br \/>\nchoose which threadprivate implementation to use<br \/>\ncompat - use the GNU compatible thread local storage<br \/>\nlegacy - use the Intel compatible implementation<br \/>\n(DEFAULT)<br \/>\n-parallel<br \/>\nenable the auto-parallelizer to generate multi-threaded code for<br \/>\nloops that can be safely executed in parallel<br \/>\n-par-report{0|1|2|3}<br \/>\ncontrol the auto-parallelizer diagnostic level<br \/>\n-par-threshold[n]<br \/>\nset threshold for the auto-parallelization of loops where n is an<br \/>\ninteger from 0 to 100<br \/>\n-[no-]par-runtime-control<br \/>\nenable compiler to generate runtime control code for effective<br \/>\nautomatic parallelization<br \/>\n-par-schedule-static[=n]<br \/>\nSpecifies a scheduling algorithm for DO loop iteration.<br \/>\nDivides iterations into contiguous pieces.\u00a0 Size n if<br \/>\nspecified, equal sized pieces if not.<br \/>\n-par-schedule-static-balanced[=n]<br \/>\nDivides iterations into even-sized chunks.\u00a0 Size n if<br \/>\nspecified, equal sized pieces if not.<br \/>\n-par-schedule-static-steal[=n]<br \/>\nDivides iterations into even-sized chunks, but allows<br \/>\nthreads to steal parts of chunks from neighboring threads<br \/>\n-par-schedule-dynamic[=n]<br \/>\nSpecifies a scheduling algorithm for DO loop iteration.<br \/>\nAssigns iterations to threads in chunks dynamically.<br \/>\nChunk size is n iterations if specified, otherwise 1.<br \/>\n-par-schedule-guided[=n]<br \/>\nSpecifies a scheduling algorithm for DO loop iteration.<br \/>\nIndicates a minimum number of iterations.\u00a0 If specified,<br \/>\nn is the minimum number, otherwise 1.<br \/>\n-par-schedule-guided-analytical[=n]<br \/>\nDivides iterations by using exponential distribution or<br \/>\ndynamic distributions.<br \/>\n-par-schedule-runtime<br \/>\nSpecifies a scheduling algorithm for DO loop iteration.<br \/>\nDefers the scheduling decision until runtime.<br \/>\n-par-schedule-auto<br \/>\nLets the compiler or run-time system determine the<br \/>\nscheduling algorithm.<br \/>\n-par-affinity=[&lt;modifier&gt;,...]&lt;type&gt;[,&lt;permute&gt;][,&lt;offset&gt;]<br \/>\ntune application performance by setting different thread affinity<br \/>\n-par-num-threads=&lt;n&gt;<br \/>\ntune application performance by setting different number of threads<\/p>\n<p>Floating Point<br \/>\n\u6d6e\u70b9\uff08\u8fd0\u7b97\uff09<br \/>\n--------------<\/p>\n<p>-fp-model &lt;name&gt;<br \/>\nenable &lt;name&gt; floating point model variation<br \/>\n[no-]except - enable\/disable floating point semantics<br \/>\n\u542f\u7528\/\u7981\u7528\u6d6e\u70b9\u8bed\u4e49<br \/>\nfast[=1|2]\u00a0 - enables more aggressive floating point optimizations<br \/>\n\u53ef\u4ee5\u66f4\u79ef\u6781\u7684\u6d6e\u70b9\u4f18\u5316<br \/>\nprecise\u00a0\u00a0\u00a0\u00a0 - allows value-safe optimizations<br \/>\n\u5141\u8bb8\u503c\u5b89\u5168\u4f18\u5316<br \/>\nsource\u00a0\u00a0\u00a0\u00a0\u00a0 - enables intermediates in source precision<br \/>\n\u4f7f\u6e90\u4e2d\u95f4\u4f53\u7cbe\u5ea6<br \/>\nstrict\u00a0\u00a0\u00a0\u00a0\u00a0 - enables -fp-model precise -fp-model except, disables<br \/>\ncontractions and enables pragma stdc fenv_access<br \/>\ndouble\u00a0\u00a0\u00a0\u00a0\u00a0 - rounds intermediates in 53-bit (double) precision<br \/>\nextended\u00a0\u00a0\u00a0 - rounds intermediates in 64-bit (extended) precision<br \/>\n-fp-speculation=&lt;mode&gt;<br \/>\nenable floating point speculations with the following &lt;mode&gt;<br \/>\nconditions:<br \/>\nfast\u00a0\u00a0 - speculate floating point operations (DEFAULT)<br \/>\nsafe\u00a0\u00a0 - speculate only when safe<br \/>\nstrict - same as off<br \/>\noff\u00a0\u00a0\u00a0 - disables speculation of floating-point operations<br \/>\n-pc32\u00a0\u00a0\u00a0\u00a0 set internal FPU precision to 24 bit significand<br \/>\n\u8bbe\u7f6e\u5185\u90e8\u6d6e\u70b9\u8fd0\u7b97\u5355\u5143\u7cbe\u786e\u523024\u4f4d\u5c3e\u6570<\/p>\n<p>-pc64\u00a0\u00a0\u00a0\u00a0 set internal FPU precision to 53 bit significand (DEFAULT)<br \/>\n\u8bbe\u7f6e\u5185\u90e8\u6d6e\u70b9\u8fd0\u7b97\u5355\u5143\u7cbe\u786e\u523053\u4f4d\u5c3e\u6570<\/p>\n<p>-pc80\u00a0\u00a0\u00a0\u00a0 set internal FPU precision to 64 bit significand<br \/>\n\u8bbe\u7f6e\u5185\u90e8\u6d6e\u70b9\u8fd0\u7b97\u5355\u5143\u7cbe\u786e\u523064\u4f4d\u5c3e\u6570<br \/>\n-mp1\u00a0\u00a0\u00a0\u00a0\u00a0 improve floating-point precision (speed impact less than -mp)<br \/>\n\u6539\u8fdb\u6d6e\u70b9\u7cbe\u5ea6<\/p>\n<p>-mieee-fp<br \/>\nsame as -mp, can be disabled with -mno-ieee-fp<br \/>\n-[no-]prec-sqrt<br \/>\ndetermine if certain square root optimizations are enabled<br \/>\n-[no-]prec-div<br \/>\nimprove precision of FP divides (some speed impact)<br \/>\n-[no-]fast-transcendentals<br \/>\ngenerate a faster version of the transcendental functions<br \/>\n-[no-]fp-port<br \/>\nround fp results at assignments and casts (some speed impact)<br \/>\n-fp-stack-check<br \/>\nenable fp stack checking after every function\/procedure call<br \/>\n-rcd\u00a0\u00a0\u00a0\u00a0\u00a0 rounding mode to enable fast float-to-int conversions<br \/>\n-[no-]ftz<br \/>\nenable\/disable flush denormal results to zero<\/p>\n<p>Inlining<br \/>\n\u5185\u8054<br \/>\n--------<\/p>\n<p>-inline-level=&lt;n&gt;<br \/>\ncontrol inline expansion:<br \/>\nn=0\u00a0 disable inlining<br \/>\nn=1\u00a0 inline functions declared with __inline, and perform C++<br \/>\ninlining<br \/>\nn=2\u00a0 inline any function, at the compiler's discretion<br \/>\n-f[no-]inline<br \/>\ninline functions declared with __inline, and perform C++ inlining<br \/>\n-f[no-]inline-functions<br \/>\ninline any function at the compiler's discretion<br \/>\n-finline-limit=&lt;n&gt;<br \/>\nset maximum number of statements a function can have and still be<br \/>\nconsidered for inlining<br \/>\n-inline-min-size=&lt;n&gt;<br \/>\nset size limit for inlining small routines<br \/>\n-no-inline-min-size<br \/>\nno size limit for inlining small routines<br \/>\n-inline-max-size=&lt;n&gt;<br \/>\nset size limit for inlining large routines<br \/>\n-no-inline-max-size<br \/>\nno size limit for inlining large routines<br \/>\n-inline-max-total-size=&lt;n&gt;<br \/>\nmaximum increase in size for inline function expansion<br \/>\n-no-inline-max-total-size<br \/>\nno size limit for inline function expansion<br \/>\n-inline-max-per-routine=&lt;n&gt;<br \/>\nmaximum number of inline instances in any function<br \/>\n-no-inline-max-per-routine<br \/>\nno maximum number of inline instances in any function<br \/>\n-inline-max-per-compile=&lt;n&gt;<br \/>\nmaximum number of inline instances in the current compilation<br \/>\n-no-inline-max-per-compile<br \/>\nno maximum number of inline instances in the current compilation<br \/>\n-inline-factor=&lt;n&gt;<br \/>\nset inlining upper limits by n percentage<br \/>\n-no-inline-factor<br \/>\ndo not set set inlining upper limits<br \/>\n-inline-forceinline<br \/>\ntreat inline routines as forceinline<br \/>\n-inline-calloc<br \/>\ndirects the compiler to inline calloc() calls as malloc()\/memset()<\/p>\n<p>Output, Debug, PCH<br \/>\n\u8f93\u51fa\uff0c\u8c03\u8bd5\uff0c\u9884\u7f16\u8bd1\u5934\u6587\u4ef6<br \/>\n------------------<\/p>\n<p>-c\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 compile to object (.o) only, do not link<br \/>\n-S\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 compile to assembly (.s) only, do not link<br \/>\n-fsource-asm<br \/>\nproduce assembly file with optional source annotations (requires -S)<br \/>\n-f[no-]verbose-asm<br \/>\nproduce assembly file with compiler comments (DEFAULT) (requires -S)<br \/>\n-fcode-asm<br \/>\nproduce assembly file with optional code annotations (requires -S)<br \/>\n-use-msasm<br \/>\nsupport Microsoft* style assembly language insertion using MASM style<br \/>\nsyntax<br \/>\n-o &lt;file&gt;<br \/>\nname output file<br \/>\n-g\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 produce symbolic debug information in object file (implies -O0 when<br \/>\nanother optimization option is not explicitly set)<br \/>\n-debug [keyword]<br \/>\nenable debug information and control output of enhanced debug<br \/>\ninformation<br \/>\n\u542f\u7528\u8c03\u8bd5\u4fe1\u606f\u548c\u63a7\u5236\u8f93\u51fa \u589e\u5f3a\u8c03\u8bd5\u8f93\u51fa\u4fe1\u606f<br \/>\nkeywords:\u00a0 all, full, minimal, none, [no]inline-debug-info<br \/>\n[no]variable-locations, [no]semantic-stepping,<br \/>\nextended<br \/>\nparallel<br \/>\n[no]expr-source-pos<br \/>\n-g0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 disable generation of symbolic debug information<br \/>\n-gdwarf-2<br \/>\nenable generation of debug information using the DWARF2 format<br \/>\n-ftrapuv\u00a0 trap uninitialized variables<br \/>\n-map-opts<br \/>\nenable option mapping tool<br \/>\n-print-multi-lib<br \/>\nprint information about libraries being used<br \/>\n-pch-create &lt;file&gt;<br \/>\ncreate precompiled header file<br \/>\n-pch-use &lt;file&gt;<br \/>\nuse precompiled header file<br \/>\n-pch\u00a0\u00a0\u00a0\u00a0\u00a0 enable automatic precompiled header file creation\/usage<br \/>\n-pch-dir &lt;dir&gt;<br \/>\nname precompiled header directory<\/p>\n<p>Preprocessor<br \/>\n\u9884\u5904\u7406<br \/>\n------------<\/p>\n<p>-A&lt;name&gt;[&lt;val&gt;]<br \/>\ncreate an assertion &lt;name&gt; having value &lt;val&gt;<br \/>\n-C\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 do not strip comments<br \/>\n-D&lt;name&gt;[=&lt;text&gt;]<br \/>\ndefine macro<br \/>\n-U&lt;name&gt;\u00a0 remove predefined macro<br \/>\n-E\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 preprocess to stdout<br \/>\n-EP\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 preprocess to stdout, omitting #line directives<br \/>\n-P\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 preprocess to file, omitting #line directives<br \/>\n-I&lt;dir&gt;\u00a0\u00a0 add directory to include file search path<br \/>\n-idirafter&lt;dir&gt;<br \/>\nadd directory to the second include file search path (after -I)<br \/>\n-isystem&lt;dir&gt;<br \/>\nadd directory to the start of the system include path<br \/>\n-X, -nostdinc<br \/>\nremove standard directories from include file search path<br \/>\n-nostdinc++<br \/>\nremove standard C++ directories from include file search path<br \/>\n-iprefix &lt;prefix&gt;<br \/>\nuse &lt;prefix&gt; with -iwithprefix as a prefix<br \/>\n-iwithprefix &lt;dir&gt;<br \/>\nappend &lt;dir&gt; to the prefix passed in by -iprefix and put it on the<br \/>\ninclude search path at the end of the include directories<br \/>\n-iwithprefixbefore &lt;dir&gt;<br \/>\nsimilar to -iwithprefix except the include directory is placed in the<br \/>\nsame place as -I command line include directories<br \/>\n-iquote &lt;dir&gt;<br \/>\nadd directory to the front of the include file search path for files<br \/>\nincluded with quotes, but not brackets<br \/>\n-imacros &lt;file&gt;<br \/>\ntreat &lt;file&gt; as an #include file, but throw away all preprocessing<br \/>\nwhile macros defined remain defined<br \/>\n-H\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 print include file order<br \/>\n-B&lt;prefix&gt;<br \/>\nfind libraries, headers and executables in &lt;prefix&gt;<br \/>\n-M\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 generate makefile dependency information<br \/>\n-MM\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 similar to -M, but do not include system header files<br \/>\n-MG\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 similar to -M, but treat missing header files as generated files<br \/>\n-MD\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 preprocess and compile, generating output file containing dependency<br \/>\ninformation ending with extension .d<br \/>\n-MMD\u00a0\u00a0\u00a0\u00a0\u00a0 similar to -MD, but do not include system header files<br \/>\n-MF&lt;file&gt;<br \/>\ngenerate makefile dependency information in file (must specify -M<br \/>\nor -MM)<br \/>\n-MP\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 add a phony target for each dependency<br \/>\n-MT&lt;target&gt;<br \/>\nchange the default target rule for dependency generation<br \/>\n-MQ&lt;target&gt;<br \/>\nsame as -MT, but quotes special Make characters<br \/>\n-dM\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 output macro definitions in effect after preprocessing (use with -E)<br \/>\n-dD\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 same as -dM, but output #define directives in preprocessed source<br \/>\n-dN\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 same as -dD, but #define directives contain only macro names<br \/>\n-gcc\u00a0\u00a0\u00a0\u00a0\u00a0 Predefine the \"__GNUC__\", \"__GNUC_MINOR__\", and<br \/>\n\"__GNUC_PATCHLEVEL__\" macros (DEFAULT)<br \/>\n-no-gcc\u00a0\u00a0 Do not predefine GNUC macros listed in -gcc mode. Warning: can<br \/>\nprevent correct system header compilation, see -gcc-sys<br \/>\n-gcc-sys\u00a0 same as -no-gcc, except that the GNU macros are defined only while<br \/>\npreprocessing the system include headers<br \/>\n-no-icc\u00a0\u00a0 do not predefine the \"__ICC\" and \"__INTEL_COMPILER\" macros.<br \/>\nWarning: can prevent correct Intel header compilation<br \/>\n-pragma-optimization-level=[Intel|GCC]<br \/>\nprocess #pragma optimize using Intel (DEFAULT) or GCC syntax<\/p>\n<p>Component Control<br \/>\n\u63a7\u5236\u7ec4\u4ef6<br \/>\n-----------------<\/p>\n<p>-Qoption,&lt;tool&gt;,&lt;opts&gt;<br \/>\npass options &lt;opts&gt; to tool specified by &lt;tool&gt;<br \/>\n-Qlocation,&lt;tool&gt;,&lt;dir&gt;<br \/>\nset &lt;dir&gt; as the location of tool specified by &lt;tool&gt;<br \/>\n-Qinstall &lt;dir&gt;<br \/>\nset &lt;dir&gt; as root of compiler installation<\/p>\n<p>Language<br \/>\n\u8bed\u8a00<br \/>\n--------<\/p>\n<p>-std=&lt;std&gt;<br \/>\nenable language support for &lt;std&gt;, as described below<br \/>\nc99\u00a0\u00a0 enable C99 support for C programs<br \/>\nc++0x enable preliminary support for some C++0x features<br \/>\n-x &lt;type&gt;<br \/>\nall source files found subsequent to -x &lt;type&gt; will be recognized<br \/>\nas one of the following types:<br \/>\nc\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 - C source file<br \/>\nc++\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 - C++ source file<br \/>\nc-header\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 - C header file<br \/>\ncpp-output\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 - C pre-processed file<br \/>\nc++-cpp-output\u00a0\u00a0\u00a0\u00a0 - C++ pre-processed file<br \/>\nassembler\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 - assembly file<br \/>\nassembler-with-cpp - assembly file that needs to be preprocessed<br \/>\nnone\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 - revert to original file extension<br \/>\n-ansi\u00a0\u00a0\u00a0\u00a0 equivalent to GNU -ansi<br \/>\n-strict-ansi<br \/>\nstrict ANSI conformance dialect<br \/>\n-Zp[n]\u00a0\u00a0\u00a0 specify alignment constraint for structures where<br \/>\nn=1,2,4,8,16. 16 is the default<br \/>\n-fsyntax-only<br \/>\nperform syntax and semantic checking only (no object file produced)<br \/>\n-fpermissive<br \/>\nallows extensions for some non-conformant code<br \/>\n-funsigned-char<br \/>\nchange default char type to unsigned<br \/>\n-fshort-enums<br \/>\nallocate as many bytes as needed for enumerated types<br \/>\n-f[no-]unsigned-bitfields<br \/>\nchange default bitfield type to unsigned<br \/>\n-fno-rtti<br \/>\ndisable RTTI support<br \/>\n-fno-implicit-templates<br \/>\nnever emit code for non-inline templates which are instantiated<br \/>\nimplicitly; only emit code for explicit instantiations<br \/>\n-fno-implicit-inline-templates<br \/>\ndo not emit code for implicit instantiations of inline templates<br \/>\n-ftemplate-depth-[n]<br \/>\ncontrol the depth in which recursive templates are expanded<br \/>\n-[no]align<br \/>\nanalyze and reorder memory layout for variables and arrays<br \/>\n-[no-]restrict<br \/>\nenable\/disable the 'restrict' keyword for disambiguating pointers<br \/>\n-[no-]early-template-check<br \/>\nenable\/disable (DEFAULT) semantic checking of function template<br \/>\nprototypes (before instantiation). Requires -gcc-version=340 or<br \/>\nlater<br \/>\n-[no-]check-uninit<br \/>\ncheck for uninitialized variables<br \/>\n-export\u00a0\u00a0 enable the export template feature<br \/>\n-export-dir &lt;dir&gt;<br \/>\nadd directory to export template search path<br \/>\n-help-pragma<br \/>\noutput supported pragmas and their usage syntax<\/p>\n<p>Compiler Diagnostics<br \/>\n\u7f16\u8bd1\u8bca\u65ad<br \/>\n--------------------<\/p>\n<p>-w\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 disable all warnings<br \/>\n-w&lt;n&gt;\u00a0\u00a0\u00a0\u00a0 control diagnostics<br \/>\nn = 0\u00a0\u00a0\u00a0 display errors (same as -w)<br \/>\nn = 1\u00a0\u00a0\u00a0 display warnings and errors (DEFAULT)<br \/>\nn = 2\u00a0\u00a0\u00a0 display remarks, warnings and errors<br \/>\n-Wbrief\u00a0\u00a0 print brief one-line diagnostics<br \/>\n-Werror\u00a0\u00a0 force warnings to be reported as errors<br \/>\n-Werror-all<br \/>\nforce warnings and remarks to be reported as errors<br \/>\n-Wall\u00a0\u00a0\u00a0\u00a0 enable all warnings<br \/>\n-Wcheck\u00a0\u00a0 enable more strict diagnostics<br \/>\n-Weffc++\u00a0 enable effective C++ diagnostic warnings<br \/>\n-wo&lt;L1&gt;[,&lt;L2&gt;,...]<br \/>\nissue diagnostics L1 through LN only once<br \/>\n-W[no-]fatal-errors<br \/>\nends compilation after the first error encountered<br \/>\n-W[no-]format<br \/>\nenable argument checking for calls to printf, scanf, etc<br \/>\n-W[no-]format-security<br \/>\nwarn for uses of format strings and specifiers in printf,<br \/>\nscanf, etc that may introduce security problems<br \/>\n-W[no-]missing-declarations<br \/>\nwarn for global functions and variables without prior declaration<br \/>\n-W[no-]missing-prototypes<br \/>\nwarn for missing prototypes<br \/>\n-W[no-]strict-aliasing<br \/>\nwarn for code that might violate the optimizer's strict aliasing<br \/>\nrules. Warnings are issued only when using -fstrict-aliasing or<br \/>\n-ansi-alias.<br \/>\n-W[no-]strict-prototypes<br \/>\nwarn for functions declared or defined without specified argument<br \/>\ntypes<br \/>\n-W[no-]pointer-arith<br \/>\nwarn for questionable pointer arithmetic<br \/>\n-W[no-]uninitialized<br \/>\nwarn if a variable is used before being initialized<br \/>\n-Winline\u00a0 enable inline diagnostics<br \/>\n-W[no-]deprecated<br \/>\nprint warnings related to deprecated features<br \/>\n-W[no-]abi<br \/>\nwarn if generated code is not C++ ABI compliant<br \/>\n-Wcontext-limit=&lt;n&gt;<br \/>\nset maximum number of template instantiation contexts shown in<br \/>\ndiagnostic<br \/>\n-Wcast-qual<br \/>\nwarn if cast is used to override pointer type qualifier<br \/>\n-W[no-]unused-function<br \/>\nwarn if declared function is not used<br \/>\n-W[no-]unknown-pragmas<br \/>\nwarn if an unknown #pragma directive is used (DEFAULT)<br \/>\n-W[no-]main<br \/>\nwarn if return type of main is not expected<br \/>\n-W[no-]comment[s]<br \/>\nwarn when\u00a0\u00a0 comment<br \/>\n-W[no-]conversion<br \/>\nwarn for implicit conversions that may alter a value<br \/>\n-W[no-]return-type<br \/>\nwarn when a function uses the default int return type and warn when<br \/>\na return statement is used in a void function<br \/>\n-W[no-]extra-tokens<br \/>\nwarn about extra tokens after prepreprocessor directives<br \/>\n-W[no-]pragma-once<br \/>\nwarn about the use of #pragma once<br \/>\n-W[no-]shadow<br \/>\nwarn when a variable declaration hides a previous declaration<br \/>\n-Woverloaded-virtual<br \/>\nwarn when a function declaration hides virtual functions from a base<br \/>\nclass<br \/>\n-W[no-]trigraphs<br \/>\nwarn about the recognition and conversion of trigraphs<br \/>\n-W[no-]multichar<br \/>\nwarn if a multicharacter constant ('ABC') is used<br \/>\n-W[no-]overflow<br \/>\nwarn for operations that could result in integer overflow<br \/>\n-Wwrite-strings<br \/>\nIssues a diagnostic message if const char * is converted<br \/>\nto (non-const) char *.<br \/>\n-Wp64\u00a0\u00a0\u00a0\u00a0 print diagnostics for 64-bit porting<br \/>\n-W[no-]shorten-64-to-32<br \/>\nwarn for values implicitly converted from a 64-bit to a 32-bit type.<br \/>\nSimilar to -Wp64<br \/>\n-[no]traceback<br \/>\nspecify whether the compiler generates data to allow for source file<br \/>\ntraceback information at runtime (only to be used when linking with<br \/>\nFortran programs)<br \/>\n-noerror-limit<br \/>\nset no maximum number on error-level or fatal-level error messages<br \/>\n-diag-enable &lt;v1&gt;[,&lt;v2&gt;,...]<br \/>\nenable the specified diagnostics or diagnostic groups<br \/>\n-diag-disable &lt;v1&gt;[,&lt;v2&gt;,...]<br \/>\ndisable the specified diagnostics or diagnostic groups<br \/>\nwhere &lt;vN&gt; may be individual diagnostic numbers or group names.<br \/>\nwhere group names include:<br \/>\nsc[n]\u00a0\u00a0\u00a0\u00a0\u00a0 - perform source code analysis: n=1 for critical<br \/>\nerrors, n=2 for all errors and n=3 for all errors<br \/>\nand warnings<br \/>\nsc-include - perform source code analysis on include files<br \/>\nsc-parallel[n] - perform analysis of parallelization in<br \/>\nsource code: n=1 for critical errors,<br \/>\nn=2 for errors, n=3 for all errors and<br \/>\nwarnings<br \/>\nthread\u00a0\u00a0\u00a0\u00a0 - enable diagnostics to aid in thread-enabling source<br \/>\nport-win\u00a0\u00a0 - enable diagnostics for GNU extensions that may<br \/>\ncause errors when porting to Windows<br \/>\n-diag-error &lt;v1&gt;[,&lt;v2&gt;,...]<br \/>\noutput the specified diagnostics or diagnostic groups as errors<br \/>\n-diag-warning &lt;v1&gt;[,&lt;v2&gt;,...]<br \/>\noutput the specified diagnostics or diagnostic groups as warnings<br \/>\n-diag-remark &lt;v1&gt;[,&lt;v2&gt;,...]<br \/>\noutput the the specified diagnostics or diagnostic groups as remarks<br \/>\n-diag-dump<br \/>\ndisplay the currently enabled diagnostic messages to stdout or to a<br \/>\nspecified diagnostic output file.<br \/>\n-diag-file[=&lt;file&gt;]<br \/>\n&lt;file&gt; where diagnostics are emitted to.\u00a0 Not specifying this causes<br \/>\nmessages to be output to stderr<br \/>\n-diag-file-append[=&lt;file&gt;]<br \/>\n&lt;file&gt; where diagnostics are emitted to. When &lt;file&gt; already exists,<br \/>\noutput is appended to the file<br \/>\n-[no-]diag-id-numbers<br \/>\nenable(DEFAULT)\/disable the diagnostic specifiers to be output in<br \/>\nnumeric form<br \/>\n-diag-error-limit &lt;num&gt;<br \/>\nspecify the maximum number of errors emitted<br \/>\n-diag-once &lt;v1&gt;[,&lt;v2&gt;,...]<br \/>\nissue diagnostics v1 through vN only once<\/p>\n<p>Miscellaneous<br \/>\n\u6df7\u6742<br \/>\n-------------<\/p>\n<p>-V\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 display compiler version information<br \/>\n\u663e\u793a\u7f16\u8bd1\u5668\u7248\u672c\u4fe1\u606f<br \/>\n-dumpversion<br \/>\ndisplay the compiler version number only<br \/>\n\u663e\u793a\u7f16\u8bd1\u5668\u7248\u672c\u53f7<br \/>\n-dumpmachine<br \/>\ndisplay the target machine only<br \/>\n\u663e\u793a\u76ee\u6807\u673a\u5668<br \/>\n--version<br \/>\ndisplay GCC style version information<br \/>\n\u663e\u793a\u7248\u672c\u4fe1\u606f(GCC \u6837\u5f0f)<br \/>\n-[no-]sox<br \/>\nenable\/disable(DEFAULT) saving of compiler options and version in<br \/>\nthe executable<br \/>\n\u542f\u7528\/\u7981\u7528 \u7f16\u8bd1\u5668\u53c2\u6570\u548c\u7248\u672c\u4fdd\u5b58\u529f\u80fd<br \/>\n-save-temps<br \/>\nstore the intermediate files in current directory and name them<br \/>\nbased on the source file.\u00a0 Only saves files that are generated by<br \/>\ndefault<br \/>\n-dryrun\u00a0\u00a0 show driver tool commands but do not execute tools<br \/>\n-v\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 show driver tool commands and execute tools<br \/>\n-[no-]multibyte-chars<br \/>\nprovide support for multi-byte characters<br \/>\n-multiple-processes[=&lt;n&gt;]<br \/>\ncreate multiple processes that can be used to compile large numbers<br \/>\nof source files at the same time<\/p>\n<p>Data<br \/>\n\u6570\u636e<br \/>\n----<\/p>\n<p>-Zp[n]\u00a0\u00a0\u00a0 specify alignment constraint for structures (n=1,2,4,8,16<br \/>\n-Zp16 DEFAULT)<br \/>\n-[no]align<br \/>\nanalyze and reorder memory layout for variables and arrays<br \/>\n-fminshared<br \/>\nCompilation is for the main executable. Absolute addressing can be<br \/>\nused and non-position independent code generated for symbols that<br \/>\nare at least protected<br \/>\n-fcommon\u00a0 Enables the compiler to treat common variables as if they were<br \/>\ndefined.\u00a0 That in turn allows the use of gprel addressing of common<br \/>\ndata variables.\u00a0 -fno-common disables<br \/>\n-freg-struct-return<br \/>\nreturn struct and union values in registers when possible<br \/>\n-fstack-security-check<br \/>\nenable overflow security checks.<br \/>\n-f[no-]stack-security-check disables (DEFAULT)<br \/>\n-fstack-protector<br \/>\nenable stack overflow security checks.<br \/>\n-f[no-]stack-protector disables (DEFAULT)<br \/>\n-fpic, -fPIC<br \/>\ngenerate position independent code (-fno-pic\/-fno-PIC is DEFAULT)<br \/>\n-fpie, -fPIE<br \/>\ngenerate position independent code that will be linked into an<br \/>\nexecutable (-fno-pie\/-fno-PIE is DEFAULT)<br \/>\n-[no-]global-hoist<br \/>\nenable(DEFAULT)\/disable external globals are load safe<br \/>\n-f[no-]keep-static-consts<br \/>\nenable\/disable(DEFAULT) emission of static const variables even<br \/>\nwhen not referenced<br \/>\n-fpack-struct<br \/>\npack structure members together<br \/>\n-f[no-]math-errno<br \/>\nset ERRNO after calling standard math library functions<br \/>\n-no-bss-init<br \/>\ndisable placement of zero-initialized variables in BSS (use DATA)<br \/>\n-falign-functions=[2|16]<br \/>\nalign the start of functions on a 2 (DEFAULT) or 16 byte boundary<br \/>\n-falign-functions<br \/>\nalign the start of functions to an optimal machine-dependent value.<br \/>\n-fno-align-functions (DEFAULT) aligns on a 2-byte boundary<br \/>\n-falign-stack=&lt;mode&gt;<br \/>\nstack alignment method to use on entry to routines<br \/>\ndefault\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 - use default heuristics<br \/>\nmaintain-16-byte - do not assume any specific alignment, but<br \/>\nmaintain alignment in case the stack is already<br \/>\naligned<br \/>\nassume-16-byte\u00a0\u00a0 - assume the stack is aligned on 16-byte<br \/>\nboundaries<br \/>\n-fvisibility=[extern|default|protected|hidden|internal]<br \/>\nGlobal symbols (data and functions) will get the visibility<br \/>\nattribute given by default. Symbol visibility attributes explicitly<br \/>\nset in the source code or using the symbol visibility attribute<br \/>\nfile options will override the -fvisibility setting<br \/>\n-fvisibility-extern=&lt;file&gt;<br \/>\nSpace separated symbols listed in the &lt;file&gt; argument will geti<br \/>\nvisibility set to extern<br \/>\n-fvisibility-default=&lt;file&gt;<br \/>\nSpace separated symbols listed in the &lt;file&gt; argument will get<br \/>\nvisibility set to default<br \/>\n-fvisibility-protected=&lt;file&gt;<br \/>\nSpace separated symbols listed in the &lt;file&gt; argument will get<br \/>\nvisibility set to protected<br \/>\n-fvisibility-hidden=&lt;file&gt;<br \/>\nSpace separated symbols listed in the &lt;file&gt; argument will get<br \/>\nvisibility set to hidden<br \/>\n-fvisibility-internal=&lt;file&gt;<br \/>\nSpace separated symbols listed in the &lt;file&gt; argument will get<br \/>\nvisibility set to internal<br \/>\n-fvisibility-inlines-hidden<br \/>\nmark inline member functions as hidden<\/p>\n<p>Compatibility<br \/>\n\u517c\u5bb9\u6027<br \/>\n-------------<\/p>\n<p>-gcc-name=&lt;name&gt;<br \/>\nname and location of gcc if not where expected<br \/>\n-gxx-name=&lt;name&gt;<br \/>\nname and location of g++ if not where expected<br \/>\n-gcc-version=&lt;version&gt;<br \/>\nspecify the &lt;version&gt; of gcc compatibility.\u00a0 Default value matches<br \/>\ngcc version installed.\u00a0 Major\/Minor versions listed but patch<br \/>\nlevels (i.e. 345) are permissible<br \/>\n320 - gcc 3.2.x compatibility<br \/>\n330 - gcc 3.3.x compatibility<br \/>\n340 - gcc 3.4.x compatibility<br \/>\n400 - gcc 4.0.x compatibility<br \/>\n410 - gcc 4.1.x compatibility<br \/>\n420 - gcc 4.2.x compatibility<br \/>\n-fabi-version=&lt;val&gt;<br \/>\ndirects the compiler to select a specific ABI implementation<br \/>\n0 - most recent ABI implementation<br \/>\n1 - g++ 3.2 compatible ABI implementation<br \/>\n2 - most conformant ABI implementation<\/p>\n<p>Linking\/Linker<br \/>\n\u8fde\u63a5\uff0c\u8fde\u63a5\u5668<br \/>\n--------------<\/p>\n<p>-L&lt;dir&gt;\u00a0\u00a0 instruct linker to search &lt;dir&gt; for libraries<br \/>\n-l&lt;string&gt;<br \/>\ninstruct the linker to link in the -l&lt;string&gt; library<br \/>\n-shared-intel<br \/>\nlink Intel provided libraries dynamically<br \/>\n-static-intel<br \/>\nlink Intel provided libraries statically<br \/>\nIntel \u63d0\u4f9b\u7684\u9759\u6001\u94fe\u63a5\u5e93<\/p>\n<p>-shared-libgcc<br \/>\nlibgcc\u7684\u52a8\u6001\u94fe\u63a5<br \/>\n-static-libgcc<br \/>\nlibgcc\u7684\u9759\u6001\u94fe\u63a5<br \/>\n-dynamic-linker&lt;file&gt;<br \/>\nselect dynamic linker other than the default<br \/>\n-no-cxxlib<br \/>\ndo not link in C++ runtime libraries<br \/>\n-cxxlib[=dir]<br \/>\nlink using C++ run-time libraries provided with gcc dir is an<br \/>\noptional top-level location for the gcc binaries and libraries<br \/>\n-nodefaultlibs<br \/>\ndo not use standard libraries when linking<br \/>\n-nostartfiles<br \/>\ndo not use standard startup files when linking<br \/>\n-nostdlib<br \/>\ndo not use standard libraries and startup files when linking<br \/>\n-static\u00a0\u00a0 prevents linking with shared libraries<br \/>\n-shared\u00a0\u00a0 produce a shared object<br \/>\n-Bstatic\u00a0 specify following libraries are linked statically<br \/>\n-Bdynamic<br \/>\nspecify following libraries are linked dynamically<br \/>\n-pthread\u00a0 use POSIX* thread library for multithreading support<br \/>\n-cxxlib-&lt;mode&gt;<br \/>\ntell the compiler which C++ run-time libraries to use<br \/>\nnostd - do not link in standard C++ library<br \/>\n-u &lt;symbol&gt;<br \/>\npretend the &lt;symbol&gt; is undefined<br \/>\n-T &lt;file&gt;<br \/>\ndirect linker to read link commands from &lt;file&gt;<br \/>\n-Xlinker &lt;val&gt;<br \/>\npass &lt;val&gt; directly to the linker for processing<br \/>\n-Wa,&lt;o1&gt;[,&lt;o2&gt;,...]<br \/>\npass options o1, o2, etc. to the assembler<br \/>\n-Wl,&lt;o1&gt;[,&lt;o2&gt;,...]<br \/>\npass options o1, o2, etc. to the linker for processing<br \/>\n-Wp,&lt;o1&gt;[,&lt;o2&gt;,...]<br \/>\npass options o1, o2, etc. to the preprocessor<\/p>\n<p>Linker Specific Options<br \/>\n\u8fde\u63a5\u5668\u6307\u5b9a\u53c2\u6570<br \/>\n-----------------------<\/p>\n<p>These options are specific to the linker.\u00a0 Details can be found in the linker<br \/>\ndocumentation and man page<br \/>\n-L&lt;dir&gt;<br \/>\n-T&lt;arg&gt;<br \/>\n-h&lt;arg&gt;<br \/>\n-u&lt;arg&gt;<br \/>\n-z&lt;arg&gt;<br \/>\n-i<br \/>\n-r<br \/>\n-s<br \/>\n-N<br \/>\n-Bsymbolic<br \/>\n-Bdynamic<br \/>\n-Bstatic<\/p>\n<p>Deprecated Options<br \/>\n\u5df2\u65e0\u6548\u7684\u53c2\u6570\uff08\u76f8\u5bf9\u65e9\u671f\u7248\u672c\uff09<br \/>\n------------------<\/p>\n<p>-Ob\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 use -inline-level=&lt;n&gt;<br \/>\n-cxxlib-gcc[=dir]\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 use -cxxlib[=dir]<br \/>\n-i-dynamic\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 use -shared-intel<br \/>\n-i-static\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 use -static-intel<br \/>\n-inline-debug-info\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 use -debug inline-debug-info<br \/>\n-mp\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 use -fp-model &lt;arg&gt;<br \/>\n-use-asm\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 no replacement<br \/>\n-A-\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 use -U&lt;arg&gt;<br \/>\n-prefetch\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 use -opt-prefetch<br \/>\n-prof-genx\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 use -prof-gen=srcpos<br \/>\n-openmp-lib=legacy\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 use -openmp-lib=compat<br \/>\n-xB\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 use -xSSE2 (i32 only)<br \/>\n-xK\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 use -xSSE (i32 only)<br \/>\n-axK\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 No replacement<br \/>\n-xW\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 use -msse2<br \/>\n-axW\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 use -msse2<br \/>\n-xN\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 use -xSSE2<br \/>\n-axN\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 use -axSSE2<br \/>\n-xP\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 use -xSSE3<br \/>\n-axP\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 use -axSSE3<br \/>\n-xT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 use -xSSSE3<br \/>\n-axT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 use -axSSSE3<br \/>\n-xS\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 use -xSSE4.1<br \/>\n-axS\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 use -axSSE4.1<br \/>\n-xO\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 use -msse3<br \/>\n-func-groups\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 use -prof-func-groups<br \/>\n-diag-enable sv&lt;n&gt;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 use -diag-enable sc&lt;n&gt;<br \/>\n-diag-enable sv-include\u00a0 use -diag-enable sc-include<br \/>\n-diag-disable sv\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 use -diag-disable sc<br \/>\n-diag-sv\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 use -diag-enable sc<br \/>\n-diag-sv-error\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 use -diag-disable warning<br \/>\n-diag-sv-include\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 use -diag-enable sc-include<br \/>\n-diag-sv-level\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 No replacement<br \/>\n-diag-sv-sup\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 use -diag-disable &lt;v1&gt;[,&lt;v2&gt;,...]<br \/>\n-alias-args\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 use -fargument-alias<br \/>\n-c99\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 use -std=c99<br \/>\n-create-pch\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 use -pch-create<br \/>\n-fwritable-strings\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 no replacement<br \/>\n-Kc++\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 use -x c++<br \/>\n-no-alias-args\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 use -fargument-noalias<br \/>\n-use-pch\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 use -pch-use<br \/>\n-wn\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 use -diag-error-limit<br \/>\n-wd\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 use -diag-disable<br \/>\n-we\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 use -diag-error<br \/>\n-ww\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 use -diag-warning<br \/>\n-wr\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 use -diag-remark<br \/>\n-wo\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 use -diag-once<\/p>\n<p>-help [category]\u00a0\u00a0 print full or category help message<\/p>\n<p>Valid categories include<br \/>\nadvanced\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 - Advanced Optimizations<br \/>\ncodegen\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 - Code Generation<br \/>\ncompatibility\u00a0\u00a0 - Compatibility<br \/>\ncomponent\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 - Component Control<br \/>\ndata\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 - Data<br \/>\ndeprecated\u00a0\u00a0\u00a0\u00a0\u00a0 - Deprecated Options<br \/>\ndiagnostics\u00a0\u00a0\u00a0\u00a0 - Compiler Diagnostics<br \/>\nfloat\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 - Floating Point<br \/>\nhelp\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 - Help<br \/>\ninline\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 - Inlining<br \/>\nipo\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 - Interprocedural Optimization (IPO)<br \/>\nlanguage\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 - Language<br \/>\nlink\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 - Linking\/Linker<br \/>\nmisc\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 - Miscellaneous<br \/>\nopt\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 - Optimization<br \/>\noutput\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 - Output<br \/>\npgo\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 - Profile Guided Optimization (PGO)<br \/>\npreproc\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 - Preprocessor<br \/>\nreports\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 - Optimization Reports<br \/>\nopenmp\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 - OpenMP and Parallel Processing<\/p>\n<p>Copyright (C) 1985-2009, Intel Corporation.\u00a0 All rights reserved.<br \/>\n* Other brands and names are the property of their respective owners.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u65e9\u671f\u5728\u5c1d\u8bd5icc \u7f16\u8bd1\u5668\u6d4b\u8bd5\u65f6\u987a\u4fbf\u5c06\u82f1\u6587\u6587\u6863\u505a\u4e86\u90e8\u5206\u4e2d\u6587\u7ffb\u8bd1\uff0c\u672f\u8bed\u592a\u5f3a\uff0c\u90e8\u5206\u7ffb\u8bd1 &hellip;<\/p>\n<p class=\"read-more\"><a href=\"https:\/\/www.sulabs.net\/?p=59\">\u7ee7\u7eed\u9605\u8bfb &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-59","post","type-post","status-publish","format-standard","hentry","category-linux"],"_links":{"self":[{"href":"https:\/\/www.sulabs.net\/index.php?rest_route=\/wp\/v2\/posts\/59","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sulabs.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sulabs.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sulabs.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sulabs.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=59"}],"version-history":[{"count":2,"href":"https:\/\/www.sulabs.net\/index.php?rest_route=\/wp\/v2\/posts\/59\/revisions"}],"predecessor-version":[{"id":742,"href":"https:\/\/www.sulabs.net\/index.php?rest_route=\/wp\/v2\/posts\/59\/revisions\/742"}],"wp:attachment":[{"href":"https:\/\/www.sulabs.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=59"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sulabs.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=59"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sulabs.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=59"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}