EnglishFrenchSpanyol

Ad


Favicon OnWorks

icmun - Dalam talian di Awan

Jalankan icmun dalam penyedia pengehosan percuma OnWorks melalui Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS

Ini ialah arahan icmun yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.

JADUAL:

NAMA


icmake - Penyelenggaraan program (membuat) utiliti menggunakan a C-seperti tatabahasa

SINOPSIS


icmake [pilihan] sumber[.im] [dest[.bim]] [-- [args]]

icmun bimfile

DESCRIPTION


Icmake(1) boleh digunakan sebagai alternatif kepada membuat(1). Dalam mod operasi standardnya, ia
memanggil program berikut:

o icm-pp untuk praproses fail icmake

o icm-comp untuk kod bait menyusun icmake s

o icm-exec untuk melaksanakan fail kod bait

Icmake membolehkan pengaturcara menggunakan bahasa pengaturcaraan (hampir menyerupai bahasa yang terkenal
C-bahasa pengaturcaraan) untuk menentukan tindakan yang terlibat dalam program (kompleks).
penyelenggaraan. Untuk ini, icmake menawarkan pelbagai pengendali khas serta satu set sokongan
fungsi yang telah terbukti berguna dalam penyelenggaraan program.

Program yang icmun(1) boleh digunakan untuk membuka fail kod-bait (.bim) yang dihimpun. Icmun
digunakan terutamanya untuk ilustrasi, pendidikan dan penyahpepijatan.

Utiliti buatan tradisional menyusun semula sumber sebaik sahaja fail pengepala diubah suai. Di dalam
konteks C + + pembangunan program ini selalunya merupakan idea yang tidak baik, kerana menambah ahli baru ke a
kelas biasanya tidak memerlukan anda untuk menyusun semula sumber kelas. Untuk mengendalikan kelas
kebergantungan icmbuld(1) boleh memeriksa KELAS fail yang boleh digunakan untuk menentukan kebergantungan
antara kelas. Secara lalai, kebergantungan kelas tidak ditafsirkan. Merujuk kepada icmconf(7)
halaman manusia untuk butiran lanjut.

PILIHAN


Icmake menggunakan fail dan pilihan berikut:

o sumber: icmake fail sumber skrip (sambungan lalai: .im).

o destinasi: binari icmake fail skrip (lalai: `sumber'.bim, dipanggil `.bim file'
di bawah).

o --: icmake pemisah hujah memisahkan icmake hujah daripada hujah yang diluluskan
ke .bim filenl() args: hujah berikut -- dihantar ke fail .bim
apa adanya, dan boleh didapati daripada senarai argv parameter ditakrifkan sebagai icmake
skrip utama parameter kedua fungsi (lihat di bawah di bahagian PENGGUNA DENTIKAN
FUNGSI). Untuk beberapa pilihan (lihat di bawah) -- pemisah tidak diperlukan.

Icmake menyokong pelbagai pilihan, diterangkan seterusnya. The -h pilihan mengatasi semua yang lain
pilihan, yang -a pilihan mengatasi semua pilihan lain kecuali untuk -h. Daripada tindakan yang tinggal
pilihan (-b, -c, -e, -saya, -p and -t) hanya satu yang boleh ditentukan:

o -a
menunjukkan maklumat tentang icmake, ditolak oleh -h;

o -b
dihentikan: gunakan pilihan -e sebaliknya;

o -c
yang icmake fail sumber disusun, menghasilkan fail .bim;

o -e
melaksanakan icmake fail .bim, diberikan sebagai icmakehujah fail pertama. Sebarang tambahan
argumen dihantar ke fail .bim apa adanya, dan -- tidak harus dinyatakan;

o -F
nama fail dan bendera serta gambaran keseluruhan semua tindakan yang perlu dilakukan oleh
icmake ditunjukkan pada aliran keluaran standard;

o -h
memberikan maklumat penggunaan dan akhir icmake;

o -i
hujah pertama ialah icmake fail sumber, fail binari lalai ialah
dibina jika perlu. Sebarang argumen tambahan dihantar ke fail .bim
sebagaimana adanya, dan -- tidak harus dinyatakan;

o -p
yang icmake fail sumber hanya dipraproses, dan fail praproses ditulis
kepada icmakeArgumen fail kedua (secara lalai `sumber'.pim);

o -q
diabaikan, akan dialih keluar pada masa hadapan icmake versi;

o -t
hujah berikut -t ialah nama fail .bim sementara, yang dialih keluar
selepas icmakepanggilan. Bila . dinyatakan sebagai nama fail .bim sementara
kemudian direktori sementara lalai, diikuti dengan icmake's process-id, diikuti dengan
.bim digunakan.

Mengikuti nama fail .bim sementara nama fail icmake skrip sumber
mesti dinyatakan. Sebarang hujah tambahan dihantar ke fail .bim apa adanya, dan
-- tidak harus dinyatakan; Selepas menetapkan bendera boleh laku fail skrip sumber
(Chmod +x skrip), dan menyediakannya dengan baris awal seperti ini:

#!/usr/bin/icmake -t.

yang icmake skrip boleh terus dipanggil:

skrip arg1 arg2

dalam hal ini icmake skrip `skrip' dilaksanakan semasa ia menerima
hujah skrip arg1 arg2.

o -T
pilihan ini mesti disediakan dengan nama direktori yang digunakan untuk menyimpan
fail-fail sementara. Cth, semasa menyusun an icmake skrip, output daripada icmake's
prapemproses ialah fail sementara yang dialih keluar semasa keluar. Secara lalai / tmp digunakan,
melainkan jika / tmp bukan direktori boleh tulis, dalam hal ini adalah milik pengguna semasa $ HOME
direktori digunakan. Nama fail sementara tersirat sentiasa bermula dengan id proses
semasa icmake proses.

o -v
memaparkan icmakenombor versi dan akhir icmake, ditolak oleh -h

Icmun:

bimfile: binari icmake fail skrip.

PREPROCESSOR ARAHAN


Arahan prapemproses berikut tersedia:

o komen:
standard C komen (semua antara /* and */) serta komen-ke-hujung-baris (semua
kandungan baris berikut //) diabaikan.

o Permulaan Shell: Baris pertama icmake-skrip boleh bermula dengan #!laluan, Di mana
jalan mentakrifkan lokasi mutlak icmake program. Dengan membuat skrip
boleh laku, ia boleh dipanggil tanpa memanggil secara eksplisit icmake.

Contohnya, jika baris pertama icmakefile (boleh laku) 'icm' (tanpa sambungan)
mengandungi

#!/usr/bin/icmake -i

kemudian icm boleh dikeluarkan sebagai arahan, dengan itu melaksanakan

/usr/bin/icmake -i icm ...

Sebagai alternatif,

#!/usr/bin/icmake -t /tmp/icm

boleh digunakan, mengakibatkan pelaksanaan

#!/usr/bin/icmake -t /tmp/icm icm ...

Dalam kes ini, fail binari dikeluarkan semasa keluar.

o #include "nama fail"
Fail nama fail disertakan di lokasi arahan

o #include
Fail nama fail disertakan di lokasi #include arahan; nama fail
dicari dalam direktori yang dipisahkan bertindih yang ditentukan oleh IM persekitaran
pembolehubah. Kejadian pertama nama fail dalam direktori yang ditentukan oleh IM
pembolehubah persekitaran digunakan.

o #tentukan pengecam [definisi]
Teks pengecam akan digantikan oleh definisi. Definisi mungkin mengandungi
rujukan kepada pengecam yang telah ditentukan, menggunakan ${identifier} format. Sekiranya
${identifier} belum ditakrifkan (lagi), teksnya ${identifier} disimpan secara literal.
Untuk mengelakkan pengulangan tak terhingga paling banyak 100 ${identifier} penggantian dibenarkan.

Definisi diteruskan pada baris seterusnya jika aksara terakhir pada baris ialah a
garis miring ke belakang (\). (yang tidak termasuk dalam definisi). Prapemproses
menggabungkan rentetan petikan dua kali dan rentetan petikan dua kali mungkin tidak merangkumi berbilang
garisan. Berbilang kosong (di luar rentetan petikan berganda) dalam definisi ialah
menguncup ke satu ruang kosong.

Definisi berikut #define's pengecam adalah pilihan. Jika ditinggalkan, yang
makro ditakrifkan, jadi ia boleh digunakan dalam #jika(n)def arahan (lihat di bawah), tetapi mereka
tidak digantikan dengan mana-mana teks dalam icmake penyataan kod.

o #ifdef pengecam
Jika pengecam makro telah ditakrifkan blok kod seterusnya (sehingga padanan #selamat
or #endif arahan telah dibaca) disusun bait. Jika tidak, blok kod adalah
diabaikan.

o #ifndef pengecam
Jika pengecam makro ialah tidak menentukan blok kod seterusnya (sehingga padanan
#selamat or #endif arahan telah dikesan) disusun bait. Jika tidak, blok
kod diabaikan.

o #selamat
Menamatkan a #ifdef and #ifndef arahan, membalikkan keputusan penerimaan tentang
kod berikut. Hanya satu #selamat arahan boleh dikaitkan dengan #jika(n)def
arahan.

o #endif
Menamatkan blok prapemproses bermula pada padanan #ifdef, #ifndef or #selamat
arahan. The #endif direktori dan padanannya #jika(n)def arahan mestilah
dinyatakan dalam fail yang sama.

o #undef pengecam
Batalkan pengecam daripada set simbol yang ditentukan. Ini tidak menjejaskan
spesifikasi mana-mana simbol yang ditakrifkan sebelum ini di mana pengecam definisi
telah digunakan. Jika pengecam belum ditakrifkan amaran dikeluarkan.

DATA JENIS


Icmake menyokong jenis data ini:

o ASCII watak berterusan
Pemalar aksara ASCII terdiri daripada satu aksara, dikelilingi oleh tunggal atau berganda
petikan. aksara tunggal (cth, 'a') mewakili watak itu sendiri. Standard
urutan melarikan diri (cth, '\n') disokong dan mewakili standard mereka ditukar
nilai (cth, '\n' mewakili nilai ascii 10 (perpuluhan)). Melarikan diri bukan standard
urutan (cth, '\x') mewakili watak ascii mengikuti watak melarikan diri
(jadi '\x' sama dengan 'x'). Jujukan melarikan diri yang terdiri daripada tiga digit perlapanan mewakili
aksara ascii yang sepadan dengan nilai perlapanan modulo 256 (cth, '\123').
Jujukan melarikan diri yang terdiri daripada x diikuti oleh dua digit heksadesimal mewakili
aksara ascii yang sepadan dengan nilai perenambelasan (cth, '\xa4').

o int
Nilai kamiran, bermula daripada -0x8000 melalui 0x7fff. int pemalar mungkin
dinyatakan sebagai nombor perpuluhan (bermula dengan digit 1 hingga 9), nombor perlapanan
(bermula dengan 0, diikuti dengan satu atau lebih digit perlapanan) nombor perenambelasan
(bermula dengan 0x, diikuti dengan satu atau lebih digit heksadesimal) atau sebagai ASCII
pemalar watak.

o rentetan
Pembolehubah teks. Pemalar rentetan dihadkan dengan petikan berganda. Berbilang rentetan
pemalar mungkin digabungkan, tetapi pemalar rentetan tunggal mungkin tidak merangkumi berbilang
garisan. Pemalar rentetan dipisahkan oleh ruang putih sahaja (iaitu, kosong, baris baharu,
komen) disatukan dan mewakili satu pemalar rentetan tunggal. Untuk menunjukkan an
hujung talian dalam pemalar rentetan gunakan \n urutan melarikan diri.

Pemalar aksara ASCII yang dikelilingi oleh petikan berganda juga boleh digunakan dalam
ungkapan aritmetik jika salah satu operan ialah an int. Watak tunggal
pemalar rentetan kemestian menjadi pemalar, dan tidak boleh menjadi a rentetan berubah-ubah.

Begitu juga, pemalar aksara ASCII yang dikelilingi oleh petikan tunggal boleh digunakan dalam
situasi di mana operan rentetan dijangka.

o senarai
Struktur data yang mengandungi satu siri yang boleh diakses secara individu rentetan nilai. Bila
senarai mengandungi elemen, elemen pertamanya ditunjukkan oleh indeks 0.

o membatalkan
Digunakan dengan definisi fungsi untuk menunjukkan bahawa fungsi tidak mengembalikan a
nilai.

Pembolehubah boleh ditakrifkan di peringkat global dan juga di mana-mana peringkat tempatan di dalam
fungsi. Apabila ditakrifkan dalam fungsi, standard C peraturan skop dan keterlihatan
memohon. Contohnya, pembolehubah tempatan hanya boleh digunakan dalam pembolehubahnya sendiri atau dalam sarang yang lebih dalam
blok, keterlihatan mereka bertopeng dalam blok bersarang lebih dalam dengan mentakrifkan secara identik
dinamakan pembolehubah di dalam blok yang bersarang lebih dalam itu. Pembolehubah ditaip dengan kuat, dan
tidak boleh mempunyai jenis membatalkan.

Pembolehubah boleh dimulakan apabila ia ditakrifkan. Inisialisasi adalah ungkapan, itu
boleh menggunakan fungsi pra atau yang ditentukan pengguna, nilai malar dan nilai pembolehubah yang
kelihatan pada titik definisi.

DETAPKAN MAHAL


Pemalar berikut dipratakrifkan oleh icmake. Semuanya tetap int nilai:

─────────────────────────────────
nilai simbol yang dimaksudkan untuk
─────────────────────────────────
O_SEMUA 8 senarai nama
O_DIR 2 makelist
O_FILE 1 senarai nama
O_SUBDIR 4 makelist
─────────────────────────────────
MATI 0 gema
PADA 1 gema
─────────────────────────────────
P_CHECK 0 panggilan sistem
P_NOCHECK 1 panggilan sistem
─────────────────────────────────
S_IEXEC 32 statistik
S_IFCHR 1 statistik
S_IFDIR 2 statistik
S_IFREG 4 statistik
S_IREAD 8 statistik
S_IWRITE 16 statistik
─────────────────────────────────

Pemalar berikut adalah bergantung kepada seni bina:

────────────────────────────────────────────────── ────────────
simbol 1 apabila ditakrifkan pada platform, jika tidak 0
────────────────────────────────────────────────── ────────────
unix Unix, biasanya dengan pengkompil gcc GNU
UNIX mungkin tersedia secara alternatif
linux x86 menjalankan Linux (biasanya dengan gcc)
LINUX mungkin tersedia secara alternatif
M_SYSV, M_UNIX x86 menjalankan SCO/Unix
_POSIX _SOURCE Unix dengan penyusun patuh Posix
__hpux HP-UX, dengan pengkompil HP asli
────────────────────────────────────────────────── ────────────

PENGENDALI


bertaip int operan:

SEMUA C operator tersedia (kecuali untuk operator penunjuk, sebagai icmake tidak menyokong
petunjuk). Mereka beroperasi seperti mereka C-rakan bahasa pengaturcaraan.

bertaip rentetan operan:

Untuk rentetan jenis pembolehubah dan/atau pemalar operator berikut tersedia (a and b
mewakili rentetan pembolehubah atau pemalar):

o a + b: mengembalikan yang baru rentetan nilai yang mengandungi gabungan daripada rentetan nilai a
and b. Perhatikan bahawa rentetan pemalar boleh digabungkan secara langsung (tanpa menggunakan +
operator), contohnya, kedua-dua baris berikut mentakrifkan rentetan "hello dunia ":

"Hai dunia"
"hello" + "dunia"

o a += b: a mestilah a rentetan pembolehubah, yang rentetan pembolehubah atau nilai b is
dilampirkan.

o perbandingan rentetan: operator == != <= >= < > != and == boleh digunakan untuk rentetan
nilai atau pembolehubah, mengembalikan 1 jika perbandingan berjaya, jika tidak 0.
Perbandingan adalah sensitif huruf besar dan mengikut susunan atau aksara seperti yang ditakrifkan
dalam ASCII set watak.

o !a: boolean ! (bukan) operator mengembalikan 1 jika rentetan a kosong, jika tidak 0 ialah
kembali.

o a lebih muda b, a lebih baru b: mengembalikan 1 jika fail a lebih terkini daripada fail b. Cth,
"source.cc" lebih baru "sumber.o". Fail-fail itu a and b tidak perlu wujud: jika kedua-duanya tidak
wujud 0 dikembalikan; jika b tidak wujud, 1 dikembalikan; jika a tidak wujud 0 ialah
dikembalikan; jika mereka sama tua 0 dikembalikan. (yang wujud() fungsi yang telah ditetapkan
(lihat di bawah, bahagian DETAPKAN FUNGSI) boleh digunakan untuk menguji secara eksplisit sama ada a
fail wujud).

o a lebih tua b: bertukar 1 jika fail a lebih tua daripada fail b. Cth, "libprog.a" lebih tua
"sumber.o". Fail-fail itu a and b tidak perlu wujud: jika kedua-duanya tidak wujud 0 adalah
dikembalikan; jika a tidak wujud, 1 dikembalikan; jika b tidak wujud 0 dikembalikan; jika
mereka sama tua 0 dikembalikan.

o []: pengendali indeks mendapatkan semula aksara daripada pembolehubah rentetan atau pemalar: ia
mengembalikan rentetan sebagai nilai. Oleh itu, pernyataan berikut menyusun OK:

// anggap str1 dan str2 ialah rentetan
str1 = str2[3];

tetapi pernyataan berikut tidak akan disusun:

str2[3] = "a";

Rentetan kosong dikembalikan jika nilai indeks tidak sah diberikan.

o Pengendali `backtick` (`tali cmd`)
Rentetan yang diletakkan di antara dua kutu belakang dilaksanakan oleh timbul(3) fungsi. The
output standard yang dihasilkan oleh arahan yang disimpan dalam hujah rentetan ialah
dikembalikan sebagai senarai. Senarai kosong menunjukkan bahawa arahan tidak dapat dilaksanakan.
Perintah yang boleh dilaksanakan tetapi tidak menghasilkan sebarang output mengembalikan senarai
mengandungi satu unsur kosong. Output aliran ralat standard arahan itu tidak
dikumpul oleh pengendali backtick. Walau bagaimanapun, ubah hala shell standard boleh jadi
digunakan untuk mengumpul output aliran ralat standard. Contoh:

printf(`"ls"`); // mencetak elemen dalam
// direktori semasa

Fungsi yang telah ditetapkan eval(rentetan cmd) berkelakuan sama seperti kutu belakang
operator: ia adalah sinonim.

ditaip senarai operan:

Untuk senarai jenis pembolehubah dan/atau nilai operator berikut tersedia:

o a + b: mengembalikan yang baru senarai nilai yang mengandungi gabungan daripada senarai nilai a and
b. Ini adalah tidak operasi set: jika elemen muncul kedua-duanya dalam a dan dalam b, mereka akan
muncul dua kali dalam senarai yang terhasil (penambahan set disediakan oleh terbina dalam
fungsi senarai dengar).

o a - b: mengembalikan yang baru senarai nilai yang mengandungi unsur-unsur dalam a yang tidak hadir
in b. ini is operasi set-perbezaan: senarai yang dikembalikan mengandungi semua elemen
in a yang bukan unsur b.

o a += b: unsur dalam b ditambah kepada unsur-unsur dalam a, yang mestilah a senarai
pembolehubah. Ini adalah tidak operasi yang ditetapkan.

o a -= b: unsur dalam b dikeluarkan daripada unsur-unsur dalam a, yang mestilah a senarai
pembolehubah. ini is operasi set: semua elemen a yang terdapat dalam b adalah
dikeluarkan daripada a.

o senaraikan perbandingan kesamarataan: operator != and == boleh digunakan untuk senarai nilai atau
pembolehubah. Operator == mengembalikan 1 jika kedua-dua senarai mempunyai elemen demi elemen yang sama
elemen, jika tidak 0 dikembalikan. Operator != membalikkan hasil daripada ==.

o !a: boolean ! operator mengembalikan 1 jika senarai a kosong, jika tidak 0 ialah
kembali.

o []: pengendali indeks mendapatkan semula elemen senarai daripada pembolehubah senarai: ia mengembalikan a
rentetan sebagai nilai. Oleh itu, pernyataan berikut menyusun OK:

// anggap lst ialah senarai, str ialah rentetan
str = lst[3];

tetapi pernyataan berikut tidak akan disusun:

lst[3] = str;

Rentetan kosong dikembalikan jika nilai indeks tidak sah diberikan.

pemutus:

Jenis-cast boleh dilakukan menggunakan standard C cast-operator untuk membuang:

o Rentetan kepada int dan sebaliknya ((int)"123", (rentetan)55)

o Rentetan kepada senarai (senarai lst = (senarai)"hello")

ALIRAN KAWALAN


Icmake menawarkan subset berikut Ckenyataan. Mereka boleh digunakan seperti dalam C
bahasa pengaturcaraan.

o ungkapan ;
Penyataan ungkapan biasa;

o Pernyataan majmuk
Pembolehubah dari sebarang jenis boleh ditakrifkan dan dimulakan di mana-mana dalam mana-mana kompaun
kenyataan. The penglihatan pembolehubah bermula pada titik definisinya.

o if (keadaan) kenyataan
Di dalam keadaan pembolehubah boleh ditakrifkan dan dimulakan. Cth,

jika (rentetan str = getText())
proses(str);

Dalam contoh ini, proses tidak dipanggil jika getTeks () mengembalikan rentetan kosong. The
berubah-ubah str tidak wujud sama ada sebelum atau selepas if kenyataan.

o if (keadaan) kenyataan lagi kenyataan
Seperti pernyataan sebelumnya, di dalam keadaan pembolehubah boleh ditakrifkan dan
dimulakan.

o Untuk (di dalamnya; keadaan; kenaikan) kenyataan
Pembolehubah (dari satu jenis) boleh dimulakan (dan secara pilihan ditakrifkan) dalam
INIT bahagian. The INIT, keadaan and kenaikan bahagian mungkin kekal kosong. The
bahagian keadaan kosong ditafsirkan sebagai `selalu benar'.

o manakala (keadaan) kenyataan
Di dalam keadaan pembolehubah boleh ditakrifkan dan dimulakan.
Satu pelengkap do ... sambil() kenyataan tidak tersedia. Perhatikan bahawa mentakrifkan a
pembolehubah, menggunakan ungkapan permulaan bermakna bahawa permulaan
menyatakan dilaksanakan pada setiap lelaran manakala kenyataan. Jadi berikut
pernyataan tidak akan berakhir, dan akan memaparkan aliran nilai 10 yang tidak pernah berakhir:

manakala (int x = 10)
printf(x--, "\n");

o kembali;, dan pulangan ungkapan;
Kosong pulangan pernyataan boleh digunakan dalam membatalkan fungsi, dan pulangan ungkapan
pernyataan digunakan dalam jenis fungsi lain. Fungsinya utama mempunyai jenis pulangan
membatalkan dan seterusnya dalam utama kosong sahaja pulangan penyataan boleh digunakan. Secara lalai an icmake
nilai keluar skrip sama dengan 0. Gunakan fungsi terbina dalam keluar (lihat di bawah) untuk menentukan
sebarang nilai keluar lain.

Be dinasihatkan: kelakuan fungsi bukan lompang yang tidak mengembalikan nilai tidak ditentukan.

o memecahkan
Daun Untuk and manakala kenyataan, mengatasi keadaan pernyataan itu.

o terus
Bersambung dengan lelaran seterusnya a Untuk or manakala kenyataan.

o keluar (ungkapan)
Menamatkan pelaksanaan a icmake-skrip. The ungkapan mesti menilai kepada an int
nilai, yang menjadi nilai keluar skrip.

DETAPKAN FUNGSI


Icmake menawarkan fungsi pratakrif berikut, yang boleh digunakan di mana-mana sahaja icmake
skrip. Gambaran keseluruhan berikut disusun mengikut abjad mengikut nama fungsi.

o membatalkan arghead(rentetan h)
Fungsi penolong bagi exec () (lihat juga di bawah di exec ()): mentakrifkan `kepala hujah',
untuk digunakan dengan exec (). Secara lalai, `kepala hujah' ialah rentetan kosong.

o membatalkan argtail (tali t)
Fungsi penolong bagi exec () (lihat juga di bawah di exec ()): mentakrifkan `ekor hujah',
untuk digunakan dengan exec (). Secara lalai, `ekor hujah' ialah rentetan kosong.

o int ascii (rentetan s)
Mengembalikan aksara pertama s sebagai int; cth, ascii("A") pulangan 65;

o rentetan ascii (int i)
Pulangan i sebagai rentetan, contohnya, ASCII(65) mengembalikan rentetan "A";

o rentetan change_base(rentetan fail, rentetan pangkalan baharu)
Menukar nama asas bagi fail, mengembalikan nama yang ditukar. Cth,
change_base("/path/demo.im", "keluar") pulangan "/path/out.im";

o rentetan change_ext(rentetan fail, rentetan terbaharu)
Menukar pelanjutan daripada fail, mengembalikan nama yang ditukar. Cth,
rss_changeExt("source.cc", "o") pulangan "sumber.o";

o rentetan change_path(rentetan fail, rentetan laluan baharu)
Mengubah spesifikasi laluan bagi fail, mengembalikan nama yang ditukar. Cth,
change_path("tmp/binary", "/ usr / bin") pulangan "/usr/bin/binary". Perhatikan bahawa
/-pemisah dimasukkan jika perlu.

o rentetan chdir(rentetan newdir)
Mengubah direktori kerja skrip, mengembalikan dir sebelumnya sebagai mutlak
laluan.

Penggunaan chdir(".") untuk mendapatkan direktori kerja semasa, chdir("") boleh digunakan untuk
dapatkan direktori kerja permulaan (fungsi ini rosak dalam keluaran
sebelum 7.00, tetapi kini beroperasi). Fungsi ini menamatkan
icmake-skrip jika dinyatakan newdir tidak wujud.

o rentetan chdir(int memeriksa, rentetan newdir)
Fungsi yang sama seperti fungsi sebelumnya, tetapi dengan menentukan memeriksa as
P_NOCHECK. fungsi itu tidak akan menamatkan skrip. Sebaliknya, ia akan mengembalikan
direktori kerja semasa skrip.

o cmdhead(rentetan h)
Fungsi penolong bagi exec () (lihat juga di bawah di exec ()): Mentakrifkan `kepala perintah', kepada
digunakan dengan exec (). Secara lalai, `kepala perintah' ialah rentetan kosong.

o cmdtail(rentetan t)
Fungsi penolong bagi exec () (lihat juga di bawah di exec ()): Mentakrifkan `ekor perintah', kepada
digunakan dengan exec (). Secara lalai, `ekor perintah' ialah rentetan kosong.

o gema(int memilih)
Kawal bergema program yang dipanggil (dan hujahnya), nyatakan OFF jika bergema
tidak diminta. Secara lalai gema(HIDUP) digunakan.

o rentetan elemen (int indeks, senarai (Atau tali) var)
Bertindak sama dengan pengendali indeks: rujuk indeks ([]) pengendali dalam
seksyen PENGENDALI.

o senarai eval(rentetan str)
Fungsi ini bertindak sama dengan pengendali backtick. Contoh yang disediakan dengan
oleh itu pengendali backtick juga boleh ditulis seperti ini:

printf(eval("ls")); // mencetak elemen dalam arus
// direktori

o exec(rentetan cmd, ...)
Melaksanakan arahan dengan hujah. Setiap hujah akan diawali dengan arghead()'s
hujah dan postfixed oleh argtail()hujahnya. Ambil perhatian bahawa tiada kosong disisipkan
antara arghead()kandungan, hujah yang betul, dan argtail()hujahnya. Semua
dengan itu hujah yang diubah suai digabungkan, kali ini dipisahkan dengan kosong tunggal, dan
kemudian cmdhead()Kandungan 's disisipkan antara arahan dan hujah pertama
(di mana-mana bahagian dibatasi oleh satu kosong) dan cmdtail()kandungannya dilampirkan
kepada hujah (sekali lagi, dipisahkan oleh satu kosong). PATH dicari untuk mencari
cmd. 0 dikembalikan.

o exec(int semakcmd, rentetan cmd, ...)
Fungsi yang sama seperti fungsi sebelumnya, tetapi dengan menentukan memeriksa as
TIDAK_DISEMAK fungsi itu tidak akan menamatkan skrip. Sebaliknya, ia akan mengembalikan
dipanggil status keluar arahan, atau 0x7f00 jika arahan itu tidak dijumpai.

o laksanakan (rentetan cmd, rentetan cmdhd, rentetan arghd, ... rentetan argtl, rentetan cmdtl)
Sama seperti exec (), tetapi kepala/ekor perintah dan kepala/ekor hujah mesti dinyatakan.

Perintah yang sebenarnya dilaksanakan bermula dengan cmd, diikuti oleh cmdhd. Seterusnya ialah satu siri
daripada hujah-hujah berikut, masing-masing disertakan oleh arghd and argtl. Perintah ditamatkan dengan
cmdtl. 0 dikembalikan

o laksanakan (int memeriksa, rentetan cmd, rentetan cmdhd, rentetan arghd, ... rentetan argtl,
rentetan cmdtl)
Fungsi yang sama seperti fungsi sebelumnya, tetapi dengan menentukan memeriksa as
TIDAK_DISEMAK fungsi itu tidak akan menamatkan skrip. Sebaliknya, ia akan mengembalikan
dipanggil status keluar arahan, atau 0x7f00 jika arahan itu tidak dijumpai.

o int wujud (rentetan fail)
Mengembalikan nilai bukan sifar jika fail wujud, jika tidak 0 dikembalikan.

o senarai fgets(rentetan fail, senarai mengimbangi)
PERHATIAN: in icmake versi 8.00.00 prototaip fungsi ini telah ditukar daripada
senarai fgets(rentetan fail, int mengimbangi) kepada senarai fgets(rentetan fail, senarai mengimbangi).

Baris seterusnya ditemui pada offset yang terkandung dalam mengimbangi dibaca dari fail. Lulus an
senarai kosong ke fgets untuk membaca fail dari permulaannya.

Ia mengembalikan senarai yang mengandungi sebagai elemen pertama kandungan baris baca
(tanpa \n penamat talian), sebagai elemen kedua penamat talian `\n'
(jika ditemui), dan sebagai elemen ketiga rentetan OK jika satu baris berjaya
baca, GAGAL jika membaca daripada fail gagal. Apabila membaca di EOF senarai kosong ialah
dikembalikan. Senarai yang dikembalikan mungkin mengandungi elemen tambahan, yang secara dalaman
digunakan oleh fgets apabila membaca baris seterusnya.

Untuk membaca berbilang baris, mulakan dengan menghantar senarai kosong sebagai mendapat hujah kedua.
Untuk membaca baris berikutnya, hantar senarai yang dikembalikan sebelumnya kepada fgets's kedua
hujah.

Berikut ialah contoh yang menunjukkan cara membaca fail lengkap:

senarai ret;
sementara (1)
{
ret = fgets("nama fail", ret);
jika (!ret)
memecahkan;
process(ret[0], ret[1]);
}

o int fprintf(rentetan nama fail, ...)
Menambah semua argumen (dipisahkan koma) pada fail nama fail. Mengembalikan bilangan
hujah bercetak.

o int fprintf(rentetan nama fail, rentetan format, ...)
Menambah semua argumen (dipisahkan koma) pada fail nama fail. Mengembalikan bilangan
hujah bercetak.

If format mengandungi pemegang tempat %1 .. %n output diformatkan (lihat juga
strformat). Ambil perhatian bahawa dalam kes ini pengiraan hujah (juga) bermula di luar
rentetan format: hujah pertama berikut format disebut sebagai %1.

o rentetan get_base(rentetan fail)
Mengembalikan nama asas bagi fail. Nama asas ialah fail tanpa awalan laluannya
dan tanpa sambungannya. Sambungan adalah semua maklumat bermula pada akhir
titik dalam nama fail. Jika tiada titik akhir ditemui, nama fail ialah nama asas.
Cth, nama asas bagi ab sama dengan a, nama asas bagi abc sama dengan ab, asas
nama a/b/c sama dengan c.

o rentetan dapatkan()
Mengembalikan kekunci yang ditekan seterusnya sebagai rentetan (menekan `Enter' tidak diperlukan).

o rentetan get_dext(rentetan fail)
Mengembalikan sambungan daripada fail, termasuk titik pemisah. Sambungan adalah semua
maklumat bermula pada titik akhir nama fail.

Jika tiada titik akhir ditemui, rentetan kosong dikembalikan.

o senarai getenv(rentetan envvar)
Mengembalikan nilai pembolehubah persekitaran envvar dalam senarai yang mengandungi dua elemen:

elemen pertama menunjukkan sama ada pembolehubah persekitaran ditakrifkan (nilai
"1") atau tidak (nilai "0");
elemen kedua menunjukkan nilai pembolehubah persekitaran.

Pembolehubah persekitaran adalah dalam bentuk pembolehubah=nilai, dan jika ditakrifkan senarai itu
elemen kedua mengandungi nilai. Jika nilai kosong, pembolehubah ditakrifkan, tetapi
tidak mempunyai teks yang dikaitkan dengannya.

o rentetan get_ext(rentetan fail)
Mengembalikan sambungan daripada fail, kecuali titik pemisah. Sambungan adalah semua
maklumat bermula pada titik akhir dalam nama fail.

Jika tiada titik akhir ditemui, rentetan kosong dikembalikan.

o int getpid()
Mengembalikan proses-id jurubahasa kod bait icmake icm-exec.

o rentetan dapat()
Mengembalikan baris seterusnya yang dibaca dari papan kekunci sebagai a rentetan. Talian masuk pada
papan kekunci mesti ditamatkan dengan kekunci `Enter', yang tidak disimpan dalam yang dikembalikan
tali.

o rentetan get_path(rentetan fail)
Mengembalikan awalan laluan bagi fail. Awalan laluan ialah semua maklumat sehingga (dan
termasuk) pemisah direktori akhir (iaitu, bergantung pada operasi
sistem, garis miring ke hadapan atau ke belakang).

Jika tiada laluan ditemui, rentetan kosong dikembalikan.

o int senarai carian(senarai pertama, rentetan str)
Mengembalikan indeks pertama masuk lst di mana rentetan str didapati, atau -1 jika lst tidak
mengandungi str.

o int listenlen(senarai l)
Mengembalikan bilangan elemen dalam senarai.

o senarai listunion(senarai lhs, senarai rhs)
Mengembalikan senarai yang mengandungi gabungan unsur dalam lhs and RHS.

o senarai listunion(senarai pertama, rentetan str)
Mengembalikan senarai yang mengandungi gabungan unsur dalam lst and str.

o senarai makelist(rentetan topeng)
Mengembalikan senarai semua fail yang sepadan topeng. Cth, makelist("*.c") mengembalikan senarai
mengandungi semua fail yang berakhir dengan .c.

o senarai senarai makelist(jenis, rentetan topeng)
Sama seperti fungsi sebelumnya, tetapi jenis elemen direktori mungkin
dinyatakan sebagai hujah pertamanya:

makna simbol
IS_ALL mendapatkan semua entri direktori
IS_DIR mendapatkan semua direktori, termasuk . dan ..
IS_FILE dapatkan senarai fail
IS_SUBDIR dapatkan semua subdirektori

Perhatikan bahawa corak * tidak akan sepadan dengan entri tersembunyi di bawah operasi jenis Unix
sistem. guna .* untuk itu.

o senarai makelist(rentetan topeng, lebih baru, rentetan comparefile)
Mengembalikan senarai semua fail padanan topeng yang lebih baharu daripada yang disediakan
comparefile. Operator lebih muda boleh digunakan sebagai ganti lebih baru. Perhatikan bahawa lebih baru and
lebih muda adalah pengendali, bukan rentetan.

o senarai makelist([int = IS_FILE,] rentetan topeng, lebih baru, rentetan comparefile)
Sama seperti fungsi sebelumnya, tetapi jenis boleh dinyatakan seperti dalam senarai senarai makelist(jenis,
rentetan topeng).

o makelist(rentetan topeng, lebih tua, rentetan comparefile)
Lihat di atas; mengembalikan senarai fail yang lebih lama daripada comparefile.

o senarai makelist(jenis, rentetan topeng, lebih tua, rentetan comparefile)
Sama seperti fungsi sebelumnya, tetapi jenis boleh dinyatakan seperti dalam senarai senarai makelist(jenis,
rentetan topeng).

o int printf(...)
Menunjukkan semua argumen (dipisahkan koma) ke skrin (iaitu, aliran keluaran standard).
Mengembalikan bilangan hujah yang dicetak.

o int printf(rentetan format, ...)
Menunjukkan semua argumen (dipisahkan koma) ke skrin (iaitu, aliran keluaran standard).
Mengembalikan bilangan hujah yang dicetak (the format rentetan dikira sebagai satu hujah).

If format mengandungi pemegang tempat %1 .. %n output diformatkan (lihat juga
strformat).

o int putenv(rentetan envvar)
Tambah envvar kepada arus (icmake) persekitaran Gunakan format: "VAR=value".
Mengembalikan 0.

o rentetan ubah saiz (rentetan str, int panjang baru) Mengembalikan salinan rentetan str, diubah saiznya kepada
panjang baharu watak. Jika panjang baharu adalah negatif maka rentetan kosong dikembalikan,
if panjang baharu melebihi str panjang kemudian aksara yang baru ditambah dimulakan
kepada ruang kosong.

o int sizeof(senarai l)
Dihentikan: gunakan mendengar.

o int sizeoflist(senarai l)
Dihentikan: gunakan mendengar.

o senarai stat (rentetan kemasukan)
Pulangan stat(2) maklumat kemasukan direktori kemasukan sebagai senarai. Senarai yang dikembalikan
mempunyai dua elemen: elemen 0 ialah atribut nilai, elemen 1 mengandungi saiz
fail.

Atribut dikembalikan sebagai bit-flag, terdiri daripada pratakrif berikut
pemalar:

S_IFCHR S_IFDIR S_IFREG
S_IREAD S_IWRITE S_IEXEC

Melihat stat(2) halaman manual untuk makna pemalar ini.

o senarai statistik (menyemak, rentetan kemasukan)
Sama seperti fungsi sebelumnya, tetapi dengan menentukan memeriksa as P_NOCHECK fungsi
tidak akan menamatkan skrip. Sebaliknya, ia kembali stat(2) nilai pulangan.

o int srchr(rentetan str, rentetan aksara)
Mengembalikan indeks pertama masuk str di mana mana-mana watak dalam kereta kebal ditemui, atau -1
if str tidak mengandungi sebarang aksara dalam kereta kebal.

o int strlen(rentetan str)
Mengembalikan bilangan aksara dalam str (tidak mengira 0 akhir).

o int strfind(rentetan tumpukan jerami, rentetan jarum)
Mengembalikan indeks masuk tumpukan jerami di mana jarum didapati, atau -1 jika jarum tidak terkandung
in tumpukan jerami.
ini fungsi adalah dipanggil strstr() in versi sebelum 7.00.

o int strformat(rentetan format,...)
Mengembalikan rentetan berformat menggunakan ruang letak % 1 .. % 2 untuk menangani hujah
format berikut.
Contoh:

batal utama ()
{
int i = 10;
int j = 20;
rentetan s1;
rentetan s2;
// pendekatan tradisional:
s1 = (rentetan)i + " " + (rentetan)j + " " + (rentetan)i;
// menggunakan strformat:
s2 = strformat("%1 %2 %1", i, j);
printf("s1 = %1, s2 = %2\n", s1, s2);
}

o rentetan strlwr(rentetan s)
Mengembalikan pendua huruf kecil bagi s.

o senarai strtok(rentetan str, rentetan pemisah)
Mengembalikan senarai yang mengandungi semua subrentetan daripada str dipisahkan oleh satu atau lebih
(berturut-turut) aksara dalam pemisah. Cth, strtok("hello icmake's+world", " +")
mengembalikan senarai yang mengandungi tiga rentetan "hello", "icmake's", dan "dunia".

o rentetan strupr(rentetan s)
Mengembalikan pendua huruf besar bagi s.

o rentetan substr(rentetan teks, int mengimbangi, int mengira)
Mengembalikan subrentetan daripada teks, bermula pada mengimbangi, yang terdiri daripada mengira watak. Jika
mengimbangi melebihi (atau sama) saiz rentetan atau jika mengira <= 0, kemudian rentetan kosong
dikembalikan. Sekiranya mengimbangi adalah kurang daripada 0 maka 0 digunakan.

o int sistem (rentetan perintah)
Melaksanakan arahan. Nilai pulangan menunjukkan nilai keluar perintah yang dilaksanakan. The
rentetan arahan mungkin mengandungi ubah hala dan/atau aksara paip.

o int sistem (int memeriksa, rentetan perintah)
Fungsi yang sama seperti fungsi sebelumnya, tetapi dengan menentukan memeriksa as
TIDAK_DISEMAK fungsi itu tidak akan menamatkan skrip. Sebaliknya, ia akan mengembalikan
dipanggil status keluar arahan, atau 0x7f00 jika arahan itu tidak dijumpai.

o rentetan trim (rentetan s)
Mengembalikan salinan s tanpa mendahului dan mengekori ruang putih.

o rentetan trim kiri(rentetan str)
Mengembalikan salinan s tanpa memimpin ruang putih.

o rentetan trim (rentetan s)
Mengembalikan salinan s tanpa mengekori ruang putih.

PENGGUNA DENTIKAN FUNGSI


membatalkan utama

Icmake skrip mesti disediakan dengan fungsi yang ditentukan pengguna utama. Fungsinya utama mempunyai
tiga parameter pilihan, yang mungkin diabaikan daripada yang terakhir (envp) kepada yang pertama
(berhujah), seperti dalam C. Prototaip penuhnya ialah (nota: membatalkan jenis pulangan):

batal utama (int argc, senarai argv, senarai envp)

In main (),

o berhujah mewakili bilangan elemen dalam argv;

o argv mengandungi hujah, dengan unsur 0 sama dengan nama .bim
memfailkan;

o envp mengandungi pembolehubah `persekitaran'. Fungsinya mendengar boleh digunakan untuk
tentukan bilangan unsurnya. Unsur dalam envp mempunyai borang
pembolehubah=nilai. Sebagai alternatif, fungsi getenv boleh digunakan untuk mendapatkan semula a
pembolehubah persekitaran tertentu serta-merta. Contoh:

batal utama (int argc, senarai argv)
{
senarai untukKompil;
int idx;

jika (argc == 1)
penggunaan(elemen(0, argv));

if (toCompile = altered("*.cc"))
{
for (idx = length(toCompile); idx--; )
compile(elemen(idx, toCompile));

if (getenv("dryrun")[0] == "0")
memaut(elemen(2, argv));
}
}

Setelah memulakan semua pembolehubah global mengikut susunan takrifannya utama dipanggil oleh
icmakeSistem sokongan masa jalan untuk melaksanakan tugas tambahan.

Selain itu ditakrifkan pengguna fungsi

Fungsi tambahan boleh ditakrifkan. Setelah ditakrifkan, fungsi ini boleh dipanggil. ke hadapan
rujukan sama ada pembolehubah atau fungsi tidak disokong, tetapi memanggil secara rekursif
fungsi ialah. Oleh kerana pengisytiharan fungsi tidak disokong rekursi tidak langsung tidak
disokong sama ada.

Fungsi yang ditentukan pengguna mesti mempunyai elemen berikut:

o Jenis pemulangan fungsi, yang mestilah salah satu daripadanya kosong, int, rentetan or senarai. Di sana
bukan jenis lalai.

o Nama fungsi, cth, menyusun.

o Senarai parameter, mentakrifkan sifar atau lebih parameter dipisahkan koma. Parameter
sendiri terdiri daripada nama jenis (int, rentetan, Atau senarai) diikuti oleh
pengecam parameter. Cth, (tali fail luar, rentetan sumber).

o A badan dikelilingi oleh sepasang pendakap kerinting ({ and }).

Badan fungsi mungkin mengandungi takrif pembolehubah (dimulakan secara pilihan). Pembolehubah
definisi bermula dengan nama jenis, diikuti dengan satu atau lebih koma dipisahkan (secara pilihan
dimulakan) pengecam pembolehubah. Jika pembolehubah tidak dimulakan secara eksplisit ia adalah
dimulakan secara lalai. Secara lalai an int pembolehubah dimulakan kepada 0, a rentetan is
dimulakan kepada rentetan kosong ("") Dan senarai dimulakan kepada senarai unsur sifar.

Sebagai tambahan kepada definisi berubah-ubah, badan mungkin mengandungi sifar atau lebih pernyataan (rujuk.
seksyen ALIRAN KAWALAN). Ambil perhatian bahawa pembolehubah boleh ditakrifkan (dan dimulakan secara pilihan)
mana-mana bahagian dalam fungsi, dan juga dalam jika, Untuk and manakala Penyataan.

Kelakuan icmake-skrip menggunakan fungsi bukan void yang tidak mengembalikan nilai tidak
ditakrifkan.

Gunakan icmun dalam talian menggunakan perkhidmatan onworks.net


Pelayan & Stesen Kerja Percuma

Muat turun apl Windows & Linux

  • 1
    Kurungan
    Kurungan
    Brackets ialah sumber terbuka moden yang percuma
    penyunting teks yang dibuat khas untuk Web
    Pembangunan. Ditulis dalam HTML, CSS dan
    JavaScript dengan alat visual terfokus dan
    persiapan...
    Muat turun Kurungan
  • 2
    Penyusun Pascal Percuma
    Penyusun Pascal Percuma
    Pengkompil Pascal 32/64/16-bit untuk
    Win32/64/CE, Linux, Mac OS X/iOS,
    Android, FreeBSD, OS/2, Game Boy
    Advance, Nintendo NDS dan DOS;
    serasi secara semantik dengan...
    Muat turun Penyusun Pascal Percuma
  • 3
    Maklumat DIGITAL Canon EOS
    Maklumat DIGITAL Canon EOS
    Canon tidak mempunyai kiraan pengatup
    disertakan pada maklumat EXIF ​​an
    fail imej, berbanding Nikon dan
    Pentax. Tiada rasmi berasaskan Canon
    permohonan ...
    Muat turun Maklumat DIGITAL Canon EOS
  • 4
    SEMAKAN semula
    SEMAKAN semula
    rEFInd ialah garpu but rEFIt
    pengurus. Seperti REFIt, REFInd boleh
    auto-kesan but EFI anda yang dipasang
    pemuat dan ia membentangkan GUI yang cantik
    menu pilihan but...
    Muat turun REFInd
  • 5
    ExpressLuke GSI
    ExpressLuke GSI
    Halaman muat turun SourceForge ini adalah untuk
    berikan pengguna untuk memuat turun sumber terbina saya
    GSI, berdasarkan kehebatan phhusson
    kerja. Saya membina kedua-dua Android Pie dan
    Android 1...
    Muat turun ExpressLuke GSI
  • 6
    Kastor Muzik
    Kastor Muzik
    Music Caster ialah pemain muzik dulang
    yang membolehkan anda menghantar muzik tempatan anda ke a
    Peranti Google Cast. Pada larian pertama,
    anda perlu mengklik anak panah dalam anda
    tas...
    Muat turun Music Caster
  • Lebih »

Arahan Linux

Ad