EnglishFrenchSpanyol

Ad


Favicon OnWorks

c++decl - Dalam talian dalam Awan

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

Ini ialah arahan c++decl 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


cdecl, c++decl - Karang pengisytiharan jenis C dan C++

SINOPSIS


cdecl [-a | -+ | -p | -r] [-ciqdDV]
[[ fail ...] | menjelaskan ... | mengisytiharkan ... | membuang ... | menetapkan ... | membantu | ? ]
c++ decl [-a | -+ | -p | -r] [-ciqdDV]
[[ fail ...] | menjelaskan ... | mengisytiharkan ... | membuang ... | menetapkan ... | membantu | ? ]
menjelaskan ...
mengisytiharkan ...
membuang ...

DESCRIPTION


Cdecl (Dan c++ decl) ialah program untuk pengekodan dan penyahkodan jenis pengisytiharan C (atau C++).
Bahasa C adalah berdasarkan (draf yang dicadangkan) Standard ANSI X3J11; secara pilihan, C
bahasa mungkin berdasarkan definisi pra-ANSI yang ditakrifkan oleh Kernighan & Ritchie . C
Pengaturcaraan Bahasa buku, atau bahasa C yang ditakrifkan oleh pengkompil Ritchie PDP-11 C.
Bahasa C++ adalah berdasarkan Bjarne Stroustrup . C + + Pengaturcaraan Bahasa, ditambah dengan
versi 2.0 tambahan kepada bahasa.

PILIHAN


-a Gunakan dialek ANSI C bahasa C.

-p Gunakan dialek pra-ANSI yang ditakrifkan oleh buku Kernighan & Ritchie.

-r Gunakan dialek yang ditakrifkan oleh pengkompil Ritchie PDP-11 C.

-+ Gunakan bahasa C++, bukannya C.

-i Jalankan dalam mod interaktif (lalai apabila membaca dari terminal). Ini juga
menghidupkan gesaan, pengeditan baris dan sejarah baris.

-q Senyapkan gesaan. Mematikan gesaan dalam mod interaktif.

-c Cipta kod C atau C++ yang boleh dikompilasi sebagai output. Cdecl akan menambah koma bertitik ke penghujung
pengisytiharan dan sepasang pendakap kerinting ke penghujung definisi fungsi.

-d Hidupkan maklumat penyahpepijatan (jika disusun dalam).

-D Hidupkan maklumat penyahpepijatan YACC (jika disusun dalam).

-V Paparkan maklumat versi dan keluar.

MENYERU


Cdecl boleh digunakan di bawah beberapa nama yang berbeza (sama ada dengan menamakan semula yang boleh laku,
atau mencipta pautan sym atau pautan keras kepadanya). Jika ia dipanggil sebagai cdecl maka ANSI C ialah
bahasa lalai. Jika ia dipanggil sebagai c++ decl maka C++ ialah lalai. Jika ia diseru
sama ada menjelaskan, membuang, Atau mengisytiharkan maka ia akan mentafsir baris arahan yang lain
pilihan sebagai parameter kepada arahan itu, laksanakan arahan, dan keluar. Ia juga akan dilakukan
ini jika hujah bukan suis pertama pada baris arahan adalah salah satu daripada tiga arahan tersebut.
Input juga mungkin datang daripada fail.

Cdecl membaca fail yang dinamakan untuk pernyataan dalam bahasa yang diterangkan di bawah. A
transformasi dibuat daripada bahasa itu kepada C (C++) atau pseudo-Inggeris. Hasil daripada
transformasi ini ditulis pada output standard. Jika tiada fail dinamakan, atau nama fail
daripada ``-'' ditemui, input standard akan dibaca. Jika input standard datang daripada a
terminal, (atau -i pilihan digunakan), gesaan akan ditulis ke terminal sebelum setiap satu
barisan. Gesaan boleh dimatikan oleh -q pilihan (atau menetapkan noprompt perintah). Jika
cdecl dipanggil sebagai menjelaskan, mengisytiharkan or membuang, atau hujah pertama ialah salah satu daripada arahan
dibincangkan di bawah, senarai hujah akan ditafsirkan mengikut tatabahasa yang ditunjukkan
di bawah dan bukannya sebagai nama fail.

Apabila ia dijalankan secara interaktif, cdecl menggunakan perpustakaan baris baca GNU untuk menyediakan kata kunci
penyiapan dan sejarah baris arahan, sangat mirip menampar(1) (qv). Menekan TAB akan
lengkapkan kata kunci separa sebelum kursor, melainkan terdapat lebih daripada satu yang mungkin
siap, dalam hal ini TAB kedua akan menunjukkan senarai kemungkinan siap dan
memaparkan semula baris arahan. Kekunci anak panah kiri dan kanan serta ruang belakang boleh digunakan untuk
mengedit dengan cara semula jadi, dan kekunci anak panah atas dan bawah mendapatkan semula baris arahan sebelumnya
daripada sejarah. Kebanyakan kunci biasa lain, seperti Ctrl-U untuk memadam semua teks daripada
kursor kembali ke permulaan baris, berfungsi seperti yang diharapkan. Terdapat kekaburan antara
yang int and ke dalam kata kunci, tetapi cdecl akan meneka yang mana satu yang anda maksudkan, dan ia sentiasa meneka
betul.

Anda boleh menggunakan cdecl semasa anda mencipta program C dengan editor seperti vi(1) atau emacs(1). awak
hanya taip dalam versi pseudo-Inggeris perisytiharan dan memohon cdecl sebagai penapis
ke garisan. (Dalam vi(1), taip ``!!cdecl''.)

Jika mewujudkan program pilihan -c digunakan, output akan termasuk koma bertitik selepas
pengisytiharan berubah-ubah dan pasangan pendakap kerinting selepas pengisytiharan fungsi.

. -V pilihan akan mencetak nombor versi fail yang digunakan untuk mencipta proses.
Jika sumber disusun dengan maklumat penyahpepijatan dihidupkan, -d pilihan akan membolehkan
ia menjadi output. Jika sumber disusun dengan maklumat penyahpepijatan YACC dihidupkan,
-D pilihan akan membolehkannya menjadi output.

COMMAND BAHASA


Terdapat enam pernyataan dalam bahasa tersebut. The mengisytiharkan pernyataan membentuk jenis C
pengisytiharan daripada perihalan bertele-tele. The membuang penyataan membentuk tuangan jenis C sebagai
mungkin muncul dalam ungkapan. The menjelaskan pernyataan menyahkod pengisytiharan jenis C atau
pelakon, menghasilkan penerangan yang bertele-tele. The membantu (Atau ?) pernyataan memberikan bantuan
mesej. The berhenti (Atau keluar) pernyataan (atau penghujung fail) keluar dari program. The menetapkan
kenyataan membenarkan pilihan baris arahan ditetapkan secara interaktif. Setiap kenyataan adalah
dipisahkan oleh koma bertitik atau baris baharu.

SINONIM


Beberapa sinonim dibenarkan semasa pengisytiharan:

watak adalah sinonim untuk char
pemalar adalah sinonim untuk const
penghitungan adalah sinonim untuk enum
func adalah sinonim untuk fungsi
integer ialah sinonim untuk int
ptr ialah sinonim untuk penunjuk
ref ialah sinonim untuk rujukan
ret adalah sinonim untuk kembali
struktur adalah sinonim untuk struct
vektor ialah sinonim untuk tatasusunan

Ciri pelengkapan TAB hanya mengetahui tentang kata kunci dalam lajur kanan
struktur, bukan yang ada di lajur kiri. Penyiapan TAB adalah kurang berguna apabila
watak utama kata kunci yang berbeza adalah sama (kata kunci bercanggah dengan satu
lain), dan meletakkan kedua-dua lajur akan menyebabkan beberapa konflik.

GRAMMAR


Tatabahasa berikut menerangkan bahasa. Dalam tatabahasa, perkataan dalam "<>" bukan-
terminal, perkataan huruf kecil kosong ialah terminal yang berdiri sendiri. Huruf besar kosong
perkataan ialah token leksikal lain: NOTHING bermaksud rentetan kosong; NAME bermaksud pengecam C;
NUMBER bermaksud rentetan digit perpuluhan; dan NL bermaksud baris baru atau koma bertitik
watak-watak.

::= TIADA APA-APA
| NL
::= TIADA APA-APA
| mengisytiharkan NAMA sebagai
| mengisytiharkan
| masukkan NAME ke dalam
| pelakon
| terangkan
| terangkan
| terangkan ( ) pilihan-NAME
| ditetapkan
| bantuan | ?
| berhenti
| keluar
::= pelbagai
| tatasusunan NUMBER daripada
| fungsi kembali
| fungsi ( ) kembali
| penunjuk kepada
| penunjuk kepada ahli kelas NAME
| merujuk kepada
|
::=
| *
| NAMA :: *
| &
::= ( )
| ( )
| [ ]
| [ BILANGAN ]
| ( )
| NAMA
::= TIADA APA-APA
| ( )
| ( ) ( )
| ( ) ( )
| ( )
| NAMA :: *
| *
| &
| [ ]
| [ BILANGAN ]
::= |
|
| struct NAMA | kesatuan NAMA | enum NAMA | NAMA kelas
::= ,
|
|
::= ,
| TIADA
|
|
| sebagai
::= int | char | berganda | terapung | batal
::= |
::= pendek | panjang | tidak ditandatangani | ditandatangani |
::= | TIADA
::= const | tidak menentu | noalias
::= auto | luaran | daftar | statik
::= TIADA APA-APA |
::= TIADA APA-APA |
| cipta | nocreate
| segera | noprompt
| ritchie | preansi | ansi | cplusplus
| nyahpepijat | nodebug | yydebug | noyydebug

SET PILIHAN


. menetapkan arahan mengambil beberapa pilihan. Anda boleh menaip menetapkan or menetapkan pilihan untuk melihat
pilihan yang dipilih pada masa ini dan ringkasan pilihan yang tersedia. Yang pertama
empat sepadan dengan -a, -p, -r, dan -+ pilihan baris arahan, masing-masing.

ansi Gunakan dialek ANSI C bahasa C.

preansi
Gunakan dialek pra-ANSI yang ditakrifkan oleh buku Kernighan & Ritchie.

ritchie
Gunakan dialek yang ditakrifkan oleh pengkompil Ritchie PDP-11 C.

cplusplus
Gunakan bahasa C++, bukannya C.

[tidak] segera
Hidupkan atau matikan gesaan dalam mod interaktif.

[tidak] buat
Hidupkan atau matikan penambahan koma bertitik atau pendakap kerinting pada pengisytiharan
keluaran oleh cdecl. Ini sepadan dengan -c pilihan baris perintah.

[no]nyahpepijat
Hidupkan atau matikan maklumat penyahpepijatan.

[no]yydebug
Hidupkan atau matikan maklumat penyahpepijatan YACC.

Nota: maklumat penyahpepijatan dan maklumat penyahpepijatan YACC hanya tersedia jika ada
telah disusun ke dalam cdecl. Dua pilihan terakhir sepadan dengan -d and -D baris arahan
pilihan, masing-masing. Maklumat penyahpepijatan biasanya digunakan dalam pembangunan program, dan
tidak secara amnya disusun menjadi boleh laku yang diedarkan.

CONTOH


Untuk mengisytiharkan tatasusunan penunjuk kepada fungsi yang serupa malloc(3), lakukan

mengisytiharkan fptab sebagai tatasusunan penunjuk untuk berfungsi mengembalikan penunjuk kepada char

Hasil daripada arahan ini ialah

char *(*fptab[])()

Apabila anda melihat pengisytiharan ini dalam kod orang lain, anda boleh memahaminya dengan
melakukan

terangkan char *(*fptab[])()

Pengisytiharan yang sesuai untuk isyarat(2), mengabaikan prototaip fungsi, mudah diterangkan dalam
cdeclbahasa:

mengisytiharkan isyarat sebagai penuding pengembalian fungsi kepada fungsi mengembalikan batal

yang menghasilkan

batal (*isyarat())()

Perisytiharan fungsi yang terhasil mempunyai dua set kurungan kosong. pengarang
fungsi sedemikian mungkin tertanya-tanya di mana untuk meletakkan parameter:

mengisytiharkan isyarat sebagai fungsi (arg1,arg2) mengembalikan penunjuk kepada fungsi mengembalikan batal

menyediakan penyelesaian berikut (apabila dijalankan dengan -c pilihan):

batal (*isyarat(arg1,arg2))() { }

Jika kita ingin menambah prototaip fungsi, prototaip fungsi untuk fungsi sedemikian
as _keluar(2) akan diisytiharkan dengan:

mengisytiharkan _exit sebagai fungsi (nilai semula sebagai int) mengembalikan batal

memberi

void _exit(int nilai semula) { }

Sebagai contoh yang lebih kompleks menggunakan prototaip fungsi, isyarat(2) boleh ditakrifkan sepenuhnya sebagai:

isytiharkan isyarat sebagai fungsi(x sebagai int, y sebagai penunjuk kepada function(int) mengembalikan batal)
mengembalikan penunjuk ke function(int) mengembalikan kekosongan

memberi (dengan -c)

batal (*isyarat(int x, batal (*y)(int )))(int ) { }

Cdecl boleh membantu memikirkan tempat untuk meletakkan pengubah suai "const" dan "volatile".
pengisytiharan, oleh itu

mengisytiharkan foo sebagai penunjuk kepada const int

memberikan

const int *foo

manakala

mengisytiharkan foo sebagai penunjuk const kepada int

memberikan

int * const foo

C++ decl boleh membantu dengan mengisytiharkan rujukan, oleh itu

isytiharkan x sebagai rujukan kepada penunjuk kepada aksara

memberikan

char *&x

C++ decl boleh membantu dengan penunjuk kepada ahli kelas, dengan itu mengisytiharkan penunjuk kepada a
ahli integer kelas X dengan

isytiharkan foo sebagai penunjuk kepada ahli kelas X int

memberikan

int X::*foo

and

isytiharkan foo sebagai penunjuk kepada ahli kelas X fungsi (arg1, arg2) kembali penunjuk
ke kelas Y

memberikan

kelas Y *(X::*foo)(arg1, arg2)

DIAGNOSTIK


Penyataan yang mengisytiharkan, membuang dan menerangkan cuba menunjukkan pembinaan yang tidak
disokong dalam C. Dalam sesetengah kes, tekaan dibuat tentang apa yang sebenarnya dimaksudkan. Dalam ini
kes, hasil C ialah perisytiharan mainan yang semantiknya akan berfungsi hanya dalam Algol-68. The
senarai binaan C yang tidak disokong bergantung pada versi bahasa C yang sedang digunakan
digunakan (lihat pilihan ANSI, pra-ANSI dan Ritchie). Set binaan C++ yang disokong
ialah superset set ANSI, dengan pengecualian noalias kata kunci.

RUJUKAN


Standard ANSI X3.159-1989 (ANSI C)

ISO/IEC 9899:1990 (standard ISO)

Soalan Lazim comp.lang.c
http://www.eskimo.com/~scs/C-faq.top.html

Bahagian 8.4 Manual Rujukan C dalam . C Pengaturcaraan Bahasa oleh B. Kernighan &
D. Ritchie.

Bahagian 8 Manual Rujukan C++ dalam . C + + Pengaturcaraan Bahasa oleh B.
Stroustrup.

CATATAN


Sintaks pseudo-Inggeris terlalu bertele-tele.

Terdapat banyak semakan semantik yang tidak dilakukan.

Cdecl telah ditulis sebelum piawaian ANSI C selesai, dan tiada percubaan telah dibuat
untuk memperbaharuinya. Walau bagaimanapun, ia sangat hampir dengan standard, dengan jelas
pengecualian dari noalias.

CdeclSkop sengaja kecil. Ia tidak membantu anda memikirkan permulaan. Ia
menjangkakan kelas penyimpanan berada pada permulaan pengisytiharan, diikuti oleh
pengubah const, volatile dan noalias, diikuti dengan jenis pembolehubah. Cdecl
tidak tahu apa-apa tentang senarai hujah panjang berubah-ubah. (Ini termasuk ``, ...''
sintaks.)

Cdecl berpendapat semua pengisytiharan yang anda ucapkan akan digunakan sebagai definisi luaran.
Beberapa konteks pengisytiharan dalam C membenarkan lebih fleksibiliti daripada ini. Contohnya ialah:

mengisytiharkan argv sebagai tatasusunan char

di mana cdecl bertindak balas dengan

Amaran: Tidak disokong dalam C -- 'tatasusunan dalaman saiz tidak ditentukan'
(mungkin anda maksudkan "susunan penunjuk")
char argv[][]

Sokongan tentatif untuk noalias kata kunci telah dimasukkan kerana ia berada dalam draf ANSI
spesifikasi.

PENGARANG


Asalnya ditulis oleh Graham Ross, ditambah baik dan dikembangkan oleh David Wolverton, Tony Hansen,
dan Merlyn LeRoy.

Sokongan talian baca GNU dan port Linux oleh David R. Conrad,[e-mel dilindungi]>

Gunakan c++decl dalam talian menggunakan perkhidmatan onworks.net


Pelayan & Stesen Kerja Percuma

Muat turun apl Windows & Linux

Arahan Linux

Ad