System V Application Binary Interface'u okuyorum ve anlamamış bir bölüm var.Diziler neden arama çağrısı var?
Birincisi, belge
hiçbir girişimde C
(sayfa 10) dışındaki diller için ABI belirtmek için yapıldığını belirtiyor.
Daha sonra sayfa 20, diziler BELLEK, POINTER vb .: olarak sınıflandırılır
aşağıdaki gibi agrega (yapıları ve diziler) ve sendika türleri sınıflandırması işleri
:
...
Sınıflandırma daha sonra çağrı kurallarını tanımlamak için kullanılır - bunlar üzerindeki değerler ve sınırlar nasıl iletilir ve işlevlerden döndürülür. Algoritmayı doğru okuyorsam, bir dizi INTEGER, MEMORY veya SSE olarak sınıflandırılabilir.
Ancak C dilinde, diziler her zaman geçirilir ve işaretçi olarak döndürülür. Öyleyse dizileri sınıflandırmak ve dizi sınıfının hangi durumda önemli olduğu niçin yararlıdır?
ilk alıntı, kolay anlaşılır [ortak dil] (https: // tr Unix dünyasının .wikipedia.org/wiki/Lingua_franca). İkinci alıntıya gelince, bu C dizileri işaretçi olarak geçirir (ya da dizinin ilk elemanına işaret eden bir dizgecin bozulmasına izin verir) çünkü C'nin başından beri nasıl çalıştığı ve C şartnamesinin böyle olması gerektiği söylenir. –
[İlgili soru] (http://stackoverflow.com/questions/38800044/what-kind-of-c11-data-type-is-an-array-according-to-the-amd64-abi). –