İngilizceFransızcaİspanyolca

Ad


OnWorks favicon'u

c++decl - Bulutta Çevrimiçi

Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü üzerinden OnWorks ücretsiz barındırma sağlayıcısında c++decl çalıştırın

Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen c++decl komutudur.

Program:

ADI


cdecl, c++decl - C ve C++ tipi bildirimleri oluştur

SİNOPSİS


cdecl [-bir | -+ | -p | -r] [-ciqdDV]
[[ Dosyaları ...] | açıklamak ... | bildirmek ... | döküm ... | set ... | yardım et | ? ]
c++decl [-bir | -+ | -p | -r] [-ciqdDV]
[[ Dosyaları ...] | açıklamak ... | bildirmek ... | döküm ... | set ... | yardım et | ? ]
açıklamak ...
bildirmek ...
döküm ...

TANIM


Cdecl (Ve c++decl), C (veya C++) tipi bildirimleri kodlamak ve kodunu çözmek için bir programdır.
C dili (önerilen taslak) X3J11 ANSI Standardına dayanmaktadır; isteğe bağlı olarak, C
dil, Kernighan & Ritchie's tarafından tanımlanan ANSI öncesi tanımı temel alabilir. The C
Programlama Dil kitap veya Ritchie PDP-11 C derleyicisi tarafından tanımlanan C dili.
C++ dili, Bjarne Stroustrup'un The C + + Programlama Dilartı
dile sürüm 2.0 eklemeleri.

SEÇENEKLER


-a C dilinin ANSI C lehçesini kullanın.

-p Kernighan & Ritchie'nin kitabında tanımlanan ANSI öncesi lehçeyi kullanın.

-r Ritchie PDP-11 C derleyicisi tarafından tanımlanan diyalektiği kullanın.

-+ C yerine C++ dilini kullanın.

-i Etkileşimli modda çalıştırın (bir terminalden okurken varsayılan). Bu da
sormayı, satır düzenlemeyi ve satır geçmişini açar.

-q İstemi sessize alın. Etkileşimli modda istemi kapatır.

-c Çıktı olarak derlenebilir C veya C++ kodu oluşturun. Cdecl sonuna noktalı virgül ekleyecek
bir bildirimin ve bir işlev tanımının sonuna bir çift kaşlı ayraç.

-d Hata ayıklama bilgilerini açın (derlenmişse).

-D YACC hata ayıklama bilgilerini açın (derlenmişse).

-V Sürüm bilgilerini görüntüleyin ve çıkın.

ÇAĞRILAMAK


Cdecl birkaç farklı ad altında çağrılabilir (yürütülebilir dosyayı yeniden adlandırarak,
veya ona bir sembolik bağlantı veya sabit bağlantı oluşturma). olarak çağrılırsa cdecl o zaman ANSI C
varsayılan dil. olarak çağrılırsa c++decl o zaman C++ varsayılandır. çağrılırsa
olarak ya da açıklamak, dökümya da bildirmek sonra komut satırının geri kalanını yorumlayacaktır
seçenekleri bu komuta parametre olarak girin, komutu yürütün ve çıkın. Ayrıca yapacak
bu, komut satırındaki ilk anahtar olmayan argüman bu üç komuttan biriyse.
Giriş, bir dosyadan da gelebilir.

Cdecl aşağıda açıklanan dilde ifadeler için adlandırılmış dosyaları okur. A
bu dilden C (C++) veya sözde-İngilizce'ye dönüşüm yapılır. Sonuçları
bu dönüşüm standart çıktıya yazılır. Hiçbir dosya adlandırılmamışsa veya dosya adı
``-'' ile karşılaşıldığında standart girdi okunacaktır. Standart giriş bir
terminal, (veya -i seçeneği kullanılır), her birinden önce terminale bir bilgi istemi yazılacaktır.
hat. İstem tarafından kapatılabilir -q seçeneği (veya set istemsiz emretmek). Eğer
cdecl olarak çağrılır açıklamak, bildirmek or döküm, veya ilk argüman komutlardan biridir
Aşağıda tartışıldığı gibi, argüman listesi gösterilen dilbilgisine göre yorumlanacaktır.
dosya adları yerine aşağıda.

Etkileşimli olarak çalıştırıldığında, cdecl anahtar kelime sağlamak için GNU okuma satırı kitaplığını kullanır
tamamlama ve komut satırı geçmişi, çok benzer darbe(1) (qv). TAB tuşuna basmak
birden fazla olası olmadıkça, kısmi anahtar sözcüğü imleçten önce tamamlayın
tamamlama, bu durumda ikinci bir TAB, olası tamamlamaların listesini gösterecek ve
komut satırını yeniden görüntüleyin. Sol ve sağ ok tuşları ve geri al tuşu aşağıdakiler için kullanılabilir:
doğal bir şekilde düzenleme ve yukarı ve aşağı ok tuşları önceki komut satırlarını alır
tarihten. Tüm metni silmek için Ctrl-U gibi diğer tanıdık tuşların çoğu
imleci satırın başına geri getirin, beklendiği gibi çalışın. arasında bir belirsizlik var
the int ve içine anahtar kelimeler, ancak cdecl hangisini kastettiğini tahmin edecek ve her zaman tahmin edecek
doğru şekilde.

Sen kullanabilirsiniz cdecl gibi bir düzenleyiciye sahip bir C programı oluştururken vi(1) veya emacs(1). Sen
sadece beyanın sözde İngilizce versiyonunu yazın ve uygulayın cdecl filtre olarak
çizgiye. (İçinde vi(1), `` yazın!!cdecl''.)

Eğer yaratmak program seçenek -c kullanıldığında, çıktıdan sonra noktalı virgül içerecektir.
işlev bildirimlerinden sonra değişken bildirimleri ve kaşlı ayraç çiftleri.

The -V seçeneği, işlemi oluşturmak için kullanılan dosyaların sürüm numaralarını yazdıracaktır.
Kaynak, hata ayıklama bilgileri açık olarak derlenirse, -d seçenek etkinleştirecek
çıktı olması. Kaynak, YACC hata ayıklama bilgileri açıkken derlenirse,
-D seçeneği çıktı alınmasını sağlayacaktır.

KOMUT DİL


Dilde altı ifade vardır. NS bildirmek ifade bir C tipi oluşturur
ayrıntılı bir açıklamadan bildirim. NS döküm ifadesi olarak bir C tipi döküm oluşturur
bir ifadede görünebilir. NS açıklamak ifadesi, bir C tipi bildirimin kodunu çözer veya
döküm, ayrıntılı bir açıklama üretiyor. NS yardım et (Ya da ?) ifadesi bir yardım sağlar
İleti. çıkmak (Ya da çıkış) ifadesi (veya dosyanın sonu) programdan çıkar. NS set
deyimi komut satırı seçeneklerinin etkileşimli olarak ayarlanmasını sağlar. Her bir ifade
noktalı virgül veya yeni satır ile ayrılır.

EŞ ANLAMLI


Bir bildirim sırasında bazı eşanlamlılara izin verilir:

karakter, karakterin eş anlamlısıdır
sabit, const kelimesinin eş anlamlısıdır
numaralandırma, numaralandırmanın eş anlamlısıdır
func, işlevin eş anlamlısıdır
tamsayı int kelimesinin eş anlamlısıdır
ptr işaretçi ile eş anlamlıdır
ref, referansın eş anlamlısıdır
ret, geri dönmekle eş anlamlıdır
yapı, yapı ile eş anlamlıdır
vektör dizi ile eşanlamlıdır

TAB tamamlama özelliği, yalnızca sayfanın sağ sütunundaki anahtar kelimeleri bilir.
yapı, sol sütundakiler değil. TAB tamamlama, aşağıdaki durumlarda çok daha az kullanışlıdır.
farklı anahtar kelimelerin baş karakterleri aynıdır (anahtar kelimeler bir
diğeri) ve her iki sütunu da koymak epeyce çatışmalara neden olur.

DİLBİLGİSİ


Aşağıdaki gramer dili tanımlar. Dilbilgisinde, "<>" içindeki kelimeler non-non-
uçbirimler, çıplak küçük harfli sözcükler, kendilerini ifade eden uçbirimlerdir. Çıplak büyük harf
kelimeler diğer sözlük belirteçleridir: HİÇBİR ŞEY boş dize anlamına gelir; NAME, bir C tanımlayıcısı anlamına gelir;
SAYI, bir ondalık basamak dizisi anlamına gelir; ve NL, yeni satır veya noktalı virgül anlamına gelir
karakterler.

::= HİÇBİR ŞEY
| NL
::= HİÇBİR ŞEY
| NAME olarak ilan et
| bildirmek
| NAME yayınla
| döküm
| açıklamak
| açıklamak
| açıklamak ( ) isteğe bağlı-NAME
| Ayarlamak
| yardım | ?
| çıkış yapmak
| çıkış
::= dizisi
| dizi NUMBER
| işlev döndürme
| işlev ( ) geri dönmek
| işaretçi
| NAME sınıfının üyesine işaretçi
| referans
|
::=
| *
| İSİM :: *
| &
::= ( )
| ( )
| [ ]
| [ SAYI ]
| ( )
| İSİM
::= HİÇBİR ŞEY
| ( )
| ( ) ( )
| ( ) ( )
| ( )
| İSİM :: *
| *
| &
| [ ]
| [ SAYI ]
::= |
|
| yapı ADI | sendika ADI | numaralandırma ADI | sınıf adı
::= ,
|
|
::= ,
| HİÇBİR ŞEY
|
|
| olarak
::= int | karakter | çift ​​kişilik | yüzer | geçersiz
::= |
::= kısa | uzun | imzasız | imzalı |
::= | HİÇBİR ŞEY
::= sabit | uçucu | noalia
::= otomatik | dış | kayıt | statik
::= HİÇBİR ŞEY |
::= HİÇBİR ŞEY |
| oluştur | nocreate
| istemi | istemsiz
| ritchie | preans | ansi | cplusplus
| hata ayıklama | düğüm ayıklayıcı | hata ayıklama | noyydebug

SET SEÇENEKLER


The set komut birkaç seçenek alır. Yazabilirsin set or set seçenekleri görmek için
o anda seçili seçenekler ve mevcut seçeneklerin bir özeti. İlk
dört karşılık gelir -a, -p, -r, ve -+ sırasıyla komut satırı seçenekleri.

ansi C dilinin ANSI C lehçesini kullanın.

preansi
Kernighan & Ritchie'nin kitabında tanımlanan ANSI öncesi lehçeyi kullanın.

Ritchie
Ritchie PDP-11 C derleyicisi tarafından tanımlanan lehçeyi kullanın.

artı artı
C yerine C++ dilini kullanın.

[hayır] istemi
Etkileşimli modda istemi açın veya kapatın.

[hayır]oluştur
Bildirimlere noktalı virgül veya kaşlı ayraç eklenmesini açma veya kapatma
tarafından çıktı cdecl. Bu şuna karşılık gelir: -c komut satırı seçeneği.

[hata yok
Hata ayıklama bilgilerini açın veya kapatın.

[hayır]yydebug
YACC hata ayıklama bilgilerini açın veya kapatın.

Not: hata ayıklama bilgileri ve YACC hata ayıklama bilgileri, yalnızca
derlenmiş cdecl. Son iki seçenek şuna karşılık gelir: -d ve -D komut satırı
sırasıyla seçenekler. Hata ayıklama bilgileri normalde program geliştirmede kullanılır ve
genellikle dağıtılmış yürütülebilir dosyalar halinde derlenmez.

ÖRNEKLER


Gibi işlevlere bir dizi işaretçi bildirmek için malloc(3), yap

fptab'ı işaretçiyi karaktere döndüren işleve işaretçi dizisi olarak ilan et

Bu komutun sonucu

karakter *(*fptab[])()

Bu beyanı başka birinin kodunda gördüğünüzde, bundan bir anlam çıkartabilirsiniz.
yapıyor

açıkla char *(*fptab[])()

için uygun beyan işaret(2), fonksiyon prototiplerini göz ardı ederek, kolayca şurada açıklanmıştır:
cdecldili:

sinyali işlev döndürme işaretçisi olarak işlev döndürme geçersizliği olarak bildirir

hangi üretir

geçersiz (*sinyal())()

Sonuçlanan işlev bildiriminde iki set boş parantez bulunur. yazarı
böyle bir işlev, parametreleri nereye koyacağını merak edebilir:

sinyali işlev olarak bildir (arg1,arg2) işaretçiyi işleve döndürerek geçersiz döndür

aşağıdaki çözümü sağlar (ile çalıştırıldığında -c seçenek):

geçersiz (*sinyal(arg1,arg2))() { }

İşlev prototiplerine eklemek istersek, böyle bir işlevin işlev prototipi
as _çıkış(2) ile ilan edilecektir:

_exit'i işlev olarak ilan et (int olarak yeniden değer) geçersiz döndür

veren

void _exit(int yeniden değer) { }

İşlev prototiplerini kullanan daha karmaşık bir örnek olarak, işaret(2) tam olarak şu şekilde tanımlanabilir:

sinyali işlev olarak bildir
işaretçiyi işleve döndürme (int) geçersiz döndürme

verme (-c ile)

geçersiz (*sinyal(int x, geçersiz (*y)(int )))(int ) { }

Cdecl "const" ve "volatile" değiştiricilerinin nereye yerleştirileceğini anlamaya yardımcı olabilir
beyannameler, dolayısıyla

foo'yu const int için işaretçi olarak bildir

verir

const int *foo

süre

foo'yu int'ye const işaretçisi olarak bildir

verir

int * const foo

C++bildirimi referansların bildirilmesine yardımcı olabilir, bu nedenle

x'i işaretçiden karaktere referans olarak bildir

verir

karakter *&x

C++bildirimi sınıf üyelerine yönelik işaretçilere yardımcı olabilir, böylece bir işaretçi bildirebilir
X sınıfının tamsayı üyesi

foo'yu X int sınıfının bir üyesine işaretçi olarak ilan et

verir

int X::*foo

ve

foo'yu X sınıfı işlevinin (arg1, arg2) geri dönen göstericisinin üyesine işaretçi olarak bildir
Y sınıfına

verir

Y sınıfı *(X::*foo)(arg1, arg2)

TANI


Bildirme, yayınlama ve açıklama ifadeleri, olmayan yapılara işaret etmeye çalışır.
C'de desteklenir. Bazı durumlarda, gerçekte neyin amaçlandığına dair bir tahmin yapılır. Bunların içinden
durumlarda, C sonucu, semantiği yalnızca Algol-68'de çalışacak bir oyuncak bildirimidir. NS
desteklenmeyen C yapılarının listesi, C dilinin hangi sürümünün kullanıldığına bağlıdır
kullanılır (ANSI, ANSI öncesi ve Ritchie seçeneklerine bakın). Desteklenen C++ yapıları kümesi
hariç, ANSI kümesinin bir üst kümesidir. noalia Anahtar kelime.

REFERANSLAR


ANSI Standardı X3.159-1989 (ANSI C)

ISO/IEC 9899:1990 (ISO standardı)

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

C Referans Kılavuzunun 8.4 Bölümü The C Programlama Dil B. Kernighan & tarafından
D.Ritchie.

C++ Referans Kılavuzunun 8. Bölümünde The C + + Programlama Dil tarafından B.
Stroustrup.

UYARILAR


Sözde İngilizce sözdizimi aşırı derecede ayrıntılıdır.

Yapılmayan çok sayıda anlamsal kontrol var.

Cdecl ANSI C standardı tamamlanmadan önce yazılmıştır ve hiçbir girişimde bulunulmamıştır.
güncel hale getirmek için. Bununla birlikte, bariz olarak standarda çok yakındır.
Istisna noalia.

Cdecl'nin kapsamı kasıtlı olarak küçüktür. Başlatma işlemlerini anlamanıza yardımcı olmaz. Bilişim Teknoloji
depolama sınıflarının bir bildirimin başında olmasını bekler, ardından
const, volatile ve noalias değiştiricileri, ardından değişkenin türü. Cdecl
değişken uzunluklu argüman listeleri hakkında hiçbir şey bilmiyor. (Bu, ``, ...''
sözdizimi.)

Cdecl söylediğiniz tüm bildirimlerin harici tanımlar olarak kullanılacağını düşünüyor.
C'deki bazı bildirim bağlamları bundan daha fazla esnekliğe izin verir. Bunun bir örneği:

argv'yi karakter dizisi dizisi olarak ilan et

nerede cdecl ile yanıt verir

Uyarı: C'de desteklenmiyor -- 'Belirtilmemiş boyutta iç dizi'
(belki "işaretçi dizisi" demek istediniz)
karakter argv[][]

için geçici destek noalia ANSI taslağında olduğu için anahtar kelime girildi
özellikleri.

YAZARLAR


Orijinal olarak Graham Ross tarafından yazılmış, David Wolverton, Tony Hansen tarafından geliştirilmiş ve genişletilmiştir.
ve Merlyn LeRoy.

GNU okuma hattı desteği ve Linux portu, David R. Conrad,[e-posta korumalı]>

onworks.net hizmetlerini kullanarak c++decl'i çevrimiçi kullanın


Ücretsiz Sunucular ve İş İstasyonları

Windows ve Linux uygulamalarını indirin

Linux komutları

Ad