Russian Apache Switch to English
Switch to Russian koi8-r
windows=1251
cp-866
iso8859-5
Russian Apache Как это работает Рекоммендации Где взять Как установить Как настроить Статус и поддержка
Краткий обзор FAQ Список рассылки Благодарности Поиск по серверу Powered by Russian Apache
Russian Apache mailing list archive (apache-rus@lists.lexa.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [apache-rus] compile Apache/Rus in AIX



In <Pine.SGI.4.05.9809291844240.799-100000@fly.macomnet.ru> Sergey Vovk (vsv@macomnet.ru) wrote:
SV> On Mon, 28 Sep 1998, Alex Tutubalin wrote:

>> Привет,
>>
>>  alr> Недавно компилировал Apache 1.3.1 (кажется :-) ) PL 25.10
>>  alr> на RS/6000 AIX 4.2.1, и он не скомпилировался :-(
>>  alr> Компилятор: CC, лицензионный
>>  alr> Правится в одном из *.h apache: функция  * const *
>>  alr> заменяется на * без const * в двух местах.
>>  alr> Если интересно, можно подробнее.
>> Это функции имеют отношение к Russian Apache ? Тогда давайте подробнее личной
>> почтой. Если же это родные апачные функции, то http://bugs.apache.org
>> или что-то в этом духе.

Без толку. Они четко и однозначно дали понять: для компиляции apache нужно
применять компилятор ANSI C. Если проблема в том, что "лицензионный" компилятор
не знает про const. Если же там проблемы с несовпадением параметров функций,
тогда да, тогда это имеет смысл...

SV> Пилюля(на уровне идеи)
SV> В Makefile, или в Configuration:
SV> CC = cc -Dconst

Да, должно помочь... Хотя если у вас компилятор не с языка C, а неизвестно с
чего (какого $%^$%^& он const не понимает???), то все может быть :-))

SV> Эти происки в mod_charset были откушены года потора назад,

И недавно их опять туда вернули :-)) Чтобы не нервировать warning'ами тех, у
кого компилятор с языка C, а не с чего-нибудь еще.

SV> а что в apache-team писатели те еще - факт.

В Apache-Team пишут на ANSI C. И компилируется он БЕЗДНОЙ компилиторов на
разный Sun'ах, HP, Cray'ях (я не издеваюсь :-) и т.п.

SV> Они под gcc пишут,

Они НЕ пишут под gcc. Они пишут под ANSI C -- хорошо определенный,
документированный язык, а не под чьи-то поделки, которые не имеют const или
описания прототипов функций. Надоело. 10 лет -- достаточный срок, чтобы
можно было отказаться от поддержки pre-ANSI C компиляторов...

SV> и с другой стороны (глубокое IMHO) - то, что современный gcc
SV> (например 2.7.2.*) понимает как язык C, таковым не является. ;))))

Называть это стрье (gcc 2.7.2.*) СОВРЕМЕННЫМ ???? Вы что -- издеваетесь ???
Современный gcc -- это egcs 1.1b или на худой конец gcc 2.8.1, но уж никак не
gcc 2.7.2.* !!! Конечно C в них мало отличается, но вот C++ в egcs 1.1b начал
чуть-чуть напоминать что-то похожее на C++ (ну что это за C++ в gcc 2.7.2.*
без фундаментальных вещей типа exception'ов, namespace'ов и параметров умолчания
в шаблонах?). Что касается C, так gcc (в режиме -ansi, само собой) является
одной из наиболее ортодоксальных реализаций C. Например я не умею с помощью
ключей компиляции добиться того, чтобы приведенная ниже программа,
скомпилированная MS VC++ выдавала бы 1, а не 2 :-)

Программа:
-- cut --
#include <stdio.h>

int f(int a, int b) {
  return a//**/b
    ;
}

main() {
    const x=f(2,2);
    printf ("%d\n",x);
}
-- cut --

Если эта программа вашим компилятором не компилируется или выдает 2 вместо 1,
то вы имеете дело НЕ с комилятором с языка C, а с компилятором с его
надмножества или подмножества в лучшем случае... Конечно даже если программа
выдает 1, то это еще не значит, что вы имеете дело с языком C...








Спонсоры сайта:

[ Russian Apache ] [ Как это работает ] [ Рекомендации ] [ Где взять ] [ Как установить ] [ Как настроить ] [ Статус и поддержка ] [ Краткий обзор ] [ FAQ ] [ Список рассылки ] [ Благодарности ] [ Поиск по серверу ] [ Powered by Russian Apache ] [ Apache-talk archive ]

"Russian Apache" includes software developed by the Apache Group for use in the Apache HTTP server project (http://www.apache.org/) See Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C) 1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.