Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - warning: function returns address of local variable
Forum - C/C++ - warning: function returns address of local variable - Pagina 2

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
Ultimo (Member)
Guru


Messaggi: 877
Iscritto: 22/05/2010

Segnala al moderatore
Postato alle 13:53
Venerdì, 02/07/2010


If ok Then GOTO Avanza else GOTO Inizia

PM Quote
Avatar
GuglielmoS (Ex-Member)
Pro


Messaggi: 114
Iscritto: 27/11/2009

Segnala al moderatore
Postato alle 14:05
Venerdì, 02/07/2010
Allora mi sa che mi dovrò mettere a studiare bene l'aspetto della programmazione che mi hai appena descritto, perchè anche io ho molti problemi se mi metto a scrivere codice per progetti più grandi del solito programmino (problemi che mi portano poi ad abbandonare e lasciare perdere il progetto).

Grazie ancora per le dritte che mi state dando :)

@Ultimo: grazie per il link ;D

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6380
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 14:07
Venerdì, 02/07/2010
A confermare le corrette regole (e mi riferisco in particolare alla 1 e alla 2), c'è sempre l' "eccezione", che mostra come, certe volte, alcune "best practices" non siano seguite da chi di software ne sviluppa tanto.

Esiste un gruppo di API di Windows, le cosiddette

Network Management Functions
http://msdn.microsoft.com/en-us/library/aa370675(v=VS.85). ...

tra le quali esistono molte funzioni, una tra tutte, la

NetServerEnum
http://msdn.microsoft.com/en-us/library/aa370623(v=VS.85). ...

che, tra gli altri parametri, accetta un puntatore a puntatore a buffer. Tale buffer viene usato per restituire i dati per cui la funzione è stata creata (elenco server) ma, attenzione, l'allocazione del buffer è fatta all' "interno" della stessa funzione, dal sistema.

La stessa, si aspetta che sia il "chiamante" a liberare la memoria allocata tramite un'altra funzione del gruppo, la

NetApiBufferFree
http://msdn.microsoft.com/en-us/library/aa370304(v=VS.85). ...

che molti programmatori, spesso, dimenticano di usare (con memory leak assicurati).
E NetServerEnum la non è la sola.

Questo discorso per confermare, con un esempio, che le motivazioni 1) e 2) sono effettivamente fondate e che, tuttavia, molte software house vìolano questi principi (o principii per i puristi).

Fondamentale quindi, non dare nulla per scontato e studiare "attentamente" la documentazione.

Ultima modifica effettuata da nessuno il 02/07/2010 alle 14:08


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo