Angielskifrancuskihiszpański

Ad


Ulubiona usługa OnWorks

include_server — online w chmurze

Uruchom include_server u dostawcy bezpłatnego hostingu OnWorks przez Ubuntu Online, Fedora Online, emulator online Windows lub emulator online MAC OS

Jest to polecenie include_server, które można uruchomić u dostawcy bezpłatnego hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online systemu Mac OS

PROGRAM:

IMIĘ


include_server.py - konserwatywne przybliżenie zależności include dla C/C++

STRESZCZENIE


zawiera_serwer --Port INCLUDE_SERVER_PORT [OPCJE]

OPIS


include_server.py uruchamia proces serwera dołączania. Ten proces odpowiada na zapytania z
odległość(1) klienci o tym, jakie pliki należy uwzględnić w kompilacjach C/C++. Plik include_server.py
samo polecenie kończy się natychmiast po uruchomieniu serwera dołączania.

Argument INCLUDE_SERVER_PORT to nazwa gniazda używanego do całej komunikacji
między klientami distcc a serwerem dołączania. ten distcc-pompa(1) komenda jest odpowiedzialna
za stworzenie lokalizacji gniazda, za przekazanie jej do tego skryptu i za przekazanie do wszystkich
klientów distcc za pośrednictwem zmiennej środowiskowej o nazwie INCLUDE_SERVER_PORT.

Protokół używany przez serwer dołączania wykorzystuje implementację RPC distcc. każdy dysk
żądanie składa się z (1) bieżącego katalogu i (2) listy argumentów
polecenie kompilacji.

Jeśli serwer włączeń jest w stanie przetworzyć żądanie, odpowiada klientowi distcc przez
wysyłanie listy ścieżek plików. Ścieżki plików to ścieżki skompresowanego źródła i nagłówka
pliki uznane za niezbędne do kompilacji poprzez analizę wtrąceń. Lista również
zawiera dowiązania symboliczne, a nawet fikcyjne pliki potrzebne serwerowi kompilacji do
skonstruować dokładną replikę części systemu plików potrzebnych do kompilacji. w
w ten sposób potrzebny plik nagłówkowy, taki jak /path/foo.h, jest skompresowany, przemianowany i przechowywany w a
lokalizacja tymczasowa, taka jak /dev/shm/tmpiAvfGv.include_server-9368-1/path/foo.h.lzo. ten
Klient distcc przekaże te pliki na serwer kompilacji, gdzie będą
nieskompresowany i zamontowany tymczasowo.

Jeśli serwer dołączania nie jest w stanie przetworzyć żądania, zwraca pustą listę
do klienta distcc.

Istnieją dwa rodzaje awarii związanych z serwerem dołączania. Serwer dołączania może
nie obliczyć uwzględnia lub nie w inny sposób, zobacz sekcję ZAWIERAJĄ SERVER OBJAWY.
Również kompilacja na serwerze usuwania może się nie powieść z powodu niedokładności obliczonych
uwzględnij zamknięcie, ale następnie udaj się, gdy spróbujesz lokalnie, zobacz sekcję ODL.CC ROZBIEŻNOŚĆ
OBJAWY.

OPCJA PODSUMOWANIE


Poniższe opcje są rozumiane przez include_server.py.

-dPAT, --debug_pattern=PAT
Wektor bitowy do włączania ostrzeżeń i debugowania
1 = ostrzeżenia
2 = śledź niektóre funkcje
inne moce dwóch: zobacz include_server/basics.py.

-mi, --e-mail
Wyślij e-mail do 'distcc-pump-errors' lub, jeśli zdefiniowano, wartość zmiennej środowiskowej
DISTCC_EMAILLOG_WHOM_TO_BLAME, gdy serwer dołączania ma kłopoty. Wartość domyślna to
nie wysyłać wiadomości e-mail.

--e-mail_powiązany LICZBA
Maksymalna liczba e-maili do wysłania (oprócz końcowego e-maila). Domyślnie: 3.

--brak e-maili
Nie wysyłaj e-maila. To jest ustawienie domyślne.

--path_observation_re=RE
Komunikat ostrzegawczy o problemie za każdym razem, gdy nazwa pliku zostanie dopasowana do ścieżki rzeczywistej, która jest dopasowana
przez RE, które jest wyrażeniem regularnym w składni Pythona. Jest to przydatne do wyszukiwania
skąd faktycznie pochodzą dołączone pliki. Użyj RE="", aby znaleźć je wszystkie. Notatka:
ostrzeżenia muszą być włączone z co najmniej -d1.

--plik_pid ŚCIEŻKA PLIKU
Pid serwera dołączanego jest zapisywany w pliku FILEPATH. To pozwala na skrypt
taki, tego rodzaju distcc-pompa zburzyć serwer dołączania.

-tak, --Statystyka
Wydrukuj informacje o analizie dołączania na standardowe wyjście.

--stat_reset_triggers=LISTA
Opróżnij pamięć podręczną statystyk, gdy zmieni się znacznik czasu dowolnej ścieżki pliku na LIŚCIE lub
filepath pojawia się lub znika. LISTA to oddzielony dwukropkami ciąg znaków
ścieżki plików, prawdopodobnie zawierające proste globy (na co pozwala moduł glob Pythona).
Wydrukuj ostrzeżenie za każdym razem, gdy nastąpi taka zmiana (jeśli ostrzeżenia są włączone). Ten
opcja zezwala na ograniczone wyjątki od normalnego założenia distcc-pump, że źródło
pliki nie są modyfikowane podczas kompilacji.

-T, --czas
Wydrukuj czas, który upłynął, czas użytkownika i systemowy na stderr.

--unsafe_absolute_includes
Wykonaj wstępne przetwarzanie na serwerze kompilacji, nawet jeśli zawiera bezwzględne ścieżki plików
napotykane. Zwykle serwer włączania korzysta z lokalnego przetwarzania wstępnego
jeśli wykryje jakiekolwiek bezwzględne uwzględnianie. Dlatego ta flaga jest przydatna do zapobiegania takim
awaryjne, gdy liczba bezwzględna zawiera fałszywy alarm, ponieważ liczba bezwzględna
include jest odrzucany podczas przetwarzania wstępnego lub z powodu absolutnie zawartego pliku
istnieje na serwerach kompilacji.

Dokładniej, z --unsafe_absolute_includes bezwzględne uwzględnianie jest ignorowane dla
w celach zbierania m.in. Korzystanie z tej opcji może prowadzić do:
niepoprawne wyniki, ponieważ (1) nagłówek może faktycznie znajdować się na
serwer kompilacji i może nie być taki sam jak na kliencie, (2) zawiera
dyrektywy nagłówka nie są dalej analizowane.

Ta opcja jest przydatna do kompilowania kodu, który ma tak zakodowane bezwzględne lokalizacje
plików nagłówkowych wewnątrz dyrektyw warunkowych (np. "#ifdef"), które renderują
zawiera nieistotne. Dokładniej, te elementy muszą zostać wyeliminowane podczas
wstępne przetwarzanie dla aktualnej konfiguracji. Następnie pytanie o istnienie
plik nagłówkowy jest dyskusyjny, a zdalna kompilacja jest dźwiękowa. Dzieje się tak często, jeśli
takie zestawy są przeznaczone do nietypowych konfiguracji różniących się od rzeczywistych
konfiguracja.

-v, --zweryfikować
Sprawdź, czy pliki w zamknięciu CPP są zawarte w zamknięciu obliczonym przez include
edytor.

-w, --write_include_closure
Napisz plik .d_ok, który zawiera listę wszystkich dołączonych plików obliczonych przez include
serwer; z -x, dodatkowo zapisz dołączone pliki obliczone przez CPP do a
plik .d_exact.

-X, --dokładna_analiza
Zamiast tego użyj CPP, nie pomijaj plików nagłówków systemowych.

ZAWIERAJĄ SERVER OBJAWY ROLNICZE ZAGADNIENIA


Poniżej wymieniono najbardziej prawdopodobne komunikaty i ostrzeżenia pochodzące z procesora dołączania.

Przetwarzanie wstępne lokalnie. Zawierać serwer nie pokrycie: Nie mogłem ustalać domyślnym system
zawierać katalogi
Aby określić domyślne katalogi nagłówków systemowych, serwer włączania uruchamia
kompilator raz dla każdego języka potrzebnego podczas jego sesji. Ta wiadomość wskazuje
że kompilator określony dla distcc nie jest obecny na kliencie.

Przetwarzanie wstępne lokalnie. Zawierać serwer nie pokrycie: kaucja na zewnątrz bo zawierać serwer
spędził jeszcze niż ...S użytkownik czas obsługa zażądać
W nietypowych sytuacjach serwer include nie analizuje bardzo skomplikowanego makra
wyrażenia. Klient distcc użyje zwykłego trybu distcc.

Ostrzeżenie: Ścieżka pliku musi be względny ale nie jest
Serwer dołączania nie akceptuje bezwzględnych ścieżek plików, takich jak
/usr/include/stdio.h, w dyrektywach include, ponieważ nie ma gwarancji, że
ten nagłówek na serwerze kompilacji będzie taki sam jak na
klient. Serwer dołączania rezygnuje z analizowania zamknięcia dołączania. Rozdzielczość
klient nie może używać trybu pompy.

Aby rozwiązać ten problem w nie zawsze niezawodny sposób, ustaw zmienną środowiskową
INCLUDE_SERVER_ARGS='--unsafe_absolute_includes' podczas wywoływania pompy distcc
skrypt do przekazania opcji --unsafe_absolute_includes do serwera dołączania.

Ostrzeżenie: bezwzględny ścieżka pliku ... była ZIGNOROWANO
Używana jest opcja --unsafe_absolute_includes. Ta sytuacja dzieje się pod tym samym
okoliczności, jak w przypadku wydania „Ścieżka pliku musi być względna, ale nie jest”, ale w tym przypadku
W przypadku, gdy include zapewni odpowiedź klientowi distcc.

Ostrzeżenie: ścieżka '/ŚCIEŻKA/PLIK' zmieniony/przyszedł najnowszych istnienie/nie dłużej istnieje
Ostrzeżenia te pojawiają się podczas korzystania z wyzwalaczy resetowania statystyk. Ponieważ /PATH/PLIK
zmienione, serwer dołączania czyści swoje pamięci podręczne; nową wersję pliku (lub
jej brak) uniemożliwia analizę włączeń. Ta wiadomość może zwykle być
ignorowane; oznacza to nieco niepewne korzystanie z plików przez system kompilacji.
Zaleca się naprawienie systemu kompilacji, aby pliki nie były przepisywane.

Ostrzeżenie: W razie zamówieenia projektu tłumaczenie jednostka ... wyszukiwania of filet ... zdecydowany do ... którego prawdziwa ścieżka is
...
To ostrzeżenie pojawia się z --path_observation_re, gdy nowa ścieżka rzeczywista pasuje do a
obserwowany jest plik źródłowy lub nagłówkowy.

ODL.CC ROZBIEŻNOŚĆ OBJAWY


Interakcje między systemem kompilacji, distcc i serwerem dołączania są nieco
złożony. Gdy polecenie distcc otrzymuje nieudaną kompilację ze zdalnego serwera,
ponawia kompilację lokalnie. W tej sekcji omówiono przyczyny rozbieżności
między kompilacją zdalną i lokalną. Są one oznaczone w wiadomości o degradacji:

__________Ostrzeżenie: ... tryb pompy kompilacje powiodło on serwer, ale udało się lokalnie.
__________Pompa-dystcc była zdegradowany do zwykły tryb. See dotychczasowy Dystr Rozbieżność objawy
Sekcja in dotychczasowy zawiera_serwer(1) mężczyzna strona.

Skrypt distcc-pump wysyła ten komunikat pod koniec kompilacji. Oznacza to, że dla at
co najmniej jedno wywołanie distcc, kompilacja lokalna powiodła się po kompilacji zdalnej
przegrany. Każde wywołanie distcc, dla którego wystąpiła taka rozbieżność, z kolei generuje również:
komunikat taki jak:

Ostrzeżenie: zdalny kompilacja of "..." przegrany, ponowiona lokalnie i got a różne wynik.

Degradacja powoduje, że kolejne wywołania distcc używają zwykłego trybu distcc. Zatem
wstępne przetwarzanie będzie odbywać się na lokalnym komputerze przez pozostałą część kompilacji. Ten
technika zapobiega bardzo powolnym kompilacjom, w których wszystkie kompilacje trafiają na komputer lokalny
po awarii zdalnej.

Oczywiście, jeśli lokalne kompilacje nie powiedzie się po awariach zdalnych, to distcc
wywołanie kończy się z niezerowym statusem kompilacji lokalnej. Komunikaty o błędach
drukowane są również te z lokalnej kompilacji.

Zachowanie awaryjne trybu distcc-pump do lokalnej kompilacji można wyłączyć przez ustawienie
zmienna środowiskowa DISTCC_FALLBACK na 1, co powoduje, że polecenie distcc kończy się niepowodzeniem tak szybko, jak to możliwe
ponieważ zdalna kompilacja nie powiodła się. To ustawienie jest bardzo przydatne do debugowania, dlaczego
kompilacja zdalna poszła nie tak, ponieważ teraz zostaną wydrukowane dane wyjściowe z serwera.

Następnie omawiamy możliwe przyczyny rozbieżności.

Połączenia użytkownik zmieniony a źródło or nagłówek filet podczas dotychczasowy budować.
Daje to oczywiście niespójne wyniki.

A źródło or nagłówek filet zmieniony podczas dotychczasowy budować.
System kompilacji przepisuje plik. W przypadku jądra Linux 2.6 dzieje się tak dla
„include/linux/compile.h” i „include/asm/asm-offsets.h”. Ten warunek jest naprawiony
informując serwer włączania, że ​​musi zresetować pamięć podręczną, gdy jakiekolwiek statystyki
plików się zmienia. Praktycznie odbywa się to poprzez zbieranie plików w dwukropek-
oddzieloną listę, a następnie ustawienie polecenia INCLUDE_SERVER_ARGS jak w:

include_server_args="--stat_reset_triggers=include/linux/compile.h:include/asm/asm-
odsunięcia.h"

A nagłówek filet is potencjalnie w zestawie, ale robi nie istnieć, i is następnie później wliczone w cenę.

Dzieje się tak, gdy jakiś nagłówek foo.h zawiera inny plik nagłówkowy trick.h, ale
Plik trick.h nie został jeszcze wygenerowany, a włączenie jest faktycznie ignorowane
z powodu dyrektyw przetwarzania wstępnego. Serwer dołączania będzie sondować w poszukiwaniu
istnienie trick.h, ponieważ za bardzo przybliża wszystkie możliwe sposoby dyrektyw
faktycznie ocenić. Ustalono, że plik trick.h nie istnieje. Jeśli będzie później
wygenerowany, a następnie naprawdę włączony, wtedy serwer dołączania będzie fałszywie wierzył
że plik nadal nie istnieje. Rozwiązaniem tego problemu jest sprawienie, aby
system budowania generuje trick.h przed pierwszym dołączeniem jakiegokolwiek pliku nagłówkowego
to tworzy odwołanie składniowe do trick.h

Połączenia zawierać serwer była rozpoczęty w --unsafe_absolute_includes.
Jest to problem, jeśli istnieją lokalnie pliki nagłówkowe, które nie istnieją zdalnie i
które są faktycznie używane. Takie włączanie są często chronione przez warunkowe
dyrektywy, które oceniają tak, że są faktycznie używane tylko w określonych i często
niezwykłe platformy. Jeśli nie kompilujesz na taką platformę, może to być
poprawny w użyciu --unsafe_absolute_include.

Połączenia zawierać serwer ma obliczony dotychczasowy Wrongs obejmuje.
Nie znamy takiej sytuacji.

EXIT KODY


Kod wyjścia z include_server.py to zwykle 0. Czy serwer włączania został uruchomiony
prawidłowo jest komunikowana poprzez istnienie pliku pid_file.

ŚRODOWISKO ZMIENNE


DISTCC_EMAILLOG_WHOM_TO_BLAME Adres e-mail, który ma zostać użyty do automatycznego włączenia serwera
e-maile. Domyślnie jest to 'distcc-pump-errors' (jest to adres e-mail, który prawdopodobnie będzie
nie istnieje w Twojej domenie).

Dodatkowo wywołanie kompilatora może wykorzystywać dodatkowe zmienne środowiskowe.

Użyj include_server online za pomocą usług onworks.net


Darmowe serwery i stacje robocze

Pobierz aplikacje Windows i Linux

  • 1
    NSIS: skryptowy system instalacyjny Nullsoft
    NSIS: skryptowy system instalacyjny Nullsoft
    NSIS (instalacja skryptowa Nullsoft
    System) jest profesjonalnym oprogramowaniem typu open source
    system do tworzenia instalatorów Windows. Ono
    ma być tak mały i elastyczny
    w miarę możliwości...
    Pobierz NSIS: Nullsoft Scriptable Install System
  • 2
    przepustka
    przepustka
    AuthPass to hasło typu open source
    menedżer ze wsparciem dla popularnych i
    sprawdzony Keepass (kdbx 3.x ORAZ kdbx 4.x ...
    Pobierz authpass
  • 3
    Zabbix
    Zabbix
    Zabbix jest otwartą platformą klasy korporacyjnej
    rozwiązanie do monitorowania rozproszonego źródła
    przeznaczony do monitorowania i śledzenia
    wydajność i dostępność sieci
    serwery, urządzenia...
    Pobierz Zabbixa
  • 4
    KRóżn.3
    KRóżn.3
    To repozytorium nie jest już obsługiwane
    i jest przechowywany w celach archiwalnych. Widzieć
    https://invent.kde.org/sdk/kdiff3 for
    najnowszy kod i
    https://download.kde.o...
    Pobierz KDiff3
  • 5
    USBLoaderGX
    USBLoaderGX
    USBLoaderGX to GUI dla
    Ładowarka USB firmy Waninkoko, oparta na
    libwiigui. Umożliwia wyświetlanie i
    uruchamianie gier Wii, gier Gamecube i
    homebrew na Wii i WiiU...
    Pobierz USBLoaderGX
  • 6
    Firebird
    Firebird
    Firebird RDBMS oferuje funkcje ANSI SQL
    & działa w systemach Linux, Windows i
    kilka platform uniksowych. Cechy
    doskonała współbieżność i wydajność
    & moc...
    Pobierz Firebirda
  • więcej »

Komendy systemu Linux

Ad