use*_*501 0 c++ filesystems directory-structure include
这个问题困扰了我一年多,但我从来没有费心去尝试回答......直到今天......
我注意到我在'/ usr/local/include/SFML /'下安装了SFML"库".
如果我查看该目录,我发现它主要包含头文件.所以我猜测'include'目录应该包含头文件而不是目标文件.
这提出了一个问题.'cmath'或'vector'在哪里?
事实证明,使用find,它们被放置在'/usr/include/c++/4.7/cmath'中 - 基本上是'/ usr/include /'
那么本地include('/ usr/local/include')和include目录('/ usr/include')之间有什么区别?
在文件系统中,我看到很多'lib','lib32'和'lib64'导演.我的猜测是编译的.cpp文件或目标文件都在这些目录中.我猜测lib是在64位架构进入游戏之前使用的旧目录.我猜测现代接受的事情是将您的32位目标文件放在lib32中,将64位版本放在lib64中.那是对的吗?
有一个'/ usr/local/lib'目录.
但是还有一个'/ usr/lib'目录.再次,为什么还有一个"本地"的?
另外,在'/ usr /'里面有一个'lib','lib32'和'lib64'.但是,在'/ usr /'里面只有一个'lib'目录.为什么是这样?
我不确定这个问题是否有具体的答案,但我会尽量给出一些指导.
通常/usr/local用于"自定义安装".也就是说,它不是基本安装的一部分.当然,这是一个指南,所以你仍然可以找到一些安装的东西/usr/lib,当它真的应该安装在/usr/local/lib(或/usr/local/lib{32,64}适当的时候).
是的,lib32并且lib64适用于与大小相关的库(尽管如果在lib64中安装32位库并在lib32中安装64位库,您的程序将完美运行 - 如果您这样做,则更难以了解正在发生的事情!).
有时是lib和lib64或lib和lib32.这取决于分布.如果有lib32和lib64中,lib往往是那里举行事情是"大小无关性",如存储在配置文件中/usr/lib.
肯定有其他目录可用于了解 - 您的主目录,/var/log/日志文件,/var/run锁文件和.pid文件以及特定应用程序的其他"状态"文件,还有一个/var/lib目录 - 似乎包含一些随机选择特定于组件的库.的/opt(这是排序的另一变型的/usr/local/)有时用于存储二进制文件等
编辑:
可能是知道有用directorys的另一类是/proc,/sys和/dev目录.
/procprocfs内核中的文件系统驱动程序支持它提供有关系统正在执行的操作的信息,例如cat /proc/meminfo将显示内存的统计信息(及其用法),cat /proc/cpuinfo将显示机器的CPU.cat /proc/self/status将显示当前进程的状态.如果你想看到一些其他的过程做什么,cat /proc/xx/status其中xx的进程ID(数字)会显示什么其他进程做.如果你看看里面有更多可用 - 其中一些比其他更有用.
它/sys是一个类似的结构/proc,但有更多的"系统"导向的东西,更多的/proc是关于过程,但有一些重叠.
这/dev/是设备的"根"./dev/sda将是你的硬盘之一(但可能有另一个名称,具体取决于你拥有的硬盘).
| 归档时间: |
|
| 查看次数: |
157 次 |
| 最近记录: |