View Full Version : [c] implementare tutto nel file .exe
cé la possibilità di implementare tutti i vari file( ad es. i file .c, .h, .txt,ecc) di un mio programmino nel file .exe? dato ke l'ho visto applicato in varie situazioni,grazie
io voglio ke con un programma mi si implementa tutti i miei file in un unico file .exe, tutto compresso in esso,un es: io ho un dizionario (berl2hei, ke sicuro conoscete) ke ha solo il file .exe
DanieleC88
19-08-2006, 08:26
Non credo di aver capito perfettamente cosa cerchi, ma se metti nei file di risorse del programma ciò che ti serve dovresti trovare tutto incluso nel tuo file eseguibile e identificato da un alias impostato da te (di solito lo si usa per finestre di dialogo e icone, informazioni varie sul programma, etc).
in setup2go nel tab "Create Setup" spunta "Create Single File Installation (Self-Extracted Setup)" :D
ma nn funziona! io ho fatto un programma in c: questo per funzionare ha bisogno di + file (.c,.txt ecc). Quindi il file .exe solo non funziona: io vorrei che nel file .exe fossero comprese tutte queste cose. é possibile che debba mettere tutto il mio codice nel main.c?
rileggi bene il post di Daniele :read:
ma nn funziona! io ho fatto un programma in c: questo per funzionare ha bisogno di + file (.c,.txt ecc). Quindi il file .exe solo non funziona: io vorrei che nel file .exe fossero comprese tutte queste cose. é possibile che debba mettere tutto il mio codice nel main.c?
qualche tempo fa feci anch'io una cosa del genere usando setup2go e funzionò alla grande...credo sia qualcos'altro il problema :p
edit: soffermandomi sulle tue parole credo di aver capito, a te non serve un setup che racchiuda tutto in un solo .exe ma bensì un exe che avvii il programma e che includa tutti gli altri file necessari al suo funzionamento? in questo caso non so aiutarti...sorry
é proprio quello ke mi serve!!!
é proprio quello ke mi serve!!! appunto, ripeto: rileggi bene il post di Daniele :read:
DanieleC88
21-08-2006, 21:32
Ma che mi sforzo a fare io di scrivere se non mi leggono nemmeno? :cry:
:D
Bentornato 71104! ;)
scusa daniele ....ma nn ho ben capito la tua risposta:) il mio programma é scritto in c
DanieleC88
22-08-2006, 08:33
Usi Visual Studio? Ho trovato questa pagina che spiega bene come fare. ;)
http://www.codeproject.com/cpp/usingtextfile_resources.asp
Le linee che ti interessano sono principalmente queste (modifico un po'):
TCHAR *sResName = _T("ID_DELLA_RISORSA"); // oppure "#numero"
TCHAR *sRestype = _T("NOME_DELLA_RISORSA");
HRSRC hres = FindResource(NULL, sResName, sRestype);
if (hres == 0)
{
_tcprintf(_T("An Error Occurred.\n Could Not Locate Resource File."));
return 1;
}
HGLOBAL hbytes = LoadResource(NULL, hres);
LPVOID pdata = LockResource(hbytes);
LPTSTR sData = (LPTSTR)pdata;
Questo, dopo aver inserito la risorsa personalizzata nel file con estensione ".rc" per includere il file di testo.
P.S.: se posso chiederlo, come mai devi includere header e file sorgente all'interno del programma? Forse c'è un modo migliore di farlo, piuttosto che inserire tutto nell'eseguibile.
aggiungo che alla prima riga ho provato anche io col nome della risorsa ma senza successo; sono riuscito a farlo funzionare solo col numero preceduto dal cancelletto. l'ho fatto nel programma eseguibile del mio progettino open source su SourceForge (http://sf.net/projects/vdiskman) :p
ecco i sorgenti dell'eseguibile, se ti interessano, all'inizio del main (verso la riga 320) troverai il codice per estrarre il driver dalle risorse e scriverlo su file:
http://svn.sourceforge.net/viewvc/vdiskman/trunk/exe/main.cpp?view=markup
Bentornato 71104! ;) hola :D
DanieleC88
22-08-2006, 11:32
l'ho fatto nel programma eseguibile del mio progettino open source su SourceForge (http://sf.net/projects/vdiskman) :p
...Non è che stai cominciando a pubblicizzare il progetto? :asd:
...Non è che stai cominciando a pubblicizzare il progetto? :asd: :D
un po' anzitempo a dire il vero, visto che ancora ho dei problemi: non gestisco alcuni IOCTL ma non riesco a capire quali perché a runtime tutto quello che posso ottenere dalla DbgPrint (una sorta di printf) è il loro codice numerico, non il nome :mc:
se sono bravo però forse riesco a rilasciarlo tra qualche giorno :D
DanieleC88
22-08-2006, 14:38
tutto quello che posso ottenere dalla DbgPrint (una sorta di printf) è il loro codice numerico, non il nome :mc:
grep -R <numero> /usr/include :D
grep -R <numero> /usr/include :D seeeeee te piacerebbe, eh? :Prrr:
se le macro degli IOCTL fossero definite in maniera diretta e banale col numero a sto punto avrei già risolto, ma purtroppo sono definite attraverso l'uso di un'altra macro, la CTL_CODE.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.