Что означает «apachectl»? Почему это не просто «апач»?

Позвольте мне привести более подробный пример. Что касается ниже структуры:

struct Count{
    uint32_t c;

    Count(uint32_t i=0):c(i){}

    uint32_t getCount(){
        return c;
    }

    uint32_t add(const Count& count){
        uint32_t total = c + count.getCount();
        return total;
    }
};

Как вы видите выше, IDE (CLion) даст подсказки Non-const function 'getCount' is called on the const object. В методе add count объявлен как объект const, но метод getCount не является методом const, поэтому count.getCount() может изменять члены в count.

Ошибка компиляции, как показано ниже (основное сообщение в моем компиляторе):

error: passing 'const xy_stl::Count' as 'this' argument discards qualifiers [-fpermissive]

Чтобы решить эту проблему, вы можете:

  1. изменить метод uint32_t getCount(){...} на uint32_t getCount() const {...}. Таким образом, count.getCount() не будет изменять элементы в count.

или

  1. изменить uint32_t add(const Count& count){...} на uint32_t add(Count& count){...}. Поэтому count не заботится об изменении членов в нем.

Что касается вас, объекты в std :: set сохраняются как const StudentT, но метод getId и getName не const, поэтому вы указываете вышеприведенную ошибку.

Вы также можете увидеть этот вопрос Значение 'const' последним в объявлении функции класса? для более подробно.

13
задан Bialecki 24 May 2009 в 20:49
поделиться

5 ответов

Это сокращение от apache control (ler?). Он сообщает apache, что делать, но это не сама служба.

20
ответ дан 1 December 2019 в 18:55
поделиться

httpd - практический демон. Это та часть, которая действительно выполняет свою работу. apachectl - это то, как вы можете управлять этим демоном и выполнять с ним операции. Это просто интерфейс управления, а не сама настоящая программа.

Из справочной страницы:

apache2ctl - это интерфейс к серверу Apache HyperText Transfer Protocol (HTTP). Он разработан, чтобы помочь администратору контролировать работу демона Apache apache2.

(У меня на машине есть apache2, но это то же самое)

12
ответ дан 1 December 2019 в 18:55
поделиться

apachectl - HTTP-сервер Apache интерфейс управления

Похоже, это просто старое соглашение об именах.

6
ответ дан 1 December 2019 в 18:55
поделиться

Программа apachectl помогает управлять демоном HTTPD Apache.

2
ответ дан 1 December 2019 в 18:55
поделиться

Сам двоичный файл сервера называется httpd в восходящем дистрибутиве, но apache2 в других, таких как пакет debian.

apachectl ] или apache2ctl (ctl означает c на t ro l ) - сценарий оболочки, который позволяет запускать / останавливать и т. д. группа процессов httpd или apache2 .

0
ответ дан 1 December 2019 в 18:55
поделиться
Другие вопросы по тегам:

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