Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura
Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura
Il primo Micro RGB di Samsung per il salotto è il 65 pollici da 2.749 euro. Sul banco di misura abbiamo rilevato 2.000 nit di picco, nero assoluto con il local dimming e il 91,4% del BT.2020, il colore più ampio che abbiamo misurato su un LCD
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
Apple ha rinnovato iPhone 18 Pro soprattutto dentro: chip A20 Pro a 2 nm con memoria affiancata al SoC, camera di vapore tre volte più ampia, Dynamic Island più piccola del 25% grazie a Face ID sotto il display e fotocamera principale con diaframma variabile da f/1.48 a f/4. Lo abbiamo misurato al colorimetro e nei benchmark, usato con iOS 27 e messo alla prova in fotografia tra laghi, borghi e interni poco illuminati
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
A Londra, per il trentennale dei Toughbook, Panasonic ha presentato il tablet G3 e il 2-in-1 34. Con Jon Tucker, a capo dell'ingegneria europea, abbiamo parlato di ciò che non si vede: batterie, antenne, porte seriali e accorgimenti nati sul campo
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-03-2011, 21:02   #1
Albitexm
Senior Member
 
Iscritto dal: Jun 2008
Messaggi: 384
[C++] libreria "stdafx.h". Cos'è,quando si usa

L'inclusione della libreria #include "stdafx.h", generalmente quando si fa'?
Questa libreria cos'è? cosa serve?
nota: uso VC++
Albitexm è offline   Rispondi citando il messaggio o parte di esso
Old 20-03-2011, 02:23   #2
Tommo
Senior Member
 
L'Avatar di Tommo
 
Iscritto dal: Feb 2006
Messaggi: 1304
Precompiled header
__________________
*ToMmO*

devlog | twitter
Tommo è offline   Rispondi citando il messaggio o parte di esso
Old 20-03-2011, 19:02   #3
Albitexm
Senior Member
 
Iscritto dal: Jun 2008
Messaggi: 384
Quote:
Originariamente inviato da Tommo Guarda i messaggi
Ok, grazie per il link.
Albitexm è offline   Rispondi citando il messaggio o parte di esso
Old 20-03-2011, 21:32   #4
tomminno
Senior Member
 
Iscritto dal: Oct 2005
Messaggi: 3306
Comunque non è una libreria ma un semplice header.
tomminno è offline   Rispondi citando il messaggio o parte di esso
Old 21-03-2011, 16:48   #5
megawati
Senior Member
 
L'Avatar di megawati
 
Iscritto dal: Mar 2002
Messaggi: 256
Quote:
Originariamente inviato da Albitexm Guarda i messaggi
L'inclusione della libreria #include "stdafx.h", generalmente quando si fa'?
La DEVI fare in tutti i file header di un progetto in cui usi MFC.
Quell'header contiene alcune #define e altri dati di base per le MFC, è necessario per il framework di Microsoft.

Se nei tuoi programmi NON usi MAI MFC, allora non lo devi includere mai
__________________
Phenom II 560BE/4core - 4GB DDR3/1300 - Mobo: Asus m4a77td - SkVideo: ATI HD5770/1Gb - DVD: Aopen - HD: due, quasi finiti
megawati è offline   Rispondi citando il messaggio o parte di esso
Old 21-03-2011, 22:24   #6
Albitexm
Senior Member
 
Iscritto dal: Jun 2008
Messaggi: 384
Quote:
Originariamente inviato da megawati Guarda i messaggi
La DEVI fare in tutti i file header di un progetto in cui usi MFC.
Quell'header contiene alcune #define e altri dati di base per le MFC, è necessario per il framework di Microsoft.

Se nei tuoi programmi NON usi MAI MFC, allora non lo devi includere mai
Ma infatti io avevo notato che sia creando un progetto vuoto in VC++ sia usando la procedura guidata per un progetto console o win (dove l'header viene incluso automaticamente) il mio programma gira ugualmente. E non noto differenze, neanche in fase di compliazione (i tempi mi sembrano uguali).
Andrò a studiarmi MFC per capirne l'utilità.
&& "il troppo stroppia.." &&

Ultima modifica di Albitexm : 21-03-2011 alle 22:40.
Albitexm è offline   Rispondi citando il messaggio o parte di esso
Old 21-03-2011, 22:50   #7
Albitexm
Senior Member
 
Iscritto dal: Jun 2008
Messaggi: 384
Quote:
Originariamente inviato da megawati Guarda i messaggi
La DEVI fare in tutti i file header di un progetto in cui usi MFC.

Se nei tuoi programmi NON usi MAI MFC, allora non lo devi includere mai
Ho fatto un'esperimento. Ho provato a compilare un'esercizio di un tutorial Microsoft sul parallelismo, in un progetto vuoto. Senza includere "stdafx.h",
e dichiarando la main semplicemente: int main() invece che "int _tmain(int argc, _TCHAR* argv[])", come viene dichiarata automaticamente se si usa la procedura guidata per la creazione di un applicazione console.
Come sospettavo il codice viene compilato ugualmente e funziona.
Riporto il testo del codice esempio del tutorial:

#include "stdafx.h" <ho eliminato questa riga
#include <ppl.h>
#include <stdio.h>
#include <windows.h>

using namespace std;
using namespace Concurrency;

//number of iterations each thread performs
static const int NUM_ITERATIONS = 150000;
int number = 0;


//Demonstrates use of critical section
void FunctionA(critical_section* pMutex)
{
for( int i = 0; i < NUM_ITERATIONS; ++i)
{
pMutex->lock();
++number;
pMutex->unlock();
}
}

//Demonstrates use of critical section

void FunctionB(critical_section* pMutex)

{
for( int i = 0; i < NUM_ITERATIONS; ++i)
{
pMutex->lock();
++number;
pMutex->unlock();
}
}

int _tmain(int argc, _TCHAR* argv[]) <qui ho scritto semplicemente int main()
{
critical_section mutex;
parallel_invoke(
[&] { FunctionA(&mutex); },
[&] { FunctionB(&mutex); }
);

printf("Final value of number: %i\n", number);



return 0;
}
Albitexm è offline   Rispondi citando il messaggio o parte di esso
Old 21-03-2011, 23:39   #8
Tommo
Senior Member
 
L'Avatar di Tommo
 
Iscritto dal: Feb 2006
Messaggi: 1304
Mi chiedo che ho postato a fare il link
C'è scritto tutto, che sperimenti a fa?

Comunque, stdafx.h è l'implementazione di VC++ dei famosi Precompiled Header; non fa nulla a parte velocizzare notevolmente il tempo di compilazione.

Dentro a stdafx.h devi includere tutti quegli header che cambiano raramente, che vengono compilati in un file .pch a parte che viene riutilizzato, invece che ricompilare il file ogni volta che viene trovato in un'include.
E' utile per cose tipo windows.h, i vari file di opengl, di std, di qualsiasi cosa sia una libreria esterna insomma.

Con MFC non c'entra una benemerita, può essere usato in qualsiasi progetto C++; è solo che il wizard del progetto MFC te lo crea in automatico.
__________________
*ToMmO*

devlog | twitter
Tommo è offline   Rispondi citando il messaggio o parte di esso
Old 22-03-2011, 16:27   #9
Albitexm
Senior Member
 
Iscritto dal: Jun 2008
Messaggi: 384
Quote:
Originariamente inviato da Tommo Guarda i messaggi
Mi chiedo che ho postato a fare il link
C'è scritto tutto, che sperimenti a fa?

Te lo spiego perchè ho fatto questa prova . L'esercizio didattico da me postato, viene proposto in un tutorial sulla PPL. Nel testo viene scritto di andare nella cartella d'installazione e "aprire" il file progetto "esercizio2".
Il progetto visualizza il file d'origine *.cpp con la precompilazione. Allora io mi sono chiesto, l'header incluso non sarà neccessario per fare girare le funzioni PPL? Funzionerà senza?
Quote:
Originariamente inviato da Tommo;
E' utile per cose tipo windows.h, i vari file di opengl, di std, di qualsiasi cosa sia una libreria esterna insomma.
(PPL non è una libreria esterna?)
Questo non potevo evincerlo dall'utile link postato da te.
Comunque sono giunto alla conclusione che il programma che sto scrivendo, mi conviene scriverlo come progetto vuoto. Poi successivamente aggiungere eventuali ottimizzazioni. Anche perchè in questo modo si potrà usare su qualsiasi compilatore C++ così com'è.

Ultima modifica di Albitexm : 22-03-2011 alle 16:41.
Albitexm è offline   Rispondi citando il messaggio o parte di esso
Old 25-03-2011, 23:11   #10
megawati
Senior Member
 
L'Avatar di megawati
 
Iscritto dal: Mar 2002
Messaggi: 256
Quote:
Originariamente inviato da Albitexm Guarda i messaggi
L'esercizio didattico da me postato, viene proposto in un tutorial sulla PPL. Nel testo viene scritto di andare nella cartella d'installazione e "aprire" il file progetto "esercizio2"
Eccavolo certo che non ci fai niente con stdafx.h allora... le MFC non le usi manco di striscio nel tuo programmino di esempio, per cui è ovvio che non ti serve includerlo. Mi chiedo perché hai creato un progetto win32 invece di creare un progetto console, tanto per quello che ti serve è lo stesso e c'è meno roba da capire.

Per quanto riguarda i precompiled headers: non c'entrano una mazza con stdafx.h. E' un caso in cui Wikipedia racconta cazzate (ce ne sono, ce ne sono).

Tutti i compilatori usano e onorano la direttiva #pragma hdrstop, che dice quali header precompilare e quali no: quelli prima di lei sì, quelli dopo di lei no.

STDAFX.H viene citato a (s)proposito dei precompiled headers perché con le MFC, Microsoft ha messo le direttive di inclusione degli header MFC (tutti precompilati, tanto che azz li tocchi a fare???) in stdafx.cpp e stdafx.h.


E non dare retta a Tommo che ne sa pure meno di te
__________________
Phenom II 560BE/4core - 4GB DDR3/1300 - Mobo: Asus m4a77td - SkVideo: ATI HD5770/1Gb - DVD: Aopen - HD: due, quasi finiti
megawati è offline   Rispondi citando il messaggio o parte di esso
Old 26-03-2011, 00:38   #11
||ElChE||88
Senior Member
 
Iscritto dal: Dec 2003
Messaggi: 4908
Quote:
Originariamente inviato da megawati Guarda i messaggi
Eccavolo certo che non ci fai niente con stdafx.h allora... le MFC non le usi manco di striscio nel tuo programmino di esempio, per cui è ovvio che non ti serve includerlo. Mi chiedo perché hai creato un progetto win32 invece di creare un progetto console, tanto per quello che ti serve è lo stesso e c'è meno roba da capire.

Per quanto riguarda i precompiled headers: non c'entrano una mazza con stdafx.h. E' un caso in cui Wikipedia racconta cazzate (ce ne sono, ce ne sono).

Tutti i compilatori usano e onorano la direttiva #pragma hdrstop, che dice quali header precompilare e quali no: quelli prima di lei sì, quelli dopo di lei no.

STDAFX.H viene citato a (s)proposito dei precompiled headers perché con le MFC, Microsoft ha messo le direttive di inclusione degli header MFC (tutti precompilati, tanto che azz li tocchi a fare???) in stdafx.cpp e stdafx.h.


E non dare retta a Tommo che ne sa pure meno di te
Certo che prima di fare il grosso avresti anche potuto informarti meglio.



Quote:
// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently,
// but are changed infrequently
||ElChE||88 è offline   Rispondi citando il messaggio o parte di esso
Old 26-03-2011, 01:26   #12
megawati
Senior Member
 
L'Avatar di megawati
 
Iscritto dal: Mar 2002
Messaggi: 256
Quote:
Originariamente inviato da ||ElChE||88 Guarda i messaggi
Certo che prima di fare il grosso avresti anche potuto informarti meglio.
Certo che prima di postare avresti anche potuto leggere bene cosa ho scritto.
Non hai detto niente, ma quello che hai messo è la dimostrazione di quello che ho detto io.

Bene, visto che sono stato confermato da cotanta fonte (tu), posso pure andare a nanna contento
__________________
Phenom II 560BE/4core - 4GB DDR3/1300 - Mobo: Asus m4a77td - SkVideo: ATI HD5770/1Gb - DVD: Aopen - HD: due, quasi finiti
megawati è offline   Rispondi citando il messaggio o parte di esso
Old 26-03-2011, 12:14   #13
Tommo
Senior Member
 
L'Avatar di Tommo
 
Iscritto dal: Feb 2006
Messaggi: 1304
Quote:
Originariamente inviato da megawati Guarda i messaggi
E non dare retta a Tommo che ne sa pure meno di te
E mo questo chi è, kick lock & ban
__________________
*ToMmO*

devlog | twitter
Tommo è offline   Rispondi citando il messaggio o parte di esso
Old 26-03-2011, 12:15   #14
||ElChE||88
Senior Member
 
Iscritto dal: Dec 2003
Messaggi: 4908
Quote:
Originariamente inviato da megawati Guarda i messaggi
Certo che prima di postare avresti anche potuto leggere bene cosa ho scritto.
Non hai detto niente, ma quello che hai messo è la dimostrazione di quello che ho detto io.

Bene, visto che sono stato confermato da cotanta fonte (tu), posso pure andare a nanna contento
Ma veramente no.
Hai detto che stdafx.h è legato alle MFC, che è completamente falso.
Crea un progetto ATL, scegli di non usare MFC... ma guarda te, c'è stdafx.h con dentro i header ATL (che non c'entrano nulla con MFC).

È cosi difficile ammettere di aver sbagliato? Sai, per evitare figure di merda...
||ElChE||88 è offline   Rispondi citando il messaggio o parte di esso
Old 26-03-2011, 17:01   #15
Albitexm
Senior Member
 
Iscritto dal: Jun 2008
Messaggi: 384
A parte la discussione sugli headers, i miei dubbi nascevano propio
dalla domanda postulata da te, solo che tu hai sbagliato il soggetto.
Ovvero tu chiedi:
Quote:
Originariamente inviato da megawati Guarda i messaggi
: Mi chiedo perché hai creato un progetto Win32 invece di creare un progetto console, tanto per quello che ti serve è lo stesso e c'è meno roba da capire.
Il fatto che io non "ho creato" un progetto Win 32. L'esercizio che ho aperto
era un progetto Win 32, precompilato dalla Microsoft. Il tutorial dice "apri il progetto", e non "apri il file *.cpp". Quindi io mi chiedevo: "ma sarà necessaria questa precompilazione?" I miei dubbi erano: "perchè la Microsoft propone l'esercizio precompilato in un progetto Win 32? Sarà necessario per le PPL?".

Quote:
Originariamente inviato da megawati Guarda i messaggi
: Non dare retta a Tommo
E anche grazie a Tommo,Tommino,Cionci e gli altri, se io sono riuscito a scrivere un programma funzionante, nonostante sia un neofita. E ho appreso molte nozioni sul C++. Tra l'altro nessuno ha l'obbligo di rispondermi e di consigliarmi. In molti forum "saccenti", i quesiti di un principiante non vengono neanche presi in considerazione. Qua sono sempre stato seguito ed ho sempre avuto una risposta ai miei dubbi.

Ultima modifica di Albitexm : 26-03-2011 alle 17:13.
Albitexm è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura Samsung Micro RGB R95H, il primo LCD a LED rossi...
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre iPhone 18 Pro: la recensione del miglior iPhone ...
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34 Panasonic, 30 anni di Toughbook: la "Bibbia...
realme C100x, lo smartphone economico con la batteria da 7500 mAh. La recensione realme C100x, lo smartphone economico con la bat...
Star Wars Zero Company è l'erede di XCOM 2 Star Wars Zero Company è l'erede di XCOM ...
SpaceX mostra nuove immagini del lancio ...
Cina: CAS Space e Guangzhou Laboratory e...
Nikon Comedy Wildlife Awards 2026: le fo...
Samsung Galaxy A57 e A37 costano di più ...
Windows 11 26H2 taglia il consumo di RAM...
KINGPIN è tornato! Il re dell'ove...
CPU usata, ban ereditato: il caso del Ry...
Spunta un engineering sample di Ryzen 9 ...
iPhone 18 Pro, alcuni utenti segnalano s...
Android Auto: Gemini ascolta la domanda ...
OpenAI avvisa oltre 100 organizzazioni p...
Dall'AI alla SI: il rebranding di Trump ...
0patch offrirà supporto esteso pe...
Sudo sembra un iPod, ma nasconde una car...
Meta, OpenAI e Google rifanno OpenClaw: ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 00:19.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v