autoconf/automake są starał się wspierać starożytnych kompilatorów C, które nie rozumieją jednoczesne korzystanie z opcji -c
i -o
(Utwórz plik obiektowy z to name) . Jest AM_PROG_CC_C_O
i specjalny skrypt opakowania oraz instrukcja Automake warns you to use them, jeśli chcesz korzystać z trybu subdir-objects
.Unix C++ kompilatory, które nie rozumieją -c -o
Tam nie jest an AM_PROG_CXX_C_O
. Nie jest trudno zmodyfikować, aby przetestować kompilator C++, ale zastanawiam się, czy jest to konieczne. Czy kiedykolwiek istniał kompilator Cx w języku Unix (Cfront, może?), Który nie obsługiwał jednoczesnego korzystania z -c
i -o
? Przyjdźcie do tego, jak stare są kompilatory, które go nie obsługują - czy był na przykład jakiś kompilator wspierający C89 z tym problemem?
+1: Zdecydowanie były takie kompilatory (C). Niezależnie od tego, czy istnieją jakiekolwiek obecne (obsługiwane) kompilatory bez tego obiektu, ważne pytanie. To, czy wciąż istnieją stare wersje takich kompilatorów, jest trudniejsze do oszacowania; oprogramowanie ma tendencję do używania długo po "najlepszym przed końcem". –
Problem z opcją "-c -o" jest taki, że -c potencjalnie sprawia, że kompilator tworzy wiele wyjść, w którym to momencie opcja -o staje się bezsensowna. –
@SimonRichter To interesujący punkt, a jednak ostatni kompilator, który * ja * osobiście o tym wiem, nie zrobił nic sensownego z '-c -o' jest Solaris's K & R-only'/bin/cc', który isn ' t nawet coś, od czego możesz zacząć i ładować się na nowszy kompilator. – zwol