Groups | Search | Server Info | Keyboard shortcuts | Login | Register


Groups > it.comp.os.linux.development > #33

Re: Linea di comando per gcc

From guido84 <guido84@invalid.invalid>
Newsgroups it.comp.os.linux.development
Subject Re: Linea di comando per gcc
Date 2017-06-03 14:13 +0000
Organization Aioe.org NNTP Server
Message-ID <ogug6n$9ab$1@gioia.aioe.org> (permalink)
References (1 earlier) <ogt3q1$2co$1@virtdiesel.mng.cu.mi.it> <ogtmic$11ij$1@gioia.aioe.org> <epf7e0Fjuv0U1@mid.individual.net> <ogtsit$19vn$1@gioia.aioe.org> <epfsedFopv7U1@mid.individual.net>

Show all headers | View raw


Il 3/6/2017 15:38:20 Alessandro Pellizzari scrisse:
>On 03/06/17 09:38, guido84 wrote:

>> Si' ma il fattaccio e' che io il C non l'ho mai studiato come
>> teoria, lo imparo man mano facendo programmi.

>"Il Linguaggio C" di Kernighan e Ritchie sono 150 pagine, se non ricordo
>male, e contiene praticamente tutta la base del linguaggio (librerie
>escluse, per intenderci)

Ce l'avevo (e' la Bibbia, no?), l'ho prestato, non l'ho piu' rivisto
ne' piu' lo rivedro' ,-)   me lo dovro' ricompare, ANSI C era il mio.

>>> ma credo ti basti leggere
>>> argv[1] (dopo aver controllato che argc sia >2)
>> 
>> Sembra che argc corrisponda a $2, e' andato tutto benissimo, ma mi
>> tocca dare il comando: "./prova 10 qualsiasi_cosa".

>No.

>argc e` il numero di parametri sulla command line

Ah ecco.. Ok.

>argv e` un array di stringhe, che in C si puo` rappresentare come un
>puntatore a una lista di puntatori (da cui il doppio *)

Gia', il tuo char-stella-stella.
Insomma se non capisco male:
- int argc e' perche' main riceve ovviamente un intero (# dei par.)
- mentre il "numero" enne, di cui fare il logaritmo, lo riceve come
srtinga di caratteri ascii da tradurre poi in numero double.

>Se scrivi "./prova 10 qualsiasi_cosa"

>argc = 3
>argv = ["./prova", "10", "qualsiasi_cosa"]

>argv[0] e` sempre il comando che hai dato, quindi il primo parametro e`
>argv[1] e via via i successivi.

Capito mersi'

>Se accedi a argv[3], in questo caso, stai puntando a un'area di memoria
>non inizializzata, quindi ti rendi vulnerabile ad attacchi di code
>injection.

Si', comincio a capire come funziona, me l'aveva appena accennato
anche Giuseppe D.B.

Grazie delle info e ciao!

-- 
Saluti,
Guido

Back to it.comp.os.linux.development | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Linea di comando per gcc guido84 <guido84@invalid.invalid> - 2017-06-02 21:42 +0000
  Re: Linea di comando per gcc enoquick <enoquick@gmail.com> - 2017-06-02 20:36 -0500
    Re: Linea di comando per gcc guido84 <guido84@invalid.invalid> - 2017-06-03 06:56 +0000
      Re: Linea di comando per gcc Alessandro Pellizzari <shuriken@amiran.it> - 2017-06-03 08:39 +0100
        Re: Linea di comando per gcc guido84 <guido84@invalid.invalid> - 2017-06-03 08:38 +0000
          Re: Linea di comando per gcc Giuseppe Della Bianca <bepi.zac@zac.adria.it> - 2017-06-03 14:51 +0200
            Re: Linea di comando per gcc guido84 <guido84@invalid.invalid> - 2017-06-03 13:40 +0000
              Re: Linea di comando per gcc Giuseppe Della Bianca <bepi.zac@zac.adria.it> - 2017-06-04 12:04 +0200
          Re: Linea di comando per gcc Alessandro Pellizzari <shuriken@amiran.it> - 2017-06-03 14:38 +0100
            Re: Linea di comando per gcc guido84 <guido84@invalid.invalid> - 2017-06-03 14:13 +0000
      Re: Linea di comando per gcc enoquick <enoquick@gmail.com> - 2017-06-03 21:07 -0500
        Re: Linea di comando per gcc guido84 <guido84@invalid.invalid> - 2017-06-04 08:15 +0000

csiph-web