Newsgroup: it.comp.lang.c
Titolo: significato del .exe

Domanda da clamorosamente inesperto, lo so.
Però...se io ho una applicazione .exe di un programma scritto in
C,posso farla andare anche su un computer in cui non è installato C?
Forse è una domanda idiota, mi scuso
Grazie per ogni eventuale risposta, Massimiliano

 Grazie per ogni eventuale risposta, Massimiliano
Pur non potendo giurare sulle capacita\\\' intellettive del succitato scrivente,
la domanda non e\\\' comunque incontrovertibilmente pisquanesca.
Vi sono infatti molteplici e svariati compilatori, (dei quali uno solo e\\\' di
mia conoscenza e ve ne disvelo il nome immantinente: Borland C++ Builder,)
che producono degli eseguibili (*.exe) che possono o non possono dipendere 
dalla presenza nel medesimo computer di apposite librerie. A seconda di ....
Ovvero: alcuni compilatori nel loro eseguibile fanno riferimento a procedure 
predefinite (solitamente organizzate in librerie, files che tipicamente hanno
l\\\'estensione DLL). A seconda dei voleri dell\\\'umano che presiede alla compilazione,
il compilatore puo\\\' produrre un eseguibile piu\\\' grosso che contiene interiormente
gia\\\' le librerie necessarie (e in questo caso l\\\'eseguibile potra\\\' essere eseguito
indipendementemente su qualunque computer, ma sara\\\' piu\\\' lungo) oppure puo\\\'
produrre un eseguibile piu\\\' corto la cui esecuzione dipende pero\\\' dalla presenza
nel computer delle librerie (che a volte possono essere scaricate indipendemente).
Spero di essere stato oscuramente chiaro.
firmato: Il Nano Bagonghi
-----------------------------------
Ps. Scusate l\\\'interferenza dovuta ai temporali.
Solitamente pullulo solo in it.hobby.satellite-tv.digitale 
Servizio FlashMail - From 
http://www.makmo.com
SPOT : 
Do you want improve your traffic on your Blog? Try ours service for free...clik url:
Click:
http://lnx.makmo.com/bloglist/

 indipendementemente su qualunque computer, ma sara\\\' piu\\\' lungo)
oppure puo\\\'
E' un affermazione un po' forte.
Prova a creare un eseguibile del genere e a farlo girare su un computer
della Apple... o altro RISC qualunque... o in generale su un computer con un
set di istruzioni assembler diverso da quello del computer su cui e' stato
compilato.
Cmq, siamo OT xche' la discussione sul C dovrebbe prescindere, in questo ng,
dall'hw, dal S.O., etc...
Ciao,
Ema

 compilato
Riassumendo (e sperando di essere un po' piu' chiaro del Nano Bagonghi,
(siamo un po' OT, ma in fondo e' il 6 agosto, c'e' poco traffico qui)
Quello che ti ha detto il Nano e' ragionevolmente giusto, naturalmente
lui ha assunto che tu compunque l'eseguibile lo volessi eseguire su 
macchine compatibili.
Cioe', come dice Ema, se hai un eseguibile prodotto per girare su
un PC sotto windows, allora (a meno di complicazioni che sarebbero 
decisamente OT) quel eseguibile girera' solo sotto windows.
Se e' stato compilato per girare in una workstation linux con un
pentium (ma in tal caso difficilmente si chiamera' .exe) allora
non girera' in una workstation linux con un processore completamente
diverso. etc.etc.
Se invece (come pensava il N.B.) sei interessato a sapere se un .exe 
prodotto da un compilatore per windows girera' su un altro computer
con lo stesso hw e lo stesso sistema operativo, la risposta e'
"in generale dovrebbe girare" ma potrebbe necessitare di apposite
librerie che per vari motivi potrebbero non essere state inserite
nell'eseguibile in fase di compilazione.
Cio' detto, ti invito, caso mai i tuoi problemi fossero
specificamente legati a windows di porre le prossime domande
sul gruppo
it.comp.programmare.win32
dove ti potranno dare informazioni specifiche.
Questo gruppo riguarda solo la parte "standard" del linguaggio,
quella non legata ad una architettura specifica
(anche se capisco che per un principiante totale sia a volte difficile
capire quale sia...)
ciao,
g.

guasoni massimiliano ha scritto:


Allora calma... un file .exe è un file che contiene il codice macchina ed
è pertanto un eseguibile. Il linguaggio C è installato, di norma, in quasi
tutti i sistemi operativi. Io ovviamente parlo di librerie e di headers
standard (i famosi file .h), non di compilatori e librerie/headers
speciali. Logico che per eseguire un file scritto in C devi avere "il
linguaggio C installato". Ad esempio, se io creo un eseguibile in Pascal e
non ho le librerie Pascal, col piffero che me lo esegue... Alby
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 non ho le librerie Pascal, col piffero che me lo esegue... Alby
Non capisco che cosa intendi.
Pascal (almeno "Turbo Pascal" della Borland) genera EXE assolutamente 
indipendenti (a meno che non vengano incluse _appositamente_ chiamate a 
librerie esterne).
In ambito Windows, Delphi (il "pascal di Windows") genera EXE che (a 
meno dei casi sopra menzionati) sono autosufficenti e non richiedono 
assolutamente alcun header/libreria/quellochetipare preinstallato (se 
non quelle che già vengono di default con Windows)... naturalmente mi 
riferisco alla versione non .NET di Delphi.
Ciao,
   Luca

Credevo diversamente... ho imparato qualcosa! Stesso discorso anche col C?
-- 
"Windows cerca di fare Unix e ci riesce male, Red Hat cerca di fare Windows
e ci riesce benissimo" (Jimmy Olgeni)