8.160 --reduce_paths、--no_reduce_paths

ファイルパスの冗長なパス名情報の除外を有効にするかまたは無効にできます。

冗長なパス名情報の除外が有効な場合、コンパイラは、オペレーティングシステムに渡されたディレクトリパスから形式 xyz\.. のシーケンスを削除します。これによって、#include の検索など、コンパイラによって作成されたシステムパスがインクルードされます。

形式 xyz\.. のシーケンスの削除は、xyz がリンクの場合、無効となる場合があります。

モード

このオプションは Windows システムでのみ使用できます。

使用法

Windows システムには、ファイルパスが 260 文字までという制限があります。絶対名が 260 文字を超えるパス名が存在する場合、 --reduce_paths オプションを使用して、ディレクトリを .. の対応するインスタンスとマッチアップし、directory/.. シーケンスをペアで削除することにより、絶対パス名の長さを短縮できます。

--reduce_paths オプションを使用してパスの長さを短縮するのではなく、長いファイルパスや深いネスト構造のファイルパスを使用しないようにすることを推奨します。

デフォルト

デフォルトは --no_reduce_paths です。

以下のファイル
..\..\..\xyzzy\xyzzy\objects\file.c
を以下のディレクトリ
\foo\bar\baz\gazonk\quux\bop
からコンパイルしたときの実際のパスは、以下のようになります。
\foo\bar\baz\gazonk\quux\bop\..\..\..\xyzzy\xyzzy\objects\file.o
オプション --reduce_paths を使用して同じディレクトリから同じファイルをコンパイルすると、実際のパスは以下のようになります。
\foo\bar\baz\xyzzy\xyzzy\objects\file.c
非機密扱いPDF file icon PDF 版ARM DUI0472LJ
Copyright © 2010-2015 ARM.All rights reserved.