./ configure не может найти GCC, но где он может?

В системах Unix-стиля структура данных, которая представляет объекты файловой системы (другими словами, данные о файле), хранится в том, что называется "inode".

Имя файла - это просто ссылка на этот inode, и называется "жесткой ссылкой". Нет никакой разницы между первым именем, которое дается файлу, и любой последующей ссылкой. Так что ответ "да": жесткая ссылка - это обычный файл, и, действительно, обычный файл - это жесткая ссылка.

Команда ls покажет вам, сколько жестких ссылок существует на файл.

Например:

seumasmac@comp:~$ echo Hello > /tmp/hello.txt
seumasmac@comp:~$ ls -l /tmp/hello.txt 
-rw-rw-r-- 1 seumasmac seumasmac 6 Oct  4 13:05 /tmp/hello.txt

Здесь мы создали файл под названием /tmp/hello.txt. 1 в выводе ls -l указывает на то, что на этот файл существует 1 жесткая ссылка. Этой жесткой ссылкой является само имя файла /tmp/hello.txt.

Если теперь мы создадим еще одну жесткую ссылку на этот файл:

seumasmac@comp:~$ ln /tmp/hello.txt /tmp/helloagain.txt
seumasmac@comp:~$ ls -l /tmp/hello*
-rw-rw-r-- 2 seumasmac seumasmac 6 Oct  4 13:05 /tmp/helloagain.txt
-rw-rw-r-- 2 seumasmac seumasmac 6 Oct  4 13:05 /tmp/hello.txt

то увидим, что оба имени файлов указывают на наличие 2 жестких ссылок на файл. Ни одно из этих имен не является "правильным" именем файла, они оба одинаково правильные. Мы видим, что они оба указывают на один и тот же inode (в данном случае 5374043):

seumasmac@comp:~$ ls -i /tmp/hello*
5374043 /tmp/helloagain.txt  5374043 /tmp/hello.txt

Существует распространенное заблуждение, что для каталогов это разные вещи. Я слышал, как люди говорили, что количество ссылок, возвращаемых ls для каталога, - это количество подкаталогов, включая . и ... , что неверно. Или, по крайней мере, хотя это и даст вам правильное число, оно будет правильным по неправильным причинам!

Если мы создадим каталог и выполним ls -ld, то получим:

seumasmac@comp:~$ mkdir /tmp/testdir
seumasmac@comp:~$ ls -ld /tmp/testdir
drwxrwxr-x 2 seumasmac seumasmac 4096 Oct  4 13:20 /tmp/testdir

Это показывает, что есть 2 жесткие ссылки на этот каталог. Это:

/tmp/testdir
/tmp/testdir/.

Обратите внимание, что /tmp/testdir/... является не ссылкой на этот каталог, это ссылка на /tmp. И это объясняет, почему работает "количество подкаталогов". Когда мы создаем новый подкаталог:

seumasmac@comp:~$ mkdir /tmp/testdir/dir2
seumasmac@comp:~$ ls -ld /tmp/testdir
drwxrwxr-x 3 seumasmac seumasmac 4096 Oct  4 13:24 /tmp/testdir

теперь вы видите, что есть 3 жесткие ссылки на каталог /tmp/testdir. Это:

/tmp/testdir
/tmp/testdir/.
/tmp/testdir/dir2/..

Таким образом, каждый новый подкаталог будет увеличивать количество ссылок на одну, потому что ... записи, которую он содержит.

0
19.02.2018, 05:41
1 ответ

En los sistemas que usan el conjunto de compiladores GCC, el compilador C++ esg++(cppes el preprocesador C ).

Un nombre común para encontrar un compilador de C++ es c++. Suele ser un enlace simbólico a un compilador de C++ apropiado como g++o clang++o cualquiera que sea el compilador del sistema instalado (si está instalado ).

El mensaje de error del script configureindica que no hay un compilador de C++ instalado en su sistema. En su Linux, el compilador de C++ se instala por separado del compilador de C.

Para instalar el compilador GCC C++ en CentOS:

yum install gcc-c++
4
28.01.2020, 02:18

Теги

Похожие вопросы