Main() C aşırı yüklü ?
main()
C
var 2 geçerli sürümü vardır:
int main() // version 1
int main(int argc, char **argv) // version 2
(Hatta eski gcc saÄŸlar int **argv
!! char **argv
deÄŸiÅŸtirme)
Ama her iki sürümleri ile birlikte aynı anda olamaz ! (kullanma durumu gibi olabilir: komut istemi ikili çalışırken, hiçbir tartışma iletirseniz sonra 1 başka sürüm 2. Sürüm) çağrılmalıdır.
Özel bir derleyici kontrol sadece bir ikili sadece bir sürümü izin var mı ?
CEVAP
§3.6.1/2 (C 03) diyor
Bir uygulama, önceden tanımlanmış olmayacaktır
main
işlevi.Bu işlev olacaktır aşırı değil.Bir içelim int dönüş türü, ama aksi takdirde türü uygulama tanımlı. Tüm uygulamaları izin verecektir ana: aşağıdaki tanımları
int main() { /* ... */ }
int main(int argc, char* argv[]) { /* ... */ }
İkisini de kullanabilirsiniz. Hem standart uyumludur.
char *argv[]
char **argv
, eşdeğer olduğundan ayrıca, char **argv
11 *yerine herhangi bir fark yapmaz.
Ama her iki sürümleri ile birlikte aynı anda olamaz ! (kullanma durumu gibi olabilir: komut istemi ikili çalışırken, hiçbir tartışma iletirseniz sonra 1 başka sürüm 2. Sürüm) çağrılmalıdır.
Hayır. Her iki versiyonu birlikte aynı anda olamaz. Bir program main
tam bir işlevi var. Hangisi, sizin seçiminize bağlıdır. Eğer komut satırı bağımsız değişkeni işlemek istiyorsanız, o zaman ikinci versiyonu tercih etmelisiniz, yoksa ilk sürümü yeterlidir. Ayrıca İkinci Sürüm kullanın, ve herhangi bir komut satırı argüman yoksa, o zaman bir sakıncası yoktur unutmayın. Herhangi bir hata neden olmaz. Sadece argc
argv
buna göre yorumlamak ve değerlerine göre, mantık ve program akışının yazmak için.
Aslında && ve || don't kısa devre...
RVM ama komut satırı ile Ruby 1.9.3...
Böyle büyük mükafat 4.1't yeniden...
Ne kadar yüklü olduğunu kontrol etmek?...
Belirtilen platform araç takımı (v110)...