Parametre sınırlamada konuyla ilgili, virgüllerin uzay ile karşılaştırıldığında bazı sorularım var.cmd-virgülle karşılaştırıldığında?
Onlar 4 parametre [0]=program
[1]=a
[2]=b
[3]=c
vardır ben
c:\>program a b c
yaparken biliyoruz
.. cmd istemi aşina C programcıları, biraz ışık atmak mümkün olabilir soruları vardır
hh ntcmds.chm
kavramlarına göre ..
Kabuk genel I dir a,b
bkz
; and , are used to separate parameters
; or , command1 parameter1;parameter2 Use to separate command parameters.
c
c:\>program a,b,c
parametreleri [0] = Program [1] = a, b verir dir a b
ancak
aynı sonucu verir Yani biraz yapalım mı? ya da hepsi? windows komutları kullanır; ve , ? ve bu, her bir komutun kodu içindeki yorumlama mıdır, yoksa kabuk tarafından boşlukla mı yapıldı?Ve eğer her bir komutun kodunda ise .. hangisinin olduğunu nasıl bilebilirim? Ben explorer.exe belgelerinin virgül, örn. explorer /e,.
ancak DIR /? bahsetmez, ancak kullanabilir. Ve tipik bir c programı, bir sınırlayıcı olarak almaz .. Kabuk, sınırlamak için virgül kullanmazsa, alan kullanır. Ve pencere komutları bunu yapar, çünkü virgül kullanıldıklarında kabukların daha fazla verdikleri parametreleri sınırlamak için yazılırlar (hepsi?).
Kabuk tarafından ne yapıldığını ve MS C çalışma zamanı veya standart lib tarafından yapılanları nasıl anlayabilirsiniz? Sadece bir pencere c prog var sadece #include üstünde ve argv görüntülemek için kod. gcc ile derlenmiş.Kapıdan hangi "parameterization!" yapıldığını görebiliyorum ve standart kütüphaneden otomatik olarak bir yol göremiyorum.Ayrıca, virgülün harici programlar xcopy veya telnet için çalışmadığını görüyorum. Sanırım rundll32 için gördüm. Sanırım bu sadece bazı.Maybe edilebilir bir kütüphanede bir fonksiyon değil.Bir belki sadece istisnai ext programlar cmd.exe iç cmds aping yapıyor –
barlop
Her şey kabuk işlevselliği dışında MS C çalışma zamanı tarafından yapılır. Kabuk işlevselliği yeniden yönlendirme ('<', '>', vb '>>), borulama ('|'), akış denetimi (' && 've' || ') ve kaçma ('^') gibi şeyleri içerir. Dediğim gibi, komut satırında ',' komutunu kullanan bir program görmedim, bu yüzden kopyalamanın ve telnetin desteklemediğine şaşırmadım. –
ms c çalışma zamanının boşlukları ve teklifleri sınırlandırdığını mı öneriyorsunuz? ya da bu hala kabuk mu? ve eğer ms c çalışma zamanı iseniz, bunu ispatlayabilir misiniz? İkinci mermi noktanızın unix ve windows'u nasıl ayırt ettiğini göremiyorum çünkü unix ve shell'ler de ayrıştırılamıyor. – barlop