Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

[C] Variabili globali o variabili puntatore?

Linguaggi e sistemi

Moderatori: Foto UtentePaolino, Foto Utentefairyvilje

2
voti

[21] Re: [C] Variabili globali o variabili puntatore?

Messaggioda Foto UtenteMax2433BO » 31 mag 2015, 10:56

aldofad ha scritto:Questa discussione assurda sembra risalire al 1980


Mi dispiace Foto Utentealdofad se il mio quesito è banale ma io sono proprio sotto zero per quanto riguarda l'operatività di programmazione in C, per cui avevo solo bisogno di un parere da persone sicuramente molto più avvezze di me in questo ramo.

Pensa che io usavo solo il BASIC dello Spectrum Sinclair nei lontani anni '80 per realizzare semplici programmi per elettronica e matematica, e già allora cercavo di spezzare il programma in diverse subroutine che incorporassero le funzioni usate ripetitivamente all'interno del programma stesso (es. routine di controllo caratteri input, routine di stampa...).

DanteCpp ha scritto:Comunque penso che la diminuzione delle prestazioni non derivi dal maggior numero di istruzioni, bensì da un numero maggiore di accessi alla memoria...


... si chiedo scusa per la mia semplicistica interpretazione :oops: , ma già ho difficoltà a districarmi con la sintassi del C, figuriamoci se riesco a comprendere la sintassi dell'assembler generato da gcc...

... forse in un lontano futuro :mrgreen:

DanteCpp ha scritto:Ti consiglio di imparare ad usare gdb, anche perché è un vero spasso. Comunque per iniziare c'è anche un'interfaccia grafica per quest'ultimo si chiama ddd...


Ti ringrazio della segnalazione, vedrò cosa riesco a fare :ok:

O_/ Max
Disapprovo quello che dite, ma difenderò fino alla morte il vostro diritto di dirlo [attribuita a Voltaire]

La gentilezza dovrebbe diventare lo stile naturale della vita, non l'eccezione [Siddhārtha Gautama]
Avatar utente
Foto UtenteMax2433BO
18,6k 4 11 13
G.Master EY
G.Master EY
 
Messaggi: 4724
Iscritto il: 25 set 2013, 16:29
Località: Universo - Via Lattea - Sistema Solare - Terzo pianeta...

1
voti

[22] Re: [C] Variabili globali o variabili puntatore?

Messaggioda Foto Utentesimo85 » 31 mag 2015, 11:09

Sono solo io che uso ancora solo il terminale ? #-o
Avatar utente
Foto Utentesimo85
30,9k 7 12 13
Disattivato su sua richiesta
 
Messaggi: 9927
Iscritto il: 30 ago 2010, 4:59

1
voti

[23] Re: [C] Variabili globali o variabili puntatore?

Messaggioda Foto UtenteMax2433BO » 31 mag 2015, 11:11

simo85 ha scritto:Sono solo io che uso ancora solo il terminale ? #-o


No, anch'io lo uso...

... non spesso, ma lo uso :mrgreen:
Disapprovo quello che dite, ma difenderò fino alla morte il vostro diritto di dirlo [attribuita a Voltaire]

La gentilezza dovrebbe diventare lo stile naturale della vita, non l'eccezione [Siddhārtha Gautama]
Avatar utente
Foto UtenteMax2433BO
18,6k 4 11 13
G.Master EY
G.Master EY
 
Messaggi: 4724
Iscritto il: 25 set 2013, 16:29
Località: Universo - Via Lattea - Sistema Solare - Terzo pianeta...

1
voti

[24] Re: [C] Variabili globali o variabili puntatore?

Messaggioda Foto UtenteDanteCpp » 31 mag 2015, 11:17

aldofad ha scritto:temi assurdi qui discussi


Mi chiedo se anche L.T. la pensa cosi! :mrgreen:

Non temere Foto Utentesimo85, non sei solo! :mrgreen:
Avatar utente
Foto UtenteDanteCpp
4.730 3 9 13
Master EY
Master EY
 
Messaggi: 1106
Iscritto il: 15 dic 2011, 18:51

3
voti

[25] Re: [C] Variabili globali o variabili puntatore?

Messaggioda Foto Utentefairyvilje » 31 mag 2015, 11:47

EcoTan ha scritto:Le variabili vanno dichiarate prima di tutto ciò, cioè devono stare nell'area global.
Altrimenti i diversi pezzi dell'applicazione sarebbero liberi di sovrascrivere i valori delle variabili all'insaputa l'uno dell'altro, con risultati ovviamente folli, alla ricerca di risparmiare qualche byte di memoria dati.


Mi dispiace per il tuo frigorifero e per la tua bicicletta, ma anche avessi vinto la lotteria, ciò non renderebbe più sensato o vero quanto hai scritto. Da qui il mio voto negativo. È proprio il contrario di quanto scrivi, se le variabili fossero globali, i pezzi dell'applicazione potrebbero accedere al suo valore senza controllo con effetti quantomeno strani e difficili da debuggare perché sintatticamente corretti. Le variabili locali sono localizzate nello stack, e da quando in FORTRAN esiste la rientranza delle chiamate a funzione lo scenario da te prospettato non esiste.

Il fatto che poi i robottini vadano lo stesso non è una giustificazione di fronte a come li si fanno funzionare. SI muovono e ciò ti basta? Ok, a molti altri di noi probabilmente no :mrgreen: .
Saluti :)
"640K ought to be enough for anybody" Bill Gates (?) 1981
Qualcosa non ha funzionato...

Lo sapete che l'arroganza in informatica si misura in nanodijkstra? :D
Avatar utente
Foto Utentefairyvilje
15,0k 4 9 12
G.Master EY
G.Master EY
 
Messaggi: 3047
Iscritto il: 24 gen 2012, 19:23

2
voti

[26] Re: [C] Variabili globali o variabili puntatore?

Messaggioda Foto Utentefairyvilje » 31 mag 2015, 11:59

aldofad ha scritto:Questa discussione assurda sembra risalire al 1980 quando la programmazione non era object oriented ed esisteva solo codice monolitico.


La programmazione di oggi in realtà non è solo object oriented. Chi progetta sistemi informatici spessso usa ancora il C proprio perché il principio della black box, tanto cara all'OOP è controproducente. Pensa al codice di base di un sistema operativo che per avere prestazioni decenti DEVE sapere come il tutto è implementato. La trasparenza del codice a volte è una necessità ed è lì che il data hiding fa danni.

Dillo poi a chi usa ancora prolog o lisp :mrgreen:
"640K ought to be enough for anybody" Bill Gates (?) 1981
Qualcosa non ha funzionato...

Lo sapete che l'arroganza in informatica si misura in nanodijkstra? :D
Avatar utente
Foto Utentefairyvilje
15,0k 4 9 12
G.Master EY
G.Master EY
 
Messaggi: 3047
Iscritto il: 24 gen 2012, 19:23

0
voti

[27] Re: [C] Variabili globali o variabili puntatore?

Messaggioda Foto Utentealdofad » 31 mag 2015, 12:09

fairyvilje ha scritto:Pensa al codice di base di un sistema operativo che per avere prestazioni decenti DEVE sapere come il tutto è implementato.

Il codice di base dei sistemi operativi più diffusi è scritto in C++.
Avatar utente
Foto Utentealdofad
853 4 5
Sostenitore
Sostenitore
 
Messaggi: 689
Iscritto il: 21 gen 2014, 1:07
Località: Treviso

0
voti

[28] Re: [C] Variabili globali o variabili puntatore?

Messaggioda Foto Utentesimo85 » 31 mag 2015, 12:12

Esempi ?
Avatar utente
Foto Utentesimo85
30,9k 7 12 13
Disattivato su sua richiesta
 
Messaggi: 9927
Iscritto il: 30 ago 2010, 4:59

1
voti

[29] Re: [C] Variabili globali o variabili puntatore?

Messaggioda Foto Utentefairyvilje » 31 mag 2015, 12:16

Probabilmente hai ragione, ma hai mai visto il codice sorgente C++ di un sistema operativo? Se lo guardi con attenzione vedi che è molto più C-like che Java-like.
Il C++ diventa comodo perché semplifica certe cose. I templates sono comodi, le funzioni virtuali possono esserlo, ma a parte questi elementi la maggior parte del core object oriented del C++ viene trascurata. Si evitano le eccezioni perché richiederebbero un sistema runtime funzionante non ancora disponibile, le classi molto spesso si usano esattamente come si usavano le strutture in C, solo con una sintassi più comoda perché posso avere funzioni membro e non devo portarmi dietro quel struct ovunque.
"640K ought to be enough for anybody" Bill Gates (?) 1981
Qualcosa non ha funzionato...

Lo sapete che l'arroganza in informatica si misura in nanodijkstra? :D
Avatar utente
Foto Utentefairyvilje
15,0k 4 9 12
G.Master EY
G.Master EY
 
Messaggi: 3047
Iscritto il: 24 gen 2012, 19:23

1
voti

[30] Re: [C] Variabili globali o variabili puntatore?

Messaggioda Foto Utentefairyvilje » 31 mag 2015, 12:17

simo85 ha scritto:Esempi ?

Il mio piccolo OS giocattolo è scritto in C++ :mrgreen: .
Non sarà di sicuro la "maggior parte" ma almeno uno esiste :mrgreen:
"640K ought to be enough for anybody" Bill Gates (?) 1981
Qualcosa non ha funzionato...

Lo sapete che l'arroganza in informatica si misura in nanodijkstra? :D
Avatar utente
Foto Utentefairyvilje
15,0k 4 9 12
G.Master EY
G.Master EY
 
Messaggi: 3047
Iscritto il: 24 gen 2012, 19:23

PrecedenteProssimo

Torna a PC e informatica

Chi c’è in linea

Visitano il forum: Nessuno e 28 ospiti