2013-07-12 3 views
3

j'ai trouvé bibliothèques C++ pourrait inclure cette façon:C++ inclusion de chemin bibliothèque

#include "..\example.h" 
#include ".\another_example.h" 

ce qui est des points utilisés pour?

+0

[chemins actuels et parents] (http://edndoc.esri.com/arcobjects/9.2/net/shared/geoprocessing/sharing_tools_and_toolboxes/pathnames_explained_colon_absolute_relative_unc_and_url.htm). –

+1

Nitpicking, mais important: vous n'incluez pas une bibliothèque de cette façon, mais plutôt un fichier. La directive include sera traitée par le * preprocessor *. Le résultat est alors * une * "unité de traduction" compilée par le compilateur. – CouchDeveloper

+1

Les barres obliques ('/') doivent être utilisées pour les séparateurs de chemins même sous Windows. C'est-à-dire, si vous voulez que votre code soit utile n'importe où en dehors de votre environnement de développement. –

Répondre

6

Ils doivent indiquer les chemins de fichiers inclus sont par rapport à la trajectoire réelle du fichier, y compris.

. pointe vers le répertoire réel du fichier, y compris
.. RAPPELLE le parent de répertoires réels de fichiers, y compris diretory

+0

Vous pourriez * souligner * que cette directive d'importation donnée avec un chemin de fichier * entre guillemets * est relative au chemin réel du fichier * incluant * - ce que je soupçonne n'est pas clair pour les autres affiches;) – CouchDeveloper

+0

@CouchDeveloper comme ça? THX pour l'indice. –

+0

oui, semble beaucoup mieux;) – CouchDeveloper

3

Deux points représentent le répertoire parent du chemin actuellement entré. Un point représente le chemin actuellement saisi sur le côté gauche d'un point et indique que vous voulez un chemin relatif.

Un chemin relatif est un chemin relatif au répertoire de travail de l'utilisateur ou de l'application, de sorte que le chemin absolu sera pas à être donné.

Si vous commencez votre chemin avec / (sur systèmes * nix) ou DRIVELETTER: (sous Windows, par exemple D:), le chemin est absolu. Si vous ne le faites pas, le chemin est relatif. Si le chemin est relatif, il ajoute automatiquement le répertoire de votre fichier au chemin entré.

Exemple:

"dir/././../dir/.." est le répertoire qui contient le fichier d'origine. Les réductions sont:

dir/././../dir/.. ->dir/./../dir/.. ->dir/../dir/.. ->/dir/.. ->. -> répertoire de travail. Nous avons supprimé ./ car il s'appelle alias dans le répertoire en cours. Nous avons retiré /dir/.. parce que nous entrons dans un répertoire avec dir et revenir avec ..

L'une des caractéristiques les plus souvent utilisés de ./ (mais dans le contexte d'une coquille, par exemple bash) - il oblige à utiliser un chemin relatif au lieu de appeler un programme exécutable dans la variable $ PATH. Par exemple, si vous tapez ls dans le terminal sur * nix, il liste les fichiers dans le répertoire de travail. Si vous tapez ./ls, il exécutera l'exécutable portant le nom ls dans le répertoire de travail actuel et exécutera ce que ce programme fait.

Vous pouvez en savoir plus sur les séparateurs de chemin dans this article sur wikipedia

+0

'" dir /././../ dir/.. "' est le répertoire courant je ne comprends pas ... – chipp

+0

@chipp, voir la mise à jour –

+0

Vos exemples sont plus confus que d'éclaircir la question de l'OP. De plus, vous n'expliquez pas ce que vous entendez par "répertoire de travail" ou "répertoire courant". Ceux-ci ont d'autres significations dans d'autres contextes, et sont différents de ce que l'on entend dans ce cas. Donc, je suppose que ce n'est pas clair pour vous non plus. – CouchDeveloper

0

Deux points signifie un répertoire plus élevé que celui en cours. Par exemple, si vous êtes dans le répertoire C: \ some \ directory "," .. \ "serait" C: \ some "

Un seul point fait référence au répertoire courant. ". \" signifierait "C: \ some \ directory"

0

Un point est votre répertoire actuel et deux points sont votre répertoire parent.

0

un point . est pour le répertoire de fichier

2 points de .. sont pour le répertoire parent du fichier.

Questions connexes