Angielskifrancuskihiszpański

Ad


Ulubiona usługa OnWorks

critcl - Online w chmurze

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

Jest to polecenie critcl, 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 Windows lub emulator online MAC OS

PROGRAM:

IMIĘ


critcl - Aplikacja CriTcl

STRESZCZENIE


kryt ?opcja...? ?filet? ...

_________________________________________________________________

OPIS


Witamy C Czas pracy In TCL, KryTcl w skrócie system do budowania pakietów rozszerzeń C
dla Tcl w locie, z kodu C osadzonego w skryptach Tcl, dla wszystkich, którzy chcą robić
ich kod działa szybciej.

Ten dokument jest podręcznikiem referencyjnym dla kryt Komenda. Docelowi odbiorcy to
ludzie muszą budować pakiety za pomocą kryt do wdrożenia. Pisarze pakietów z
osadzony kod C może zignorować ten dokument. Jeśli potrzebujesz przeglądu całości
zamiast tego przejdź i przeczytaj Wprowadzenie Do KryTcl.

Ta aplikacja znajduje się w warstwie aplikacji CriTcl.

*================*
|Aplikacje |
| kryt. |
| critcl::aplikacja |
*================*

+----------------+
|Pakiety podstawowe |
| kryt. |
| critcl::util |
+----------------+

+----------------+
|Pakiety wsparcia|
| odcinki::* |
| md5, platforma |
| ... |
+----------------+

Aplikacja obsługuje następujący ogólny wiersz poleceń:

kryt ?opcja...? ?filet? ...
Dokładny zestaw obsługiwanych opcji, ich znaczenie i interakcje są szczegółowo opisane w:
Sekcja Zastosowanie Opcje poniżej. Aby zobaczyć większy zestaw przykładów, zobacz sekcję
„Budowanie pakietów krytycznych” w dokumencie o Korzystanie z KryTcl.

WNIOSEK OPCJE


Następujące opcje są zrozumiałe

-v

--wersja
Te opcje powodują, że critcl drukuje swoją wersję do stdout a następnie wyjdź.

-I ścieżka
Ta opcja określa dodatkową globalną ścieżkę dołączania do użycia podczas kompilacji
z „Krytyk". Wszystkie wartości są używane, jeśli zostanie to określone wiele razy.

Ta opcja nie ma znaczenia przy generowaniu pakietu TEA (patrz opcja -herbata poniżej).

-L ścieżka
Ta opcja określa dodatkową globalną ścieżkę wyszukiwania biblioteki do użycia podczas łączenia
z „Krytyk". Wszystkie wartości są używane, jeśli zostanie to określone wiele razy.

Ta opcja nie ma znaczenia przy generowaniu pakietu TEA (patrz opcja -herbata poniżej).

-Pamięć podręczna ścieżka
Ta opcja określa ścieżkę do katalogu, który ma być używany jako pamięć podręczna wyników. Jeśli nie
określono, że domyślnie jest to "~/.critcl/", lub podczas generowania pakietu (zobacz
opcja -opak poniżej), do „~/.critcl/.”, Gdy określono wiele razy,
używana jest ostatnia wartość.

Ta opcja nie ma znaczenia przy generowaniu pakietu TEA (patrz opcja -herbata poniżej).

-czysty Po określeniu pamięć podręczna wyników jest opróżniana, tj. wszystkie znalezione pliki i katalogi
wewnątrz są usuwane) przed rozpoczęciem kompilacji.

Ta opcja nie ma znaczenia podczas generowania pakietu (patrz opcja -opak poniżej) ponieważ
ten tryb zaczyna się od unikalnej i pustej pamięci podręcznej wyników.

Ta opcja nie ma znaczenia przy generowaniu pakietu TEA (patrz opcja -herbata poniżej).

-konfiguracja ścieżka
Ta opcja określa ścieżkę do niestandardowego pliku konfiguracyjnego, umożliwiając użytkownikowi:
używać własnych specyfikacji docelowych. Jeśli nie określono przewodowej wartości domyślnej
zamiast tego używana jest konfiguracja osadzona w jądrze systemu. Gdy określono wiele
razy użyta jest ostatnia wartość.

Ta opcja nie ma znaczenia przy generowaniu pakietu TEA (patrz opcja -herbata poniżej).

-odpluskwić tryb
Ta opcja aktywuje kompilację z debugowaniem. Akceptuje poniższe tryby. Kiedy
określone wielokrotnie, używana jest kombinacja wszystkich trybów.

Ta opcja nie ma znaczenia przy generowaniu pakietu TEA (patrz opcja -herbata poniżej).

pamięć Ten tryb aktywuje debugowanie pamięci alokacji dokonanych przez Tcl
rdzeń.

symbole
Ten tryb aktywuje budowanie wszystkich ".c" pliki z symbolami debugowania.

cała kolekcja Ten tryb aktywuje oba pamięć i symbole.

-wyłączyć Nazwa
Ta opcja ustawia wartość opcji konfiguracji niestandardowej kompilacji Nazwa do fałszywy.
Jest to odpowiednik „-z-Nazwa 0 ”.

Informacja jest weryfikowana tylko wtedy, gdy jeden z „Krytyk"Właściwie pliki wejściowe
definiuje i używa niestandardowej opcji konfiguracji kompilacji z tym Nazwa.

Ta opcja nie ma znaczenia przy generowaniu pakietu TEA (patrz opcja -herbata poniżej).

-włączyć Nazwa
Ta opcja ustawia wartość opcji konfiguracji niestandardowej kompilacji Nazwa do prawdziwy.
Jest to odpowiednik „-z-Nazwa 1 ”.

Informacja jest weryfikowana tylko wtedy, gdy jeden z „Krytyk"Właściwie pliki wejściowe
definiuje i używa niestandardowej opcji konfiguracji kompilacji z tym Nazwa.

Ta opcja nie ma znaczenia przy generowaniu pakietu TEA (patrz opcja -herbata poniżej).

-siła Gdy określona kompilacja jest zawsze wykonywana, nawet jeśli biblioteka współdzielona dla pliku
już istnieje. Ten efekt można uzyskać poprzez wyczyszczenie pamięci podręcznej (patrz wyżej), ponieważ
no poza tym, że jest leniwy w niszczeniu plików i nie zniszczy plików
niezwiązane z tymi, które budujemy.

Ta opcja nie ma znaczenia podczas generowania pakietu (patrz opcja -opak poniżej) ponieważ
ten tryb zaczyna się od unikalnej i pustej pamięci podręcznej wyników.

Ta opcja nie ma znaczenia przy generowaniu pakietu TEA (patrz opcja -herbata poniżej).

-Pomoc Ta opcja spowoduje, że system wyświetli krótką pomoc dotyczącą składni wiersza poleceń
i opcje, a następnie zamknij aplikację.

-trzymać Ta opcja spowoduje, że system zachowa „.c" pliki wygenerowane przez uruchomienie w
pamięć podręczna wyników. Podczas generowania pakietu (zobacz opcję -opak poniżej) to również zapobiega
usunięcie unikalnej pamięci podręcznej wyników używanej przez przebieg. Ta opcja jest przeznaczona
do debugowania kryt się, w przypadku gdy może być konieczne sprawdzenie
wygenerowany kod C.

Ta opcja nie ma znaczenia przy generowaniu pakietu TEA (patrz opcja -herbata poniżej).

-libdir ścieżka
Ta opcja określa ścieżkę, pod którą pakiety generowane przez opcję -opak
są zapisywane. Określa również ścieżkę do przeszukiwania bibliotek, np. for -L. Kiedy
określone wielokrotnie, gdy używana jest ostatnia wartość. Jeśli w ogóle nie określono
domyślna, "lib”, jest używany. Zwróć uwagę, że jest to ścieżka względna, umieszczając wynik w
bieżący katalog roboczy.

-w zestawie reż ścieżka
Ta opcja określa ścieżkę, pod którą zapisywane są wszelkie wygenerowane nagłówki pakietów.
Określa również ścieżkę wyszukiwania plików dołączanych, np. for -I. Kiedy określono
wielokrotnie ostatnia wartość jest używana jako miejsce docelowe, jednak wszystkie poprzednie wartości
są przechowywane na ścieżce wyszukiwania dołączania. Jeśli nie określono w ogóle, wartość domyślna,
"zawierać”, jest używany. Zwróć uwagę, że jest to ścieżka względna, umieszczając wynik w
bieżący katalog roboczy.

Ta opcja nie ma znaczenia przy generowaniu pakietu TEA (patrz opcja -herbata poniżej).

-opak Domyślnym trybem aplikacji jest budowanie „Krytyk" pliki wymienione na
wiersza poleceń i zapisz wyniki w pamięci podręcznej wyników. Zasadniczo wstępne napełnianie
cache z ważnymi pakietami, skracając czas potrzebny na ich użycie
pakiety.

Ta opcja aktywuje jeden z pozostałych trybów, generowanie pakietów. W tym trybie
pliki wejściowe są przetwarzane najpierw jak zwykle, ale potem są pakowane w
generowana jest pojedyncza biblioteka i dodatkowe pliki, aby ta biblioteka mogła być używana jako
zwykły pakiet Tcl.

Opcja -herbata, patrz poniżej, wywołuje ostatni tryb, generowanie herbaty TEA. Jeśli obie opcje,
tj. -opak i -herbata są określone, że ostatni określony wygrywa.

W tym trybie opcje -czysty i -siła są nieistotne i ignorowane. W przeciwieństwie,
opcja -libdir ma znaczenie zarówno w tym, jak i -herbata tryb.

Gdy ta opcja jest określona, ​​nazwa bazowa pierwszego argumentu pliku po
options jest używany jako nazwa pakietu do wygenerowania. Jeśli rozszerzenie tego
plik wskazuje bibliotekę współdzieloną (".so"".sl"".dylib", I". Dll") to jest również
usunięte z zestawu plików wejściowych. A ".tclplik jest przechowywany jako część danych wejściowych. A
zakłada się, że pojedynczy plik bez rozszerzenia faktycznie ma „.tclrozszerzenie. A
plik bez rozszerzenia, ale inne następujące pliki wejściowe są traktowane jak nazwa
właściwa biblioteka współdzielona i usunięta z zestawu plików wejściowych.

Przykłady:
=> Nazwa pakietu to: foo
=> Plik wejściowy to: foo.tcl
=> Nazwa pakietu to: foo
=> Plik wejściowy to: bar.tcl
=> Nazwa pakietu to: foo
=> Plik wejściowy to: foo.tcl
=> Nazwa pakietu to: foo
=> Plik wejściowy to: bar.tcl

-pokazać Ta opcja, jeśli zostanie określona, ​​spowoduje, że system wydrukuje konfigurację
wybrany cel do stdout a następnie wyjdź. Na wybór celu można wpływać
przez opcję -cel (Patrz niżej).

-Pokaż wszystko
Ta opcja, jeśli zostanie określona, ​​spowoduje wydrukowanie przez system całego wybranego
plik konfiguracyjny do stdout a następnie wyjdź. Wybór pliku konfiguracyjnego może:
być pod wpływem opcji -konfiguracja (patrz wyżej).

-cel Nazwa
Ta opcja zastępuje domyślny wybór celu kompilacji wyborem użytkownika.
W przypadku wielokrotnego podania używana jest ostatnia wartość. Nazwany cel musi istnieć
w wybranym pliku konfiguracyjnym. Użyj opcji -cele (patrz poniżej), aby uzyskać listę
dopuszczalne cele. Na wybór pliku konfiguracyjnego można wpływać poprzez:
opcja -konfiguracja (patrz wyżej).

Ta opcja nie ma znaczenia przy generowaniu pakietu TEA (patrz opcja -herbata poniżej).

-cele
Ta opcja, jeśli zostanie określona, ​​spowoduje, że system wydrukuje listę wszystkich znanych
cele z wybranego pliku konfiguracyjnego do stdout a następnie wyjdź. Wybór
plik konfiguracyjny można zmienić za pomocą opcji -konfiguracja (patrz wyżej).

-herbata Podobne do opcji -opak, poza tym, że tryb wywołany nie generuje plików binarnych,
ale hierarchia katalogów zawierająca „Krytyk" plik, jego pliki towarzyszące i a
System kompilacji podobny do TEA z większością potrzebnego kodu pomocniczego (w tym kopie)
pakietów krytycznych).

Jeśli obie opcje, tj -opak i -herbata są określone, że ostatni określony wygrywa.

W tym trybie opcje -I, -L, -czysty, -siła, -Pamięć podręczna, -w zestawie reż, -włączyć,
-wyłączyć, -z-FOO są nieistotne i ignorowane. Natomiast opcja -libdir
ma znaczenie zarówno w tym, jak i -opak tryb.

Gdy ta opcja jest określona, ​​nazwa bazowa pierwszego argumentu pliku po
options jest używany jako nazwa pakietu do wygenerowania. Jeśli rozszerzenie tego
plik wskazuje bibliotekę współdzieloną (".so"".sl"".dylib", I". Dll") to jest również
usunięte z zestawu plików wejściowych. A ".tclplik jest przechowywany jako część danych wejściowych. A
zakłada się, że pojedynczy plik bez rozszerzenia faktycznie ma „.tclrozszerzenie. A
plik bez rozszerzenia, ale inne następujące pliki wejściowe są traktowane jak nazwa
właściwa biblioteka współdzielona i usunięta z zestawu plików wejściowych.

Przykłady:
=> Nazwa pakietu to: foo
=> Plik wejściowy to: foo.tcl
=> Nazwa pakietu to: foo
=> Plik wejściowy to: bar.tcl
=> Nazwa pakietu to: foo
=> Plik wejściowy to: foo.tcl
=> Nazwa pakietu to: foo
=> Plik wejściowy to: bar.tcl

-z-imieniem wartość
Ta opcja ustawia wartość opcji konfiguracji niestandardowej kompilacji Nazwa do wartość.

Informacja jest weryfikowana tylko wtedy, gdy jeden z „Krytyk"Właściwie pliki wejściowe
definiuje i używa niestandardowej opcji konfiguracji kompilacji z tym Nazwa.

Ta opcja nie ma znaczenia przy generowaniu pakietu TEA (patrz opcja -herbata powyżej).

PAKIET STRUKTURA


Pakiety generowane przez critcl mają następującą podstawową strukturę:

+- pkgIndex.tcl
+-critcl-rt.tcl
+- warunki licencji (opcjonalnie)
|
+- tcl (opcjonalnie)
| +-
|
+-
+-

Uwagi

[1] Plik "pkgIndex.tcl" to standardowy plik indeksu pakietów oczekiwany przez Tcl's
zarządzanie pakietami. Jest pozyskiwany podczas wyszukiwania pakietów i deklaruje
pakiet do Tcl z jego plikami i sposób ich obsługi.

[2] Plik "critcl-rt.tcl" jest plikiem pomocniczym zawierającym wspólny kod używany przez
"pkgIndex.tcldo wykonywania swoich zadań.

[3] Plik "Warunki licencji„ jest opcjonalne i pojawia się tylko wtedy, gdy „Krytyk" złóż
pakiet jest generowany z użytego polecenia critcl::licencja zadeklarować pakiet
autor i licencja.

[4] Wszystkie pliki zadeklarowane poleceniem critcl::źródła są umieszczane w podkatalogu
"TCL".

[5] Wspólna biblioteka generowana przez critcl jest umieszczana w specyficznej dla platformy pod-
katalogiem.

Cała struktura, a zwłaszcza ostatni punkt, pozwala nam na późniejsze scalanie wyników
(dla tego samego pakietu i wersji) dla wielu platform docelowych w jednym katalogu
struktury bez konfliktów, po prostu kopiując górne katalogi jeden nad drugim. ten
tylko pliki, które mogą powodować konflikt, znajdują się w oraz "TCL" katalogi, a dla tych my
wiedzieć, że są one identyczne we wszystkich celach. Wynik takiego scalenia wyglądałby tak:

+- pkgIndex.tcl
+-critcl-rt.tcl
+- warunki licencji (opcjonalnie)
|
+- tcl (opcjonalnie)
| +-
|
+-
| +-
+-
| +-
+-
+-

ZMIANY DLA WERSJA 2.1


[1] Naprawiono błąd, w którym critcl::źródła zinterpretowane ścieżki względne jako względne do
bieżący katalog roboczy zamiast względnego do „Krytyk" plik za pomocą
polecenie, jak wszystkie inne polecenia tego typu.

[2] Naprawiono elementy wewnętrzne, zapobiegając zbieraniu informacji przez wiele "Krytyk" pliki do
przeciek między nimi. Szczególnie, krytcl::tk nie jest globalną opcją konfiguracji
więcej.

[3] Poprawiono polecenie critcl::licencja być operacją null w trybie "kompilacja i uruchomienie",
zamiast rzucać błąd.

[4] Naprawiono ingerencję aplikacji critcl w pamięć podręczną wyników "compile & run"
in -opak tryb, używając całkowicie oddzielnego (i domyślnie przejściowego)
katalog dla tego trybu.

[5] Naprawiono błąd, w którym zmiany w „Krytyk" plik nie spowodował przebudowy dla trybu
"skompiluj i uruchom". Wszystkie odpowiednie polecenia API zapewniają teraz zmiany UUID.

[6] Naprawiono błąd w obsłudze backendu critcl::debugowanie gdzie towarzyszące c-źródła
Krytyk" plik nie został skompilowany z opcjami debugowania, chociaż "Krytyk" plik
był.

[7] Naprawiono błąd w critcl::debugowanie co uniemożliwiło rozpoznanie trybu „wszystkie”, gdy był
nie pierwszy argument polecenia.

[8] Naprawiono błąd w "ładowanie wstępne c" uniemożliwiając jego kompilację na platformach innych niż Windows.

[9] Naprawiono długotrwały błąd w obsłudze kwalifikatorów przestrzeni nazw w nazwie polecenia
argument krytcl::cproc i critcl::polecenie. Teraz można określić
w pełni kwalifikowana nazwa polecenia bez problemów.

[10] Rozszerzony/przerobiony critcl::źródła być kanonicznym sposobem deklarowania „.tcl"
pliki towarzyszące nawet dla trybu "kompilacja i uruchomienie".

[11] Rozszerzony/przerobiony critcl::źródła aby zezwolić na użycie „Krytyk" plik jako własny
Plik towarzyszący Tcl.

[12] Rozszerzony critcl::struktura aby wewnętrznie sprawdzić cel kompilacji OS X i zignorować
oświadczenie, jeśli nie.

[13] Rozszerzony critcl::nie powiodło się być wywoływanym więcej niż raz w ciągu „Krytyk" plik
pierwsze wywołanie wymusza kompilację, jeśli jeszcze nie została wykonana, aby uzyskać wynik. Dalej
wywołania zwracają buforowany wynik pierwszego wywołania.

[14] Rozszerzono obsługę zmiennej środowiskowej CC w kodzie określającej
kompilator używany do obsługi (tj. usuwania) ścieżek do kompilatora, plik kompilatora
rozszerzenia i opcje kompilatora określone po samym kompilatorze, pozostawiając tylko
sama nazwa kompilatora.

[15] Rozszerzono kod obsługujący wyszukiwanie wstępnie załadowanych bibliotek o wyświetlanie ścieżek do niego
przeszukiwane, ułatwiając debugowanie błędów wyszukiwania.

[16] Nowe polecenie krytcl::tcl może być użyty do minimalnego zadeklarowania wersji Tcl
potrzebne do zbudowania i uruchomienia „Krytyk" plik i pakiet. Domyślnie 8.4, jeśli nie
zdeklarowany. Rozszerzony critcl o skróty i nagłówki dla wszystkich Tcl 8.4, 8.5,
i 8.6.

[17] Nowe polecenie critcl::wczytaj wymusza budowę i obciążenie "Krytyk" plik. To jest
oficjalny sposób na obejście domyślnego schematu lazy-build-&-load-on-demand critcl
dla trybu "kompilacja i uruchomienie".

Note że po użyciu critcl::wczytaj / critcl::nie powiodło się w "Krytyk" plik to nie jest
można już używać poleceń critcl w tym pliku. Spowoduje to zgłoszenie błędu.

[18] Rozszerzono generację prag „#line” do użycia Informacje rama (jeśli jest dostępny) do
podać kompilatorowi C dokładne numery wierszy do "Krytyk" plik dla
zgłaszanie ostrzeżeń i błędów.

[19] Rozszerzony critcl::sprawdź z logowaniem, aby pomóc w debugowaniu kontroli kompilacji
środowiska, plus dodatkowy opcjonalny argument zapewniający etykietowanie.

[20] Dodano nowe polecenie critcl::link kontrolny która nie tylko stara się sprawdzać środowisko
poprzez kompilację kodu, ale także jego linkowalność.

[21] Dodano nowe polecenie critcl::wiadomość do przesyłania wiadomości, jak polecenie critcl::błąd jest dla
zgłaszanie błędów. Podobnie jest to haczyk, do którego użytkownik pakietu może
nadpisanie. Domyślna implementacja, używana przez mode skompilować & biegać nic nie robi. ten
implementacja dla trybu Generować pakiet wypisuje wiadomość na standardowe wyjście.

Przewidywane zastosowanie dotyczy raportowania wyników określonych przez critcl::sprawdź i
critcl::link kontrolny podczas budowania, aby pomóc w debugowaniu, gdy coś pójdzie nie tak
z czekiem.

[22] Ujawniono wewnętrzne przetwarzanie argumentów krytcl::proc do użytku przez zaawansowanych
użytkowników. Nowe polecenia to

[1] critcl::argnames

[2] critcl::argcnames

[3] critcl::argcpodpis

[4] critcl::argvardecls

[5] critcl::konwersja arg

Zobacz sekcję Zaawansowane Wbudowany C Code ukończenia kryt dokumentacja pakietu dla
detale.

[23] Rozszerzono pakiet critcl o przechwytywanie pakiet zapewniać i nagraj plik ->
mapowanie nazw pakietów. Dodatkowo inne zmiany wewnętrzne pozwalają teraz na użycie przestrzeni nazw
nazw pakietów, jednocześnie używając poprawnych nazw ścieżek i funkcji init.

[24] Porzucił nieużywane polecenia critcl::optymalizuj i critcl::włącz.

[25] Upuszczono -lib tryb z aplikacji critcl.

[26] Spadły pozostałości wsparcia dla Tcl 8.3 i wcześniejszych.

ZMIANY DLA WERSJA 3


[1] Polecenie critcl::platforma został wycofany w wersji 2.1, zastąpiony przez
critcl::platforma docelowa, ale zachowane dla zgodności. Teraz został usunięty.

[2] Polecenie critcl::skompilowany został zachowany w wersji 2.1 z semantyką w
sprzeczność z jego, dla kompatybilności. Ta sprzeczność została usunięta,
zmiana widocznej semantyki polecenia, aby była zgodna z jego nazwą.

[3] Zmiana na wersję 3 stała się konieczna z powodu dwóch niekompatybilnych widocznych
zmiany powyżej.

[4] Rozszerzono pakiet aplikacji o kod obsługujący nową opcję -herbata. Określanie
ta opcja wywołuje specjalny tryb, w którym critcl generuje pakiet TEA, czyli wraps
dane wejściowe do hierarchii katalogów i plików pomocniczych, które je dostarczają TEA-
podobny system budowania.

Ta nowa opcja i -opak, wykluczają się nawzajem. Jeśli oba są określone jako ostatnio używane
opcja ma pierwszeństwo.

Wygenerowana hierarchia katalogów pakietów jest w większości samodzielna, ale nie w pełni.
Wymaga nie tylko działającej instalacji Tcl, ale także działających instalacji
pakietów md5 i linia poleceń. Oba te są dostarczane przez Tcllib pakiet.
Nie wymagane, ale zalecane do zainstalowania są wszystkie pakiety, które mogą:
przyspieszyć działanie md5, czyli kryptzestaw, tcllibclub Trf.

[5] Rozszerzono pakiet critcl o nowe polecenie critcl::skanuj podążać ścieżką do
"Krytyk", skanując go statycznie i zwracając licencję, wersję, listę
jego pliki towarzyszące, lista zaimportowanych interfejsów API i lista niestandardowych określonych przez programistę
opcje konfiguracji. Te dane są podstawą opisanego opakowania TEA
powyżej.

Zauważ, że to jest statyczny skanowanie. Podczas gdy inne tryby budowania mogą (muszą) wykonać
"Krytyk" segregować i podejmować specyficzne dla platformy decyzje dotyczące złożonego kodu C,
pliki towarzyszące itp. tryb zawijania TEA nie jest w stanie sprawić, by platforma-
konkretne decyzje. Musi owinąć wszystko, co ewentualnie może być potrzebne
podczas faktycznego budowania. Stąd skan statyczny. Ma to jednak swój własny zestaw
problemy, a mianowicie niemożność rozgryzienia jakiejkolwiek dynamicznej konstrukcji towarzysza
ścieżki plików, przynajmniej samodzielnie. Zatem:

[6] Rozszerzono API używane przez pakiety oparte na critcl za pomocą polecenia critcl::własne. Podczas
to polecenie jest ignorowane przez zwykłe tryby budowania opisane przez statyczny skaner
powyżej przyjmuje swoje argumenty jako nazwy plików towarzyszących, które muszą zostać opakowane
do pakietu TEA i nie może być rozpoznany przez skaner w inny sposób, na przykład
z powodu dynamicznych ścieżek do critcl::źródła, critcl::csources, pozyskiwanie źródeł
bezpośrednio lub po prostu będąc dodatkowymi plikami danych.

[7] Rozszerzono API używane przez pakiety oparte na critcl za pomocą polecenia krytcl::api dla
zarządzanie tabelami odcinków, czy to ich wykorzystanie i/lub deklaracje i eksport.

Zobacz sekcję Stuby Stół Zarządzanie ukończenia kryt dokumentacja pakietu dla
detale.

[8] Rozszerzono API używane przez pakiety oparte na critcl za pomocą polecenia critcl::konfiguracja użytkownika
do zarządzania niestandardowymi opcjami konfiguracyjnymi określonymi przez programistę, czy to ich
użycie i/lub deklarację.

Zobacz sekcję Zamówienia Indywidualne Budować systemu ukończenia kryt dokumentacja pakietu
dla szczegółów.

[9] Rozszerzono API używane przez pakiety oparte na critcl za pomocą poleceń
critcl::opis, critcl::podsumowanie, critcl::temat, krytcl::meta,
critcl::wymaganie kompilacji o zadeklarowanie metadanych TEApot dla/o
pakiet.

Zobacz sekcję Pakiet Meta Dane ukończenia kryt dokumentacja pakietu dla
detale.

ZMIANY DLA WERSJA 3.0.1


[1] Naprawione błędy dookoła. Szczegółowo:

[2] Poprawiono zapis wymagań wersji Tcl. Zachowaj nazwę i wersję pakietu
razem, usuwając wygenerowane metadane i wygenerowane polecenie ładowania pakietu.

[3] Poprawiono skrypty kompilacji: podczas instalacji lub pakowania dla TEA generuj brakujące
katalogi

[4] Zmodyfikowano skrypty budujące, aby poprawnie wychodziły z aplikacji, gdy okno
ich GUI jest zamykane za pomocą przycisku (X).

[5] Usunięto 8.5-ism (open wb), który wślizgnął się do głównego skryptu kompilacji.

[6] Zmodyfikowano przykładowe skrypty budowania, aby oddzielić dane wyjściowe dla różnych
przykłady (i pakiety), dodając puste wiersze.

[7] stack::c przykładowa poprawka błędu: Dołącz deklaracje API do użycia w plikach towarzyszących.

[8] Rozszerzono dokumentację: Zwrócono uwagę na potrzebę działającej instalacji C
kompilator.

[9] Rozszerzono definicje celu Windows i kod do obsługi używanych plików manifestu
przez nowoczesne środowiska programistyczne MS. Zauważ, że ten kod obsługuje obie
możliwości, środowisko korzystające z manifestów i (starsze) środowiska bez.

[10] Rozszerzono definicje i kod systemu Windows 64-bit, aby automatycznie wykrywać potrzebę
bibliotekę pomocniczą "bufferoverflowU.lib" i ponownie skonfiguruj kompilację i link
polecenia odpowiednio. Zakładamy, że biblioteka musi być połączona, gdy jest obecna.
Nie powinno to zaszkodzić, jeśli biblioteka jest obecna, ale nie jest potrzebna. Po prostu zbędne.
Biblioteki szukamy w ścieżkach określonych przez zmienną środowiskową LIB.

ZMIANY DLA WERSJA 3.0.2


[1] Naprawiono problem w trybie kompilacji i uruchamiania, w którym polecenia umieszczone w auto_index nie są
znaleziony przez polecenie [nieznane] Tcl.

[2] Naprawiono niezgodność klucza tablicy, która przerywała wykorzystanie danych klienta i funkcję usuwania dla
procedura. Zgłoszone przez Jos DeCoster, z łatką.

[3] Zaimplementowano opcję wiersza poleceń -L, odpowiednik opcji -I, tylko do biblioteki
ścieżki wyszukiwania.

[4] Naprawiono problemy z githubem 5 i 8. Obejście brakującej zmiennej ::errorInfo. To
powinien być zawsze obecny, jednak wydaje się, że istnieją wersje Tcl, wokół których
naruszać to założenie.

ZMIANY DLA WERSJA 3.0.3


[1] Naprawiono problemy z githubem 5 i 8, dla przykładowych skryptów build.tcl. Praca wokół
brakująca zmienna ::errorInfo. Powinien być zawsze obecny, jednak wydaje się, że jest
rewizje Tcl wokół których naruszają to założenie.

ZMIANY DLA WERSJA 3.0.4


[1] Naprawiono generowanie nazwy pakietu podczas odczytywania kodu przychodzącego z
stdin i nie ma właściwej ścieżki.

[2] Naprawiono problem z githubem 11. Teraz używam /LIBPATH zamiast -L w systemie Windows (libinclude
ustawienia konfiguracji).

[3] Rozszerzony critcl do obsługi formatu -l:ścieżka opcji -l. Obsługuje to GNU ld 2.22+
szukając ścieżki takiej, jaka jest. Dobry przy określaniu bibliotek statycznych, jak zwykły -l
preferuje biblioteki współdzielone nad statycznymi. critcl obsługuje to teraz, jak
starsze GNU ld's tego nie rozumieją, ani różne linkery specyficzne dla danego dostawcy.

[4] Naprawiono problem z githubem #12. Critcl teraz określa używaną i używaną wersję MSVC
aby przełączać się między różnymi opcjami debugowania linków. Uproszczona obsługa
bufferoverflowU.lib również, wykorzystując ten sam mechanizm i zwijając oba
konfiguracje sekcje, które mieliśmy z powrotem w jednym.

[5] Przerobiono wstawianie prag #line do wygenerowanego kodu C, aby uniknąć
ograniczenia argumentu numeru wiersza nałożone przez różne kompilatory i więcej
dokładny.

[6] Zmodyfikowane przetwarzanie argumentów. Opcja -libdir implikuje teraz także -L jako argument.

[7] Rozszerzona obsługa opcji -pokaż (critcl::showconfig), aby wyświetlić ścieżkę
plik konfiguracyjny, z którego pochodzą dane. Dobry do debugowania konfiguracji
przetwarzanie.

[8] Rozszerzono skrypt budowania o cele do regeneracji osadzonej dokumentacji,
i diagramów oraz do wygenerowania wydania.

ZMIANY DLA WERSJA 3.0.5


[1] Naprawiono błąd w nowym kodzie dla prag #line uruchamiany podczas określania kodu C
bez wiodących spacji.

[2] Rozszerzono dokumentację o strony podręcznika do licencji, pobieranie źródeł,
instalatora i podręczniki programisty.

ZMIANY DLA WERSJA 3.0.6


[1] Naprawiono problem z githubem 10. Aplikacja critcl dostarcza teraz poprawny kod wyjścia (1)
w przypadku niepowodzenia kompilacji, zamiast zawsze wskazywać na sukces (status 0).

[2] Naprawiono problem z githubem 13. Obsługa pliku bufferoverflowU.lib dla kompilacji wydań była
niezgodne z obsługą kompilacji debugowania. Jest teraz obsługiwany identycznie
(warunkowo) przez oba przypadki.

[3] Porządkowanie dokumentacji, głównie w przewodniku instalacji i pliku README.md pokazanym przez
GitHub

ZMIANY DLA WERSJA 3.0.7


[1] Naprawiono kod wygenerowany przez critcl::c++polecenie. Wyemitowany kod przekazał nie-
statyczna tablica ciągów do Tcl_GetIndexFromObj, z naruszeniem umowy, która
wymaga, aby tabela miała stały adres. To było wspomnienie, które czekało, aby
zdarzyć. Podziękowania dla Briana Griffina za powiadomienie nas o ogólnym problemie.

ZMIANY DLA WERSJA 3.1


[1] Dodano nowy pakiet wyższego poziomu critcl::iassoc.

Ten pakiet upraszcza tworzenie kodu kojarzącego dane z interpreterem
przez Tcl's Tcl_(Pobierz|Ustaw)AssocData() Pszczoła. Użytkownik może skoncentrować się na swoich danych, podczas gdy
cały niezbędny kod C do obsługi tego jest generowany przez pakiet.

Ten pakiet wykorzystuje kilka nowych funkcji, które zostały dodane do rdzenia kryt
pakiet, patrz poniżej.

[2] Dodano pakiet wyższego poziomu critcl::klasa.

Ten pakiet upraszcza tworzenie obiektów poziomu C z klasą i instancją
polecenia. Użytkownik może napisać definicję klasy ze zmiennymi klas i instancji
i -metody podobne do klasy TclOO, z całym niezbędnym kodem C do
wspierać to generowane przez pakiet.

Ten pakiet wykorzystuje kilka nowych funkcji, które zostały dodane do rdzenia kryt
pakiet, patrz poniżej.

[3] Rozszerzono API o obsługę metadanych TEApot. Dodano polecenie critcl::meta? do
zapytanie o przechowywane informacje. Obecnie przewidywanym głównym zastosowaniem jest odzyskiwanie
nazwa bieżącego pakietu za pomocą poleceń narzędziowych, do użycia w konstruowanych nazwach. Ten
konkretne informacje są zawsze dostępne dzięki statycznemu skanowaniu przesyłki
plik po wykonaniu pierwszego polecenia critcl.

Nowe pakiety critcl::iassoc i critcl::klasa (patrz wyżej) są użytkownikami tego
dowództwo.

[4] Rozszerzyliśmy API o komendę, krytcl::nazwa2c, odsłaniając proces konwersji
nazwę Tcl do nazwy podstawowej, przestrzeni nazw i przestrzeni nazw C. Umożliwia to wyższy poziom
generatory kodu do generowania tego samego typu identyfikatorów C, co kryt sama.

Nowy pakiet critcl::klasa (patrz wyżej) jest użytkownikiem tego polecenia.

[5] Rozszerzyliśmy API o komendę, critcl::źródło, wykonując polecenia critcl znalezione w
oddzielny plik w kontekście bieżącego pliku. Umożliwia to łatwiejsze zarządzanie
większych fragmentów kodu, ponieważ pozwala to użytkownikowi podzielić taki kod na łatwiejsze do
trawić mniejsze porcje bez powodowania generowania wielu pakietów.

[6] Powiązane z poprzednim punktem, rozszerzyło API o komendy do przekierowania kolekcji
wygenerowanego kodu C do pamięci. Ułatwia to korzystanie z poleceń dla
osadzony kod C w generatorach kodu wyższego poziomu.

Zobacz sekcję Advanced: Dywersje aby uzyskać szczegółowe informacje na temat dostarczonych poleceń.

Nowy pakiet critcl::klasa (patrz wyżej) jest użytkownikiem tych obiektów.

[7] Rozszerzył API o polecenia pomagające programistom w generowaniu właściwego C
#linia dyrektywy. Pozwala to generatorom kodu wyższego poziomu na generowanie i wstawianie
własne dyrektywy, dzięki czemu błędy kompilacji w ich kodzie są poprawne
przypisane.

Zobacz sekcję Advanced: Lokalizacja i konserwacjami aby uzyskać szczegółowe informacje na temat dostarczonych poleceń.

Nowe pakiety critcl::iassoc i critcl::klasa (patrz powyżej) są użytkownikami tych
herbaty.

[8] Rozszerzono API o polecenia dające użytkownikom możliwość definiowania własnych argumentów
i typy wyników dla ::krytyk::cproc.

Zobacz sekcję Advanced: Rozsuwalny cproc aby uzyskać szczegółowe informacje na temat dostarczonych poleceń.

ZMIANY DLA WERSJA 3.1.1


[1] Naprawione błędy dookoła. Szczegółowo:

[2] Naprawiono generowanie błędów złych#args dla krytcl::cproc i kod pochodny
(critcl::klasa metody oparte na cproc). Użyj NULL, jeśli nie ma argumentów i weź
uwzględnienie offsetu.

[3] Poprawiono obsługę nazw pakietów przez critcl::klasa. Zapomniałem, że mogą zawierać
separatory przestrzeni nazw. Wpadłem na wersję 1.0.1.

[4] Rozszerzony a critcl::klasa wygenerowany komunikat o błędzie w tworzeniu instancji dla jasności.
Wpadłem na wersję 1.0.2.

ZMIANY DLA WERSJA 3.1.2


[1] Ulepszenie. Szczegółowo:

[2] Rozszerzony krytcl::cproc aby móc obsłużyć opcjonalne argumenty w ograniczony sposób.
Jest to automatycznie dostępne dla critcl::klasa również metody oparte na cproc.

[3] Poprawka błędu w lprzypisz emulacja dla Tcl 8.4. Prawidłowo ustaw nieużywane zmienne na
pusta struna. Podbita wersja pakietu emulacji lprzypisz84 do 1.0.1.

ZMIANY DLA WERSJA 3.1.3


[1] Ulepszenie. Szczegółowo:

[2] Dodano nowy typ argumentu „pstring”, dla „Pascal String”, zliczany ciąg, tj. a
połączenie wskaźnika ciągu i długości ciągu.

[3] Dodano nowe metody critcl::obsługa argtype i ::critcl::argwsparcie zdefiniować i używać
dodatkowy kod pomocniczy dla typu argumentu, tutaj używany przez "pstring" powyżej do
zdefiniować niezbędną strukturę.

[4] Częściowe poprawki błędów w pakietach critcl::klasa i critcl::iassoc. Pragmy dla AS
skaner metadanych, aby upewnić się, że pliki szablonów są częścią pakietu.
Wersje podskoczyły odpowiednio do 1.0.4 i 1.0.1.

ZMIANY DLA WERSJA 3.1.4


[1] Poprawka błędu w pakiecie critcl::klasa. Generuj atrapę pola w strukturze klasy, jeśli
klasa nie ma zmiennych klasowych. Bez tej zmiany struktura byłaby pusta,
a wiele kompilatorów nie jest w stanie obsłużyć takiego typu.

[2] Naprawiono literówkę, która zepsuła konfigurację win64.

[3] Poprawiono błąd #16, literówkę w dokumentacji polecenia critcl::klasa.

ZMIANY DLA WERSJA 3.1.5


[1] Naprawiono problem nr 19. Utworzono wyrażenie regularne wyodrębniające numer wersji MSVC
bardziej ogólne, aby działało w systemach języka niemieckiego. To może być
ponownie w przyszłości, dla innych ustawień regionalnych Windows.

[2] Naprawiono problem nr 20. Wykonano opcję - herbata działa na oknach, przynajmniej w emulacji uniksowej
środowisko takie jak msys/mingw.

ZMIANY DLA WERSJA 3.1.6


[1] Naprawiono problem nr 21. Podczas gdy wielodefinicja zmiennych wskaźnikowych tabeli zastępczej była
ok ze wszystkimi linkerami C widzianymi do tej pory. Linkery C++ wcale tego nie lubiły.
Przerobiono kod, aby zapewnić, że ten zestaw zmiennych jest generowany tylko raz, w
owijkę wokół wszystkich elementów do złożenia.

[2] Naprawiono problem nr 22, obsługa argumentów identyfikatora polecenia
critcl::polecenie, krytcl::cproc, critcl::cdata. Teraz prawidłowo zezwalamy na dowolne Tcl
identyfikator i generować z nich odpowiednie wewnętrzne identyfikatory C.

W ramach tego podpisu polecenia krytcl::nazwa2c zmieniony. Polecenie teraz
dostarcza listę czterech wartości zamiast trzech. Nowa wartość została dodana w
koniec.

Dalsze dostosowanie wdrożenia pakietu critcl::klasa, użytkownik
krytcl::nazwa2c. Ten pakiet jest teraz w wersji 1.0.6 i wymaga critcl 3.1.6

Wreszcie naprawiono niewłaściwą obsługę opcji -cname in critcl::polecenie,
krytcl::cproc.

[3] Naprawiono problem nr 23.

ZMIANY DLA WERSJA 3.1.7


[1] Naprawiono problem nr 24. Wyodrębnij i bezwarunkowo wyświetl ostrzeżenia kompilatora znajdujące się w
dziennik kompilacji. Uniemożliwia użytkownikom brak ostrzeżeń, które nie powodują kompilacji
nie powiedzie się, może nadal wskazywać na problemy.

[2] Nowa funkcja. Hak wyjściowy. Wszystkie dane wyjściowe użytkowników bez wiadomości są teraz kierowane przez
komenda critcl::drukuj, a użytkownicy mogą to nadpisać podczas korzystania z critcl
aplikacja jako pakiet.

[3] Nowa funkcja autorstwa Ashoka P. Nadkarni. Konfiguracje platformy mogą dziedziczyć wartości z
konfiguracje zdefiniowane przed nimi.

ZMIANY DLA WERSJA 3.1.8


[1] Naprawiono problem z indeksami pakietów generowanymi dla Tcl 8.4. Dołącz do listy poleceń
ze średnikiem, bez nowej linii.

[2] Naprawiono problem nr 26, który powodował przypadki użycia, o których zapomniałem wziąć pod uwagę podczas naprawiania
błąd #21 (patrz critcl 3.1.6).

ZMIANY DLA WERSJA 3.1.9


[1] Naprawiono problem #27. Dodano brakujące definicje platformy dla różnych alternatywnych systemów linux i
Cele OS X.

[2] Naprawiono problem nr 28. Dodano brakujące flagi -mXX do łączenia w linux-{32,64}-*
Cele.

[3] Naprawiono problem nr 29. Zastąpiono wykorzystywanie w przetwarzaniu surowych informacji „cheaderów”
"cdefines" z odpowiednimi dyrektywami zawiera wywodzące się z niego dyrektywy.

[4] Naprawiono problem związany z odrzuconym żądaniem ściągnięcia #30 przez Andrew Shadurę. Dynamicznie
wyodrębnij deklaracje zmiennych stubs z plików nagłówkowych Tcl i wygeneruj
dopasowanie definicji zmiennych do użycia w kodzie pakietu. Wygenerowany kod będzie
teraz bądź zawsze spójny z nagłówkami, nawet jeśli ich własna kopia critcl jest
zastąpione przez nagłówki systemowe.

[5] Naprawiono problem nr 31. Łatka zaakceptowana przez Andrew Shadurę, ze zmianami (komentarzami), dla
łatwiejsza integracja critcl z systemami pakietów OS, zastąpienie kopii critcl z
Nagłówki Tcl z własnymi.

[6] Naprawiono problem nr 32. Połączone żądanie ściągnięcia autorstwa Andrew Shadury. Różne literówki w
dokumentacja i komentarze.

[7] Naprawiono problem nr 33. Lepiej obsługuj pliki zaczynające się od kropki.

AUTORSKI


Jean Claude Wippler, Steve Landers, Andreas Kupries

Korzystaj z critcl online za pomocą usług onworks.net


Darmowe serwery i stacje robocze

Pobierz aplikacje Windows i Linux

  • 1
    Wtyczka Eclipse Tomcat
    Wtyczka Eclipse Tomcat
    Zapewnia wtyczka Eclipse Tomcat
    prosta integracja serwletu Tomcat
    kontener do programowania java
    Aplikacje internetowe. Możesz do nas dołączyć
    dyskusja...
    Pobierz wtyczkę Eclipse Tomcat
  • 2
    WebTorrent Desktop
    WebTorrent Desktop
    WebTorrent Desktop służy do przesyłania strumieniowego
    torrenty na Mac, Windows lub Linux. To
    łączy się zarówno z BitTorrent, jak i
    rówieśnicy WebTorrent. Teraz nie ma
    trzeba czekać na...
    Pobierz pulpit WebTorrent
  • 3
    GenX
    GenX
    GenX to program naukowy do udoskonalenia
    współczynnik odbicia promieniowania rentgenowskiego, neutron
    współczynnik odbicia i rentgen powierzchni
    dane dyfrakcyjne za pomocą różnicy
    algorytm ewolucji...
    Pobierz GenX
  • 4
    pspp4windows
    pspp4windows
    PSPP to program statystyczny
    analiza próbkowanych danych. To jest darmowe
    zamiennik autorskiego programu
    SPSS. PSPP ma zarówno tekstowe, jak i
    graficznie nas...
    Pobierz pspp4windows
  • 5
    Rozszerzenia Gita
    Rozszerzenia Gita
    Git Extensions to samodzielne narzędzie interfejsu użytkownika
    do zarządzania repozytoriami Git. To także
    integruje się z Eksploratorem Windows i
    Microsoft Visual Studio
    (2015/2017/2019). To...
    Pobierz rozszerzenia Gita
  • 6
    eSpeak: synteza mowy
    eSpeak: synteza mowy
    Silnik zamiany tekstu na mowę dla języka angielskiego i
    wiele innych języków. Kompaktowy rozmiar z
    wyraźna, ale sztuczna wymowa.
    Dostępny jako program wiersza poleceń z
    wiele ...
    Pobierz eSpeak: syntezator mowy
  • więcej »

Komendy systemu Linux

Ad