InggrisPerancisSpanyol

Ad


favorit OnWorks

critcl - Online di Cloud

Jalankan critcl di penyedia hosting gratis OnWorks melalui Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS

Ini adalah perintah critcl yang dapat dijalankan di penyedia hosting gratis OnWorks menggunakan salah satu dari beberapa workstation online gratis kami seperti Ubuntu Online, Fedora Online, emulator online Windows atau emulator online MAC OS

PROGRAM:

NAMA


critcl - Aplikasi CriTcl

RINGKASAN


kritik ?Option...? ?fillet...?

_________________________________________________________________

DESKRIPSI


Selamat datang di C Runtime In Tcl, Kritik singkatnya, sistem untuk membangun paket ekstensi C
untuk Tcl dengan cepat, dari kode C yang disematkan di dalam skrip Tcl, untuk semua yang ingin membuat
kode mereka berjalan lebih cepat.

Dokumen ini adalah halaman manual referensi untuk kritik memerintah. Audiens yang dituju adalah
orang harus membuat paket menggunakan kritik untuk penyebaran. Penulis paket dengan
kode C yang disematkan dapat mengabaikan dokumen ini. Jika Anda membutuhkan gambaran keseluruhan
sistem sebagai gantinya, silakan pergi dan baca Pengantar Untuk Kritik.

Aplikasi ini berada di Lapisan Aplikasi CriTcl.

*==================*
|Aplikasi |
| kritik |
| critcl::aplikasi |
*==================*

+-+
|Paket Inti |
| kritik |
| kritikal::util |
+-+

+-+
|Paket Dukungan|
| rintisan::* |
| md5, peron |
| ... |
+-+

Aplikasi ini mendukung baris perintah umum berikut:

kritik ?Option...? ?fillet...?
Kumpulan opsi yang didukung, maknanya, dan interaksinya dirinci dalam
bagian Aplikasi Opsi di bawah. Untuk kumpulan contoh yang lebih besar, silakan lihat bagian
"Membangun Paket Critcl" dalam dokumen tentang Menggunakan Kritik.

APLIKASI PILIHAN


Opsi berikut dipahami:

-v

--Versi: kapan
Opsi ini menyebabkan critcl mencetak versinya ke stdout dan kemudian keluar.

-I path
Opsi ini menentukan jalur penyertaan global tambahan untuk digunakan selama kompilasi
dari ".critcl" file. Semua nilai digunakan jika ini ditentukan beberapa kali.

Opsi ini tidak relevan saat membuat paket TEA (lihat opsi -teh bawah).

-L path
Opsi ini menentukan jalur pencarian perpustakaan global tambahan untuk digunakan selama penautan
dari ".critcl" file. Semua nilai digunakan jika ini ditentukan beberapa kali.

Opsi ini tidak relevan saat membuat paket TEA (lihat opsi -teh bawah).

-cache path
Opsi ini menentukan jalur ke direktori yang akan digunakan sebagai cache hasil. Jika tidak
ditentukan defaultnya ke "~/.kritik/", atau, saat membuat paket (lihat
Option -pkg bawah), untuk "~/.kritik/.", Ketika ditentukan beberapa kali
nilai terakhir digunakan.

Opsi ini tidak relevan saat membuat paket TEA (lihat opsi -teh bawah).

-bersih Ketika ditentukan cache hasil dikosongkan, yaitu semua file dan direktori ditemukan
di dalamnya dihapus) sebelum kompilasi dimulai.

Opsi ini tidak relevan saat membuat paket (lihat opsi -pkg bawah) karena
mode ini dimulai dengan cache hasil yang unik dan kosong.

Opsi ini tidak relevan saat membuat paket TEA (lihat opsi -teh bawah).

-konfig path
Opsi ini menentukan jalur ke file konfigurasi khusus, yang memungkinkan pengguna untuk
menggunakan spesifikasi target mereka sendiri. Jika tidak ditentukan default bawaan
konfigurasi tertanam dalam inti sistem digunakan sebagai gantinya. Ketika ditentukan beberapa
kali nilai terakhir digunakan.

Opsi ini tidak relevan saat membuat paket TEA (lihat opsi -teh bawah).

-debug mode
Opsi ini mengaktifkan kompilasi dengan debugging. Ini menerima mode di bawah ini. Kapan
ditentukan beberapa kali kombinasi semua mode digunakan.

Opsi ini tidak relevan saat membuat paket TEA (lihat opsi -teh bawah).

ingatan Mode ini mengaktifkan debugging memori alokasi yang dibuat melalui Tcl
inti.

simbol
Mode ini mengaktifkan pembangunan semua ".c" file dengan simbol debug.

semua Mode ini mengaktifkan keduanya ingatan dan simbol.

-cacat nama
Opsi ini menetapkan nilai opsi konfigurasi build kustom nama untuk palsu.
Ini setara dengan "-dengan-nama 0 ".

Informasi divalidasi hanya jika salah satu dari ".critcl" masukan file sebenarnya
mendefinisikan dan menggunakan opsi konfigurasi build khusus dengan itu nama.

Opsi ini tidak relevan saat membuat paket TEA (lihat opsi -teh bawah).

-memungkinkan nama
Opsi ini menetapkan nilai opsi konfigurasi build kustom nama untuk benar.
Ini setara dengan "-dengan-nama 1 ".

Informasi divalidasi hanya jika salah satu dari ".critcl" masukan file sebenarnya
mendefinisikan dan menggunakan opsi konfigurasi build khusus dengan itu nama.

Opsi ini tidak relevan saat membuat paket TEA (lihat opsi -teh bawah).

-memaksa Ketika kompilasi yang ditentukan selalu dilakukan, bahkan jika perpustakaan bersama untuk file
sudah ada. Efek ini dapat diperoleh dengan membersihkan cache (lihat di atas) sebagai
baik, kecuali bahwa itu malas dalam penghancuran file dan tidak akan menghancurkan file
tidak terkait dengan yang kita bangun.

Opsi ini tidak relevan saat membuat paket (lihat opsi -pkg bawah) karena
mode ini dimulai dengan cache hasil yang unik dan kosong.

Opsi ini tidak relevan saat membuat paket TEA (lihat opsi -teh bawah).

-bantu Opsi ini akan menyebabkan sistem mencetak bantuan singkat tentang sintaks baris perintah
dan opsi lalu keluar dari aplikasi.

-menyimpan Opsi ini akan menyebabkan sistem menyimpan ".c" file yang dihasilkan oleh proses di
hasil cache. Saat membuat paket (lihat opsi -pkg di bawah) ini juga mencegah
penghapusan cache hasil unik yang digunakan oleh proses. Opsi ini dimaksudkan
untuk debugging dari kritik itu sendiri, di mana mungkin perlu untuk memeriksa
kode C yang dihasilkan.

Opsi ini tidak relevan saat membuat paket TEA (lihat opsi -teh bawah).

-libdir path
Opsi ini menentukan jalur di mana paket dihasilkan melalui opsi -pkg
disimpan. Itu juga menentukan jalur untuk mencari perpustakaan, seperti for -L. Ketika
ditentukan beberapa kali nilai terakhir digunakan. Bila tidak ditentukan sama sekali,
bawaan, "lib", digunakan. Perhatikan bagaimana ini adalah jalur relatif, menempatkan hasilnya ke
direktori kerja saat ini.

-termasukdir path
Opsi ini menentukan jalur di mana setiap header paket yang dihasilkan disimpan.
Itu juga menentukan jalur untuk mencari termasuk file, seperti for -I. Ketika ditentukan
beberapa kali nilai terakhir digunakan sebagai tujuan, namun semua nilai sebelumnya
disimpan di jalur pencarian sertakan. Bila tidak ditentukan sama sekali sebagai default,
"memasukkan", digunakan. Perhatikan bagaimana ini adalah jalur relatif, menempatkan hasilnya ke dalam
direktori kerja saat ini.

Opsi ini tidak relevan saat membuat paket TEA (lihat opsi -teh bawah).

-pkg Mode default aplikasi adalah membangun ".critcl" file yang terdaftar di
baris perintah dan simpan hasilnya di cache hasil. Pada dasarnya pra-mengisi
cache dengan paket-paket penting, mengurangi waktu yang dibutuhkan untuk menggunakan ini
paket.

Opsi ini mengaktifkan salah satu mode lainnya, pembuatan paket. Dalam mode ini
file input diproses terlebih dahulu seperti biasa, namun setelah itu dibundel menjadi
perpustakaan tunggal dan file tambahan dibuat untuk membuat perpustakaan ini dapat digunakan sebagai
paket Tcl biasa.

Pilihan -teh, lihat di bawah, memanggil mode terakhir, generasi TEA. Jika kedua pilihan,
yaitu -pkg dan -teh ditentukan yang terakhir ditentukan menang.

Dalam mode ini pilihannya -bersih dan -memaksa tidak relevan dan diabaikan. Sebaliknya,
pilihan -libdir relevan dalam hal ini dan -teh mode.

Ketika opsi ini ditentukan, nama dasar dari argumen file pertama setelah
options digunakan sebagai nama paket yang akan dihasilkan. Jika perpanjangan itu
file menunjukkan perpustakaan bersama (".begitu"".sl"".dylib", Dan". Dll") itu juga
dihapus dari kumpulan file input. SEBUAH ".tcl" file disimpan sebagai bagian dari input. A
file tunggal tanpa ekstensi dianggap benar-benar memiliki ".tcl" ekstensi
file tanpa ekstensi, tetapi file input lain berikut diperlakukan seperti nama
perpustakaan bersama yang tepat, dan dihapus dari kumpulan file input.

contoh:
=> Nama paket adalah: foo
=> File masukan adalah: foo.tcl
=> Nama paket adalah: foo
=> File masukan adalah: bar.tcl
=> Nama paket adalah: foo
=> File masukan adalah: foo.tcl
=> Nama paket adalah: foo
=> File masukan adalah: bar.tcl

-menunjukkan Opsi ini, jika ditentukan, akan menyebabkan sistem mencetak konfigurasi
target yang dipilih untuk stdout dan kemudian keluar. Pilihan target dapat dipengaruhi
melalui opsi -target (Lihat di bawah).

-tunjukkan semua
Opsi ini, jika ditentukan, akan menyebabkan sistem mencetak keseluruhan yang dipilih
file konfigurasi ke stdout dan kemudian keluar. Pilihan file konfigurasi dapat
dipengaruhi melalui pilihan -konfig (Lihat di atas).

-target nama
Opsi ini mengesampingkan pilihan default target build dengan pilihan pengguna.
Ketika ditentukan beberapa kali nilai terakhir digunakan. Target yang disebutkan harus ada
dalam file konfigurasi yang dipilih. Gunakan opsi -target (lihat di bawah) untuk mendapatkan daftar
target yang dapat diterima. Pilihan file konfigurasi dapat dipengaruhi melalui
pilihan -konfig (Lihat di atas).

Opsi ini tidak relevan saat membuat paket TEA (lihat opsi -teh bawah).

-target
Opsi ini, bila ditentukan, akan menyebabkan sistem mencetak daftar semua yang diketahui
target dari file konfigurasi yang dipilih untuk stdout dan kemudian keluar. pilihan dari
file konfigurasi dapat dipengaruhi melalui opsi -konfig (Lihat di atas).

-teh Mirip dengan opsi -pkg, kecuali bahwa mode yang dipanggil tidak menghasilkan binari,
tetapi hierarki direktori yang berisi ".critcl" file, file pendampingnya, dan a
Sistem build mirip TEA dengan sebagian besar kode dukungan yang dibutuhkan (termasuk salinan
dari paket critcl).

Jika kedua opsi, yaitu -pkg dan -teh ditentukan yang terakhir ditentukan menang.

Dalam mode ini pilihannya -I, -L, -bersih, -memaksa, -cache, -termasukdir, -memungkinkan,
-cacat, dan -dengan-FOO tidak relevan dan diabaikan. Sebaliknya, opsi -libdir
relevan dalam hal ini dan -pkg mode.

Ketika opsi ini ditentukan, nama dasar dari argumen file pertama setelah
options digunakan sebagai nama paket yang akan dihasilkan. Jika perpanjangan itu
file menunjukkan perpustakaan bersama (".begitu"".sl"".dylib", Dan". Dll") itu juga
dihapus dari kumpulan file input. SEBUAH ".tcl" file disimpan sebagai bagian dari input. A
file tunggal tanpa ekstensi dianggap benar-benar memiliki ".tcl" ekstensi
file tanpa ekstensi, tetapi file input lain berikut diperlakukan seperti nama
perpustakaan bersama yang tepat, dan dihapus dari kumpulan file input.

contoh:
=> Nama paket adalah: foo
=> File masukan adalah: foo.tcl
=> Nama paket adalah: foo
=> File masukan adalah: bar.tcl
=> Nama paket adalah: foo
=> File masukan adalah: foo.tcl
=> Nama paket adalah: foo
=> File masukan adalah: bar.tcl

-dengan-nama nilai
Opsi ini menetapkan nilai opsi konfigurasi build kustom nama untuk nilai.

Informasi divalidasi hanya jika salah satu dari ".critcl" masukan file sebenarnya
mendefinisikan dan menggunakan opsi konfigurasi build khusus dengan itu nama.

Opsi ini tidak relevan saat membuat paket TEA (lihat opsi -teh atas).

PAKET STRUKTUR


Paket yang dihasilkan oleh critcl memiliki struktur dasar berikut:

+- pkgIndex.tcl
+- critcl-rt.tcl
+- license.terms (opsional)
|
+- tcl (opsional)
| +-
|
+-
+-

Catatan

[1] Berkas "pkgIndex.tcl" adalah file indeks paket standar yang diharapkan oleh Tcl's
manajemen paket. Itu bersumber selama pencarian paket, dan menyatakan
paket ke Tcl dengan file-nya, dan cara menanganinya.

[2] Berkas "critcl-rt.tcl" adalah file pembantu yang berisi kode umum yang digunakan oleh
"pkgIndex.tcl"untuk menjalankan tugasnya.

[3] Berkas "lisensi.terms" adalah opsional dan hanya muncul jika ".critcl" ajukan
paket dihasilkan dari perintah yang digunakan critcl::lisensi untuk mendeklarasikan paket
penulis dan lisensi.

[4] Semua file dideklarasikan dengan perintah critcl::sumber dimasukkan ke dalam sub-direktori
"tcl".

[5] Pustaka bersama yang dihasilkan oleh critcl dimasukkan ke dalam sub-platform khusus
direktori.

Seluruh struktur, dan terutama poin terakhir, memungkinkan kita untuk menggabungkan hasilnya nanti
(untuk paket dan versi yang sama) untuk beberapa platform target ke dalam satu direktori
struktur tanpa konflik, hanya dengan menyalin direktori teratas satu sama lain. Itu
hanya file yang dapat bentrok yang ada di dan "tcl" direktori, dan untuk ini kami
tahu bahwa mereka identik di seluruh target. Hasil penggabungan tersebut akan terlihat seperti:

+- pkgIndex.tcl
+- critcl-rt.tcl
+- license.terms (opsional)
|
+- tcl (opsional)
| +-
|
+-
| +-
+-
| +-
+-
+-

PERUBAHAN UNTUK VERSION 2.1


[1] Memperbaiki bug di mana critcl::sumber menafsirkan jalur relatif sebagai relatif terhadap
direktori kerja saat ini alih-alih relatif terhadap ".critcl" file menggunakan
perintah, seperti semua perintah lain dari jenis ini lakukan.

[2] Memperbaiki internal, mencegah informasi dikumpulkan untuk beberapa ".critcl"berkas ke
kebocoran di antara mereka. Terutama, kritik::tk bukan opsi konfigurasi global
lagi.

[3] Memperbaiki perintah critcl::lisensi menjadi operasi nol dalam mode "kompilasi & jalankan",
bukannya melempar kesalahan.

[4] Memperbaiki gangguan aplikasi critcl dengan cache hasil "kompilasi & jalankan"
in -pkg mode dengan membuatnya menggunakan mode yang sepenuhnya terpisah (dan secara default sementara)
direktori untuk mode itu.

[5] Memperbaiki bug yang berubah menjadi ".critcl" file tidak menghasilkan pembangunan kembali untuk mode
"kompilasi & jalankan". Semua perintah API yang relevan sekarang memastikan perubahan UUID.

[6] Memperbaiki bug dalam penanganan backend kritis::debug di mana pendamping c-sumber dari
Sebuah ".critcl" file tidak dikompilasi dengan opsi debug, meskipun ".critcl" file
itu

[7] Memperbaiki bug di kritis::debug yang mencegah pengenalan mode "semua" saat itu
bukan argumen pertama untuk perintah.

[8] Memperbaiki bug di "pramuat.c" mencegah kompilasi pada platform non-windows.

[9] Memperbaiki bug lama berdiri dalam penanganan kualifikasi namespace dalam nama perintah
argumen dari kritik::cproc dan critcl::command. Sekarang dimungkinkan untuk menentukan
nama perintah yang sepenuhnya memenuhi syarat tanpa masalah.

[10] Diperpanjang/dikerjakan ulang critcl::sumber menjadi cara kanonik untuk menyatakan ".tcl"
file pendamping bahkan untuk mode "kompilasi & jalankan".

[11] Diperpanjang/dikerjakan ulang critcl::sumber untuk memungkinkan penggunaan ".critcl" file sebagai miliknya
File pendamping Tcl.

[12] Diperpanjang critcl::kerangka kerja untuk memeriksa secara internal target build OS X, dan mengabaikan
deklarasi jika tidak.

[13] Diperpanjang critcl::gagal untuk dapat dipanggil lebih dari sekali dalam ".critcl" file. The
panggilan pertama memaksa build, jika belum selesai, untuk mendapatkan hasilnya. Lebih jauh
panggilan mengembalikan hasil cache dari panggilan pertama.

[14] Memperluas penanganan variabel lingkungan CC dalam kode yang menentukan
compiler yang digunakan untuk menangani (yaitu menghapus) path ke compiler, file compiler
ekstensi, dan opsi kompiler yang ditentukan setelah kompiler itu sendiri, hanya menyisakan
nama telanjang kompiler.

[15] Memperpanjang kode yang menangani pencarian pustaka yang dimuat sebelumnya untuk mencetak jalurnya
dicari, membuat debugging kegagalan pencarian lebih mudah.

[16] Perintah baru kritik::tcl dapat digunakan untuk mendeklarasikan versi Tcl secara minimal
diperlukan untuk membangun dan menjalankan ".critcl" file dan paket. Default ke 8.4 jika tidak
dinyatakan. Critcl yang diperluas untuk memiliki stub dan header untuk semua Tcl 8.4, 8.5,
dan 8.6.

[17] Perintah baru critcl::memuat memaksa membangun dan memuat ".critcl" file. Ini adalah
cara resmi untuk mengganti skema lazy-build-&-load-on-demand default critcl
untuk mode "kompilasi & jalankan".

Note bahwa setelah menggunakan critcl::memuat / critcl::gagal di sebuah ".critcl"file itu bukan
mungkin untuk menggunakan perintah critcl dalam file itu lagi. Melakukannya akan menimbulkan kesalahan.

[18] Memperpanjang generasi pragma '#line' untuk digunakan Info bingkai (jika tersedia) ke
berikan kompiler C dengan nomor baris yang tepat ke dalam ".critcl" file untuk
pelaporan peringatan dan kesalahan.

[19] Diperpanjang critcl::cek dengan logging untuk membantu men-debug pemeriksaan build-time dari
lingkungan, ditambah argumen opsional tambahan untuk memberikan pelabelan.

[20] Menambahkan perintah baru critcl :: periksa tautan yang tidak hanya mencoba memeriksa lingkungan
melalui kompilasi kode, tetapi juga keterhubungannya.

[21] Menambahkan perintah baru kritik::pesan untuk pesan, seperti perintah critcl::kesalahan adalah untuk
pelaporan kesalahan. Demikian juga ini adalah pengait yang diizinkan oleh pengguna paket
mengesampingkan. Implementasi default, digunakan oleh mode menyusun & menjalankan tidak melakukan apa-apa. Itu
implementasi untuk mode menghasilkan paket mencetak pesan ke stdout.

Penggunaan yang diharapkan adalah untuk pelaporan hasil yang ditentukan oleh: critcl::cek dan
critcl :: periksa tautan selama membangun, untuk membantu debugging ketika terjadi kesalahan
dengan cek.

[22] Mengekspos internal pemrosesan argumen dari kritik::proc untuk digunakan oleh tingkat lanjut
pengguna. Perintah baru adalah

[1] critcl::argname

[2] kritikal::argcnames

[3] critcl::argcsignature

[4] kritikal::argvardecls

[5] kritikal::argconversion

Silakan lihat bagian Advanced Tertanam C Kode dari kritik dokumentasi paket untuk
rincian.

[23] Memperpanjang paket critcl untuk mencegat paket memberikan dan rekam file ->
pemetaan nama paket. Ditambah perubahan internal lainnya sekarang memungkinkan penggunaan namespaced
nama paket saat masih menggunakan nama jalur yang tepat dan fungsi init.

[24] Menjatuhkan perintah yang tidak digunakan critcl::optimalkan dan critcl::termasuk.

[25] Dijatuhkan -lib mode dari aplikasi critcl.

[26] Menjatuhkan sisa-sisa dukungan untuk Tcl 8.3 dan sebelumnya.

PERUBAHAN UNTUK VERSION 3


[1] Perintah kritikal::platform sudah ditinggalkan di versi 2.1, digantikan oleh
kritikl::targetplatform, namun disimpan untuk kompatibilitas. Sekarang telah dihapus.

[2] Perintah critcl::dikompilasi disimpan dalam versi 2.1 dengan semantik di
kontradiksi dengannya, untuk kompatibilitas. Kontradiksi ini telah dihapus,
mengubah semantik perintah yang terlihat agar sesuai dengan namanya.

[3] Perubahan ke versi 3 menjadi perlu karena keduanya terlihat tidak kompatibel
perubahan di atas.

[4] Memperpanjang paket aplikasi dengan kode yang menangani opsi baru -teh. Menentukan
opsi ini memanggil mode khusus di mana critcl menghasilkan paket TEA, yaitu wraps
masukan ke dalam hierarki direktori dan file pendukung yang menyediakannya TEA-
sistem pembangunan yang mirip.

Opsi baru ini, dan -pkg, saling mengecualikan. Jika keduanya ditentukan yang terakhir digunakan
pilihan diutamakan.

Hirarki direktori paket yang dihasilkan sebagian besar mandiri, tetapi tidak sepenuhnya.
Ini tidak hanya membutuhkan instalasi Tcl yang berfungsi, tetapi juga instalasi yang berfungsi
dari paket-paket md5 dan cmdline. Keduanya disediakan oleh Tclilib bundel.
Tidak diperlukan, tetapi disarankan untuk menginstal paket apa pun yang dapat
mempercepat operasi md5, yaitu cryptkit, tclilibc, atau trf.

[5] Memperpanjang paket critcl dengan perintah baru critcl::pindai mengambil jalan ke
".critcl", memindai secara statis, dan mengembalikan lisensi, versi, daftar
file pendampingnya, daftar API yang diimpor, dan daftar kustom yang ditentukan pengembang
opsi konfigurasi. Data ini adalah dasar untuk pembungkus TEA yang dijelaskan
atas.

Perhatikan bahwa ini adalah statis memindai. Sementara mode build lainnya dapat (harus) menjalankan
".critcl" file dan buat keputusan khusus platform mengenai kode C yang dirakit,
file pendamping, dll. mode bungkus TEA tidak dalam posisi untuk membuat platform-
keputusan tertentu. Itu harus membungkus segala sesuatu yang mungkin dibutuhkan
ketika benar-benar membangun. Oleh karena itu pemindaian statis. Namun ini memiliki rangkaiannya sendiri
masalah, yaitu ketidakmampuan untuk mengetahui setiap konstruksi dinamis pendamping
jalur file, setidaknya dengan sendirinya. Dengan demikian:

[6] Memperluas API yang digunakan oleh paket berbasis critcl dengan perintah critcl::memiliki. Sementara
perintah ini diabaikan oleh mode build reguler yang dijelaskan oleh pemindai statis
di atas mengambil argumennya sebagai nama file pendamping yang harus dibungkus
ke dalam paket TEA dan tidak dapat ditemukan oleh pemindai sebaliknya, seperti
karena jalur dinamis ke critcl::sumber, critcl::sumber, mendapatkan sumber
langsung, atau hanya menjadi file data tambahan.

[7] Memperluas API yang digunakan oleh paket berbasis critcl dengan perintah kritis::api untuk
pengelolaan tabel stub, baik itu penggunaannya, dan/atau deklarasi dan ekspor.

Silakan lihat bagian Rintisan bertopik tabel Pengelolaan dari kritik dokumentasi paket untuk
rincian.

[8] Memperluas API yang digunakan oleh paket berbasis critcl dengan perintah kritikl::konfigurasi pengguna
untuk pengelolaan opsi konfigurasi khusus yang ditentukan pengembang, baik itu mereka
penggunaan dan/atau pernyataan.

Silakan lihat bagian Kustom Membangun konfigurasi dari kritik dokumentasi paket
untuk rincian.

[9] Memperluas API yang digunakan oleh paket berbasis critcl dengan perintah
critcl::deskripsi, critcl::ringkasan, critcl::subjek, kritik::meta, dan
critcl::kebutuhan bangunan untuk deklarasi meta data TEApot untuk/tentang
paket.

Silakan lihat bagian Paket meta Data dari kritik dokumentasi paket untuk
rincian.

PERUBAHAN UNTUK VERSION 3.0.1


[1] Perbaikan bug di sekitar. Secara terperinci:

[2] Memperbaiki rekaman persyaratan versi Tcl. Simpan nama dan versi paket
bersama-sama, membongkar data meta yang dihasilkan dan perintah pemuatan paket yang dihasilkan.

[3] Memperbaiki skrip build: Saat menginstal, atau membungkus untuk TEA, buat yang hilang
direktori

[4] Memodifikasi skrip build untuk keluar dari aplikasi dengan benar saat jendela
GUI mereka ditutup melalui tombol (X).

[5] Menghapus 8.5-ism (open wb) yang telah dimasukkan ke dalam skrip build utama.

[6] Memodifikasi skrip pembuatan contoh untuk memisahkan output untuk yang berbeda
contoh (dan paket) dengan menambahkan baris kosong.

[7] stack::c contoh perbaikan bug: Sertakan deklarasi API untuk digunakan dalam file pendamping.

[8] Memperpanjang dokumentasi: Mencatat perlunya instalasi kerja C
penyusun.

[9] Memperpanjang definisi dan kode target Windows untuk menangani file manifes yang digunakan
oleh lingkungan pengembangan MS modern. Perhatikan bahwa kode ini menangani keduanya
kemungkinan, lingkungan menggunakan manifes, dan (lama (er)) lingkungan tanpa.

[10] Memperpanjang definisi dan kode target Windows 64bit untuk mendeteksi kebutuhan secara otomatis
pustaka pembantu "bufferoverflowU.lib" dan mengkonfigurasi ulang kompilasi dan tautan
perintah dengan tepat. Kami berasumsi bahwa perpustakaan harus ditautkan saat ada.
Ini seharusnya tidak ada salahnya jika perpustakaan ada, namun tidak dibutuhkan. Hanya berlebihan.
Kami mencari perpustakaan di jalur yang ditentukan oleh variabel lingkungan LIB.

PERUBAHAN UNTUK VERSION 3.0.2


[1] Memperbaiki masalah dalam mode kompilasi-dan-jalankan di mana perintah yang dimasukkan ke dalam auto_index tidak
ditemukan oleh perintah [tidak diketahui] Tcl.

[2] Memperbaiki ketidakcocokan kunci larik yang melanggar penggunaan data klien dan menghapus fungsi untuk
prosedur. Dilaporkan oleh Jos DeCoster, dengan tambalan.

[3] Menerapkan opsi baris perintah -L, setara dengan opsi -I, hanya untuk perpustakaan
jalur pencarian.

[4] Memperbaiki masalah github 5 dan 8. Mengatasi variabel yang hilang :: errorInfo. Dia
harus selalu ada, namun tampaknya ada revisi Tcl di mana
melanggar asumsi ini.

PERUBAHAN UNTUK VERSION 3.0.3


[1] Memperbaiki masalah github 5 dan 8, untuk contoh skrip build.tcl. Bekerja di sekitar
variabel yang hilang ::errorInfo. Itu harus selalu ada, bagaimanapun tampaknya ada
revisi Tcl sekitar yang melanggar asumsi ini.

PERUBAHAN UNTUK VERSION 3.0.4


[1] Memperbaiki generasi initname paket saat kode masuk dibaca dari
stdin dan tidak memiliki jalur yang tepat.

[2] Memperbaiki masalah github 11. Sekarang menggunakan /LIBPATH alih-alih -L di Windows (libinclude
pengaturan konfigurasi).

[3] Critcl yang diperluas untuk menangani -l: format path dari opsi -l. GNU ld 2.22+ menangani ini
dengan mencari jalan apa adanya. Bagus saat menentukan pustaka statis, seperti biasa -l
mencari perpustakaan bersama dalam preferensi daripada statis. critcl menanganinya sekarang, sebagai
lama GNU ld tidak memahaminya, atau berbagai linker khusus vendor.

[4] Memperbaiki masalah github #12. Critcl sekarang menentukan versi MSVC yang digunakan dan digunakan
untuk beralih di antara berbagai opsi debug tautan. Menyederhanakan penanganan
bufferoverflowU.lib juga, memanfaatkan mekanisme yang sama dan menciutkan keduanya
bagian konfigurasi kami telah kembali menjadi satu.

[5] Mengerjakan ulang penyisipan #line pragma ke dalam kode C yang dihasilkan untuk menghindari
batasan pada argumen nomor baris yang diberlakukan oleh berbagai kompiler, dan lebih banyak lagi
tepat.

[6] Pemrosesan argumen yang dimodifikasi. Opsi -libdir sekarang juga menyiratkan -L untuk argumennya.

[7] Penanganan opsi -show yang diperpanjang (critcl::showconfig) untuk membuat daftar jalur
file konfigurasi tempat data berasal. Bagus untuk men-debug konfigurasi
pengolahan.

[8] Memperpanjang skrip build dengan target untuk membuat ulang dokumentasi yang disematkan,
dan diagram, dan untuk menghasilkan rilis.

PERUBAHAN UNTUK VERSION 3.0.5


[1] Memperbaiki bug dalam kode baru untuk pragma #line yang dipicu saat menentukan kode C
tanpa memimpin spasi.

[2] Memperpanjang dokumentasi untuk memiliki halaman manual untuk lisensi, pengambilan sumber,
installer, dan panduan pengembang.

PERUBAHAN UNTUK VERSION 3.0.6


[1] Memperbaiki masalah github 10. Aplikasi critcl sekarang memberikan kode keluar yang tepat (1)
pada kegagalan build, alih-alih selalu menunjukkan keberhasilan (status 0).

[2] Memperbaiki masalah github 13. Penanganan bufferoverflowU.lib untuk build rilis adalah
tidak konsisten dengan penanganan untuk build debug. Sekarang ditangani secara identik
(bersyarat) oleh kedua kasus.

[3] Pembersihan dokumentasi, terutama dalam panduan instalasi, dan README.md yang ditunjukkan oleh
github

PERUBAHAN UNTUK VERSION 3.0.7


[1] Memperbaiki kode yang dihasilkan oleh perintah critcl::c++. Kode yang dipancarkan menyerahkan non-
tabel string statis untuk Tcl_GetIndexFromObj, melanggar kontrak, yang
membutuhkan tabel untuk memiliki alamat tetap. Ini adalah penghancuran memori yang menunggu untuk
terjadi. Terima kasih kepada Brian Griffin karena telah mengingatkan kami pada masalah umum.

PERUBAHAN UNTUK VERSION 3.1


[1] Menambahkan paket level baru yang lebih tinggi kritikal::iassoc.

Paket ini menyederhanakan pembuatan kode yang mengaitkan data dengan juru bahasa
melalui Tcl's Tcl_(Dapatkan|Set)AssocData() Lebah. Pengguna dapat berkonsentrasi pada datanya sambil
semua kode C boilerplate yang diperlukan untuk mendukung ini dihasilkan oleh paket.

Paket ini menggunakan beberapa fitur baru yang ditambahkan ke inti kritik
paket, lihat di bawah.

[2] Menambahkan paket level yang lebih tinggi critcl::kelas.

Paket ini menyederhanakan pembuatan objek level C dengan kelas dan instance
perintah. Pengguna dapat menulis definisi kelas dengan variabel kelas dan instans
dan -metode yang mirip dengan kelas TclOO, dengan semua kode boilerplate C yang diperlukan untuk
mendukung ini yang dihasilkan oleh paket.

Paket ini menggunakan beberapa fitur baru yang ditambahkan ke inti kritik
paket, lihat di bawah.

[3] Memperluas API untuk menangani metadata TEApot. Menambahkan perintah kritik::meta? untuk
menanyakan informasi yang disimpan. Penggunaan utama yang saat ini dibayangkan adalah pengambilan
nama paket saat ini dengan perintah utilitas, untuk digunakan dalam nama yang dibuat. Ini
informasi tertentu selalu tersedia karena pemindaian statis paket
file pada eksekusi perintah critcl pertama.

Paket baru kritikal::iassoc dan critcl::kelas (lihat di atas) adalah pengguna ini
perintah.

[4] Memperluas API dengan perintah, critcl::nama2c, memaparkan proses konversi
nama Tcl menjadi nama dasar, namespace, dan namespace C. Ini memungkinkan level yang lebih tinggi
generator kode untuk menghasilkan jenis pengidentifikasi C yang sama seperti kritik itu sendiri.

Paket baru critcl::kelas (lihat di atas) adalah pengguna dari perintah ini.

[5] Memperluas API dengan perintah, critcl::sumber, menjalankan perintah critcl yang ditemukan di
file terpisah dalam konteks file saat ini. Ini memungkinkan manajemen yang lebih mudah
dari badan kode yang lebih besar karena memungkinkan pengguna untuk membaginya menjadi lebih mudah untuk
mencerna potongan yang lebih kecil tanpa menyebabkan pembuatan beberapa paket.

[6] Terkait dengan item sebelumnya, perpanjang API dengan perintah untuk mengalihkan koleksi
dari kode C yang dihasilkan ke dalam memori. Ini membuatnya lebih mudah untuk menggunakan perintah untuk
tertanam kode C di generator kode tingkat yang lebih tinggi.

Lihat bagian Lanjutan: Pengalihan untuk rincian perintah yang disediakan.

Paket baru critcl::kelas (lihat di atas) adalah pengguna fasilitas ini.

[7] Memperluas API dengan perintah yang membantu pengembang menghasilkan C . yang tepat
#garis arahan. Ini memungkinkan pembuat kode tingkat yang lebih tinggi untuk menghasilkan dan menyisipkan
arahan mereka sendiri, memastikan bahwa kesalahan kompilasi dalam kode mereka benar
dikaitkan.

Lihat bagian Lanjutan: Lokasi pengelolaan untuk rincian perintah yang disediakan.

Paket baru kritikal::iassoc dan critcl::kelas (lihat di atas) adalah pengguna ini
fasilitas.

[8] Memperluas API dengan perintah yang memberi pengguna kemampuan untuk mendefinisikan argumen khusus
dan jenis hasil untuk ::kritcl::cproc.

Lihat bagian Lanjutan: Memperluas tanaman untuk rincian perintah yang disediakan.

PERUBAHAN UNTUK VERSION 3.1.1


[1] Perbaikan bug di sekitar. Secara terperinci:

[2] Memperbaiki pembuatan kesalahan #args yang salah untuk kritik::cproc dan kode turunan
(critcl::kelas metode berbasis cproc). Gunakan NULL jika tidak ada argumen, dan ambil
offset diperhitungkan.

[3] Memperbaiki penanganan nama paket dengan critcl::kelas. Lupa bahwa mereka mungkin mengandung
pemisah namespace. Menabrak ke versi 1.0.1.

[4] Diperpanjang a critcl::kelas pesan kesalahan yang dihasilkan dalam pembuatan instance untuk kejelasan.
Terbentur ke versi 1.0.2.

PERUBAHAN UNTUK VERSION 3.1.2


[1] Peningkatan. Secara terperinci:

[2] Diperpanjang kritik::cproc untuk dapat menangani argumen opsional, dengan cara yang terbatas.
Ini tersedia secara otomatis untuk critcl::kelas metode berbasis cproc juga.

[3] Perbaikan bug di tugaskan emulasi untuk Tcl 8.4. Setel variabel yang tidak digunakan dengan benar ke
string kosong. Versi paket emulasi yang terbentur lasign84 ke 1.0.1.

PERUBAHAN UNTUK VERSION 3.1.3


[1] Peningkatan. Secara terperinci:

[2] Menambahkan tipe argumen baru "pstring", untuk "Pascal String", string yang dihitung, yaitu a
kombinasi penunjuk string dan panjang string.

[3] Menambahkan metode baru kritikal::argtypesupport dan ::critcl::argsupport untuk mendefinisikan dan menggunakan
kode pendukung tambahan untuk tipe argumen, di sini digunakan oleh "pstring" di atas untuk
menentukan struktur yang diperlukan.

[4] Perbaikan semi-bug dalam paket critcl::kelas dan kritikal::iassoc. Pragma untuk AS
pemindai meta data untuk memastikan bahwa file templat menjadi bagian dari paket.
Versi menabrak 1.0.4 dan 1.0.1 masing-masing.

PERUBAHAN UNTUK VERSION 3.1.4


[1] Perbaikan bug dalam paket critcl::kelas. Hasilkan bidang dummy dalam struktur kelas jika
kelas tidak memiliki variabel kelas. Tanpa perubahan ini struktur akan kosong,
dan sejumlah kompiler tidak dapat menangani tipe seperti itu.

[2] Memperbaiki kesalahan ketik yang merusak konfigurasi win64.

[3] Memperbaiki masalah #16, salah ketik dalam dokumentasi perintah critcl::kelas.

PERUBAHAN UNTUK VERSION 3.1.5


[1] Memperbaiki masalah #19. Membuat ekspresi reguler mengekstrak nomor versi MSVC
lebih umum untuk membuatnya bekerja pada sistem bahasa Jerman. Ini mungkin harus
ditinjau kembali di masa mendatang, untuk lokal Windows lainnya.

[2] Memperbaiki masalah #20. Membuat opsi -teh berfungsi di windows, setidaknya dalam emulasi unix
lingkungan seperti msys/mingw.

PERUBAHAN UNTUK VERSION 3.1.6


[1] Memperbaiki masalah #21. Sedangkan multi-definisi dari variabel pointer stub-table adalah
ok dengan semua tautan C yang terlihat sejauh ini, tautan C++ tidak menyukai ini sama sekali.
Mengerjakan ulang kode untuk memastikan bahwa set variabel ini dihasilkan hanya sekali, dalam
pembungkus di sekitar semua bagian untuk dirakit.

[2] Memperbaiki masalah #22, penanganan argumen pengenal perintah dari
critcl::command, kritik::cproc, dan kritis::cdata. Kami sekarang mengizinkan Tcl . apa pun dengan benar
pengidentifikasi dan menghasilkan pengidentifikasi C internal yang tepat dari mereka.

Sebagai bagian dari ini tanda tangan perintah critcl::nama2c berubah. Perintah sekarang
memberikan daftar empat nilai, bukan tiga. Nilai baru ditambahkan di
akhir.

Lebih lanjut mengadaptasi implementasi paket critcl::kelas, pengguna
critcl::nama2c. Paket ini sekarang di versi 1.0.6 dan membutuhkan critcl 3.1.6

Terakhir memperbaiki kesalahan penanganan opsi -nama in critcl::command, dan
kritik::cproc.

[3] Memperbaiki masalah #23.

PERUBAHAN UNTUK VERSION 3.1.7


[1] Memperbaiki masalah #24. Ekstrak dan tampilkan peringatan kompiler tanpa syarat yang ditemukan di
membangun log. Mencegah pengguna dari peringatan yang hilang yang, meskipun tidak menyebabkan build
gagal, mungkin masih menunjukkan masalah.

[2] Fitur baru. Kait keluaran. Semua keluaran pengguna non-pesan sekarang dirutekan melalui
Command critcl::cetak, dan pengguna diizinkan untuk menimpanya saat menggunakan critcl
aplikasi-sebagai-paket.

[3] Fitur baru, oleh Ashok P. Nadkarni. Konfigurasi platform dapat mewarisi nilai dari
konfigurasi yang ditentukan sebelumnya.

PERUBAHAN UNTUK VERSION 3.1.8


[1] Memperbaiki masalah dengan indeks paket yang dibuat untuk Tcl 8.4. Bergabunglah dengan daftar perintah
dengan titik koma, bukan baris baru.

[2] Memperbaiki masalah #26 yang memunculkan kasus penggunaan yang saya lupa pertimbangkan saat memperbaikinya
bug #21 (lihat critcl 3.1.6).

PERUBAHAN UNTUK VERSION 3.1.9


[1] Memperbaiki masalah #27. Menambahkan definisi platform yang hilang untuk berbagai linux alternatif dan
sasaran OS X.

[2] Memperbaiki masalah #28. Menambahkan tanda -mXX yang hilang untuk penautan di linux-{32,64}-*
target.

[3] Memperbaiki masalah #29. Menggantikan penggunaan informasi "header" mentah dalam pemrosesan
dari "cdefines" dengan yang tepat termasuk arahan yang berasal darinya.

[4] Memperbaiki masalah di balik pull request #30 yang ditolak oleh Andrew Shadura. Dinamis
ekstrak deklarasi variabel stub dari file header Tcl dan hasilkan
pencocokan definisi variabel untuk digunakan dalam kode paket. Kode yang dihasilkan akan
sekarang selalu konsisten dengan header, bahkan ketika salinan critcl sendiri adalah
diganti dengan header sistem.

[5] Memperbaiki masalah #31. Patch yang diterima oleh Andrew Shadura, dengan perubahan (komentar), untuk
integrasi critcl yang lebih mudah dengan sistem paket OS, menggantikan salinan critcl dari
Tcl header dengan mereka sendiri.

[6] Memperbaiki masalah #32. Permintaan tarik gabungan oleh Andrew Shadura. Berbagai kesalahan ketik dalam
dokumentasi dan komentar.

[7] Memperbaiki masalah #33. Tangani file yang dimulai dengan titik dengan lebih baik.

PENULIS


Jean Claude Wippler, Steve Landers, Andreas Kupries

Gunakan critcl online menggunakan layanan onworks.net


Server & Workstation Gratis

Unduh aplikasi Windows & Linux

  • 1
    Phaser
    Phaser
    Phaser adalah pembukaan yang cepat, gratis, dan menyenangkan
    kerangka kerja game HTML5 sumber yang menawarkan
    Rendering WebGL dan Canvas di seluruh
    browser web desktop dan seluler. permainan
    bisa bersama...
    Unduh Phaser.dll
  • 2
    Mesin VASSAL
    Mesin VASSAL
    VASSAL adalah mesin permainan untuk membuat
    versi elektronik dari papan tradisional
    dan permainan kartu. Ini memberikan dukungan untuk
    rendering dan interaksi potongan game,
    dan ...
    Unduh Mesin VASSAL
  • 3
    OpenPDF - Garpu iText
    OpenPDF - Garpu iText
    OpenPDF adalah perpustakaan Java untuk membuat
    dan mengedit file PDF dengan LGPL dan
    Lisensi sumber terbuka MPL. OpenPDF adalah
    LGPL/MPL penerus sumber terbuka iText,
    Sebuah...
    Unduh OpenPDF - Garpu iText
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - Sistem untuk Otomatis
    Analisis Geoscientific - adalah Geografis
    Perangkat lunak Sistem Informasi (GIS) dengan
    kemampuan luar biasa untuk geodata
    pengolahan dan ...
    Unduh SAGA GIS
  • 5
    Toolbox untuk Java/JTOpen
    Toolbox untuk Java/JTOpen
    Toolbox IBM untuk Java / JTOpen adalah a
    perpustakaan kelas Java mendukung
    client/server dan pemrograman internet
    model ke sistem yang menjalankan OS/400,
    i5/OS, atau...
    Unduh Toolbox untuk Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (atau D3 untuk Dokumen Berbasis Data)
    adalah perpustakaan JavaScript yang memungkinkan Anda
    untuk menghasilkan data yang dinamis dan interaktif
    visualisasi di browser web. Dengan D3
    kamu...
    Unduh D3.js
  • Lebih banyak lagi »

Perintah Linux

Ad