mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c
Titolo: dichiarazioni delle librerie standard

sto studiando c da poco e leggendo alcuni manuali;
in uno in particolare ho trovato una  dichiarazione di funzione con una
descrizione che mi lascia perplesso
quale
int (*signal (int sig, void (*funz) (int)))(int);
la dscrizione dice che signal è una funzione che restituisce un puntatore (e
questo è chiaro ed evidente) ma poi dice che questo puntatore è ad una
funzione che restituisce un intero (mentre funz nella chiamata è dichiarata
void)
Infine non capisco davvero il enso di (int) alla fine del costrutto
Se qualcuno potesse darmi qualche dritta a 
paolo....@tiscali.it
 glie ne
sarei grato
ciao
Paolo

Infine non capisco davvero il enso di (int) alla fine del costrutto
Leggi la dichiarazione come se fosse:
int (*signal(a,b))(int);
Per ora non ti interessa sapere cosa siano a e b.
Le parentesi attorno ad a e b hanno precedenza maggiore
rispetto all'asterisco, per cui, dato:
k = signal(a,b)
si puo' scrivere:
int (*k)(int);
k e', banalmente, un puntatore a funzione che accetta un
intero e restituisce un intero.
Ma k e' il risultato della signal(a,b), per cui si puo' dire
che "signal e' una funzione che accetta a e b e restituisce
un puntatore a funzione che accetta un intero e restituisce
un intero". 
Adesso, banalmente, risolvi a e b, dicendo che :
"signal e' una funzione che accetta un intero (a) e un
puntatore a funzione che accetta un intero e non restituisce
nulla (b) e restituisce un puntatore a funzione che accetta
un intero e restituisce un intero".
-- 
Andrea Laforgia - walkietalkie(at)
libero.it
"Meglio cieco che negro" (Stevie Wonder)

Newsgroup: it.comp.lang.c
Titolo: Download Ia.n.i.!!! It's free!

Download Ia.n.i. RemoteControlSystem 1.2 beta. It's free!!!
New site: 
http://jump.to/IaniProject





Download Ia.n.i. RemoteControlSystem 1.2 beta. It's free!!!
New site: 
http://jump.to/IaniProject
Newsgroup: it.comp.lang.c
Titolo: fscanf e inserimento in una struct

...ok...mi rendo conto che è una domanda di livello bassissimo...ma qui il
tempo stringe, e tra 3 giorni devo consegnare sto benedetto progetto, e mi
sono decisamente arenato.
typedef struct x {
    char *nome;
    char *cognome;
    struct y *as;
    float stipendio;
    struct x *next;
   } PERSONE;
        struct y {
   int giorni;
   int mesi;
   int anni;
   struct y *next;
  };
Ho una struct in cui devo inserire una serie di informazioni contenute in un
file, ognuna di queste info si trova su una riga diversa, le info sono 6,
quindi io facendo un ciclo di questo tipo...
while (!feof(fAzienda))
    {
     fscanf(fAzienda, "%s%s%d%d%d%f", nome, cognome, &a, &m, &g, &s); //
dove nome cognome ecc sono variabili che ho creato
     lista = malloc(sizeof(PERSONE));
     lista->nome = malloc ((strlen(nome))*sizeof(char));
     lista->nome = nome;
     lista->cognome = malloc ((strlen(cognome))*sizeof(char));
     lista->cognome = cognome;
     as->giorni=g;
     as->mesi=m;
     as->anni=a;
     lista->stipendio=s;
}
....inserisco ogni record al suo posto...e il gioco dovrebbe essere fatto.
Purtroppo nel file che la prof ci ha gentilmente fornito ci sono nomi tipo
"Maria Chiara" o cognomi come "De Rossi", ed ecco che la doppia stringa
distrugge la logica del mio ciclo e mi incasina tutto.
Io vorrei sapere da voi se magari esiste un'indicatore di fine riga, un
qualcosa con cui posso forzare C a prendere ogni riga e inserirla nella mia
struct, oppure non so...sono anche pronto a buttare nel cesso tutto se
qualcuno mi instrada vero la giusta via....per il momento non vedo altre
soluzioni che attaccare i nomi quindi....se qualcuno mi vuole aiutare...
grazie 1000 cmq
kim

 sono decisamente arenato.
Non di sola fscanf() vive il programmatore C ma, e soprattutto, di 
fgets()... ;)
 
http://www.hmug.org/man/3/fgets.html
-- 
Baci,
Mony

 soluzioni che attaccare i nomi quindi....se qualcuno mi vuole aiutare...
...ma se proprio insisti con la fscanf(), puoi prendere in 
considerazione il descrittore di formato "[^\n]" (ma il mio consiglio e` 
quello di seguire quanto ti ho detto nel messaggio precedente).
 
http://www.hmug.org/man/3/fscanf
-- 
Baci,
Mony

Newsgroup: it.comp.lang.c
Titolo: Lanciare batch/ exe in modo asincrono con C

Salve,
vorrei fare un prg in c dove dall'interno dello stesso lancio e termino un
.exe. Esistono istruzioni che permettono di fare quanto sopra e in maniera
asincona, cioe' mantenendo sempre il controllo dell'applicazione?
Grazie
Ivan

asincona, cioe' mantenendo sempre il controllo dell'applicazione?
L'unica funzione portabile credo sia "system()".
In ogni caso il controllo viene temporaneamente passato al programma
eseguito e quindi non puoi attuare cio' che definisci come "modo
asincrono".
Andrea Laforgia


ICQ #34602650
Newsgroup: it.comp.lang.c
Titolo: due domande

Ragazzi come faccio ad allocare memoria per una matrice di cui con
conosco le dimensioni, mi spiego meglio se č un vettore faccio
int *vettore;
vettore=(int *)malloc(sizeof(int)* dimensione);
per una matrice int **matrice, e poi????
Un'altra domanda come faccio a realizzareun file .h???
Ragazzi magari fatemi un esempio se non chiedo troppo con u na funzione
somma
int somma(int a, int b)
{int risultato;
risultato=a+b;
return(risultato);}
Per favore spiegatemi anche la facenda del link verso il file object.
Thank you, Flinstone
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Un'altra domanda come faccio a realizzareun file .h???
Quanto segue dovrebbe rispondere contemporaneamente ad entrambe le tue 
domande.
<code>
	/* file: matrix.h */
	#ifndef matrix_h
	#define matrix_h 1
	typedef int **matrix_t;
	matrix_t mat_alloc(int,int);
	#endif	/* matrix_h */
	/* file: matrix.c */
	#include <stdlib.h>
	#include "matrix.h"
	matrix_t
	mat_alloc(int rows,int cols)
	{
	  matrix_t aux;
	  int        i;
	  aux=malloc(cols*sizeof(int *));
	  for(i=0;i<cols;i++) *(aux+i)=malloc(rows*sizeof(int));
	  return aux;
	}
	/* file: test.c */
	#include "matrix.h"
	int
	main(void)
	{
	  matrix_t my_matrix;
	  my_matrix=mat_alloc(42,14);
	  return 0;
	}
</code>
Osserva bene il codice sopra riportato e traine qualche conseguenza. ;)
-- 
Baci,
Mony

 </code>
Gli header, per definizione, sono header. Non dovresti metterci anche il
codice...
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
Windows NT crashed.
I'm the Blue Screen of Death.
No one hears your screams.

 codice...
Se per "codice" intendi la definizione delle funzioni, non ce l'avevo 
messo. ;)
-- 
Baci,
Mony

 messo. ;)
Vero, non avevo notato la divisione in due file, scusa.
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
"La mia teoria scientifica preferita e` quella secondo la quale gli 
 anelli di Saturno sarebbero interamente composti dai bagagli andati 
 persi nei viaggi aerei." -- Mark Russel
Newsgroup: it.comp.lang.c
Titolo: [?] Creare una DLL con BC 4.5 per VB

Carlini Alessio ha scritto nel messaggio +ADw-8c1rr1+ACQ-2il+ACQ-1+
AEA-nslave1.tin.it
+AD4-...
+AD4-Ciao a tutti,
+AD4-    ho perso alcune ore tentando di far vedere una funzione messa in una
DLL
+AD4-compilata con il BorlandC 4.5 (Dll dinamica per Win 32) ma ottengo il
+AD4-seguente errore da VB
+AD4-
+AD4AIg-Can't find DLL enty point Incrementa+ACI-
+AD4-
+AD4-credo ci sia un qualche problema nella DLL di cui riporto il sorgente
+AD4-(Breve)
+AD4-
+AD4AIw-include +ADw-windows.h+AD4-
+AD4-
+AD4-
+AD4-DWORD +AF8AXw-export CALLBACK Incrementa(DWORD dwNumero)
+AD4Aew-
+AD4-     /+ACo- incremento di dwNumero +ACo-/
+AD4-     dwNumero+ADs-
+AD4-     return dwNumero+ADs-
+AD4AfQ-
+AD4-
+AD4-
+AD4-Non fa nulla di utile ma voglio solo vedere come si fa.
+AD4-
Non conosco BC 4.5 ma a sensazione direi che manca la definizione
delle EXPORTS della DLL. Dovresti creare un file .DEF con la linea
EXPORTS Incrementa
La clausola +AF8AXw-export credo dica semplicemente quali sono le
convenzioni di chiamata. L'esportazione deve quindi essere fatta
in modo esplicito.
Andrea


Newsgroup: it.comp.lang.c
Titolo: Efficienza Cercasi!!

Ho il seguente problema:
Ho un file di 300byte,
I primi 100byte e gli ultimi 100 (da 200 a 300)
contengono dati "significativi".
Dal byte 100 al byte 200 c'è della "spazzatura"!
Come posso fare per rimuovere detta "spazzatura"?
Io avevo pensato di creare un file tmp e di leggere a turno i primi
100 e gli ultimi 100 byte...
C'è un modo più efficiente per risolvere il problema?
In definitiva mi ci vorrebbe un bel "delete" da byte 101 a byte 199!
Grazie e ciao! ;-)
               --Please also reply via E-Mail--
                      4169522043485253

 100 e gli ultimi 100 byte...
A parte leggere 100 byte alla volta e saltare a piè pari i 100 che non ti
interessano credo di no.
--
Alessandro Monti

C'è un modo più efficiente per risolvere il problema?
Con la libreria standard no, puoi solo vedere se esiste qualche servizio del
tuo sistema operativo che fa ciò che ti serve.
Ciao, Giuseppe
---------------------------------------------------------------------------
_Guybrush su IRCNet canale #programmazione
ICQ: 42227764
---------------------------------------------------------------------------

L'unico metodo possibile con la libreria standard.
E la funzione fseek() ?
--------------------------------------------------------
* Andrea Laforgia        (
andrea_...@bigfoot.com
) *
--------------------------------------------------------

 In definitiva mi ci vorrebbe un bel "delete" da byte 101 a byte 199!
Se cerchi piu' efficenza nel senso di meno spazio ausiliario su disco,
puoi sempre leggere tutti i 200 byte che ti interessano e poi
riscriverli sullo stesso file da cui li hai letti, perdendo il contenuto
del vecchio file. Il problema e' che se il sistema si arresta dopo che
hai iniziato la scrittura del file, senza che questa sia terminata,
perdi tutti i dati, ma non so quanto sia grave nel tuo caso.
-- 
 Ciao, Luca.
 Reply to 
luca....@tiscalinet.it
 UIN : 43385135

E la funzione fseek() ?
Proprio questo abbiamo detto:
</CODE>
FILE *File1, *File2;
char Buffer[100];
File1 = fopen("Windows.OS", "r");
File2 = fopen("Linux.OS", "w");
fread(Buffer, 100, 1, File1);
fwrite(Buffer, 100, 1, File2);
fseek(File1, 100, SEEK_CUR);
fseek(File2, 100, SEEK_CUR);
fread(Buffer, 100, 1, File1);
fwrite(Buffer, 100, 1, File2);
fclose(File1);
fclose(File2);
</CODE>





Davide
Il mio era un ipotetico esempio tanto per rendere l'idea...
Il file in questione anzichč 100Byte potrebbe essere benissimo 10MB.
Cmq. grazie ugualmente per l'interessamento! :-)

Newsgroup: it.comp.lang.c
Titolo: please, help a dummie!

Ciao a tutti,
    non ho alcuna esperienza in fatto di programmazione e sto cercando di
eseguire il mio primo helloWorld con lcc-win32.
Ma già le prime difficoltà. In pratica non riesco a capire quali
informazioni mi chiede il wizard.
Come si fa a compilare un programma? Please, spiegatemi tutto passo passo...
dove scrivo: (se dal notepad, o nel programma wedit)
#include <stdio.h>
main()
{
    printf("ciao\n");
}
e quali comandi debbo dare per compilarlo
grazie 1000
            Francesco

Se sei all'inzio non ti conviene usare questi compilatori x win, e' meglio
che ne usi uno x dos come il Borland c++ 3 dos
--
davser - 
dav...@libero.it
 - 
http://davser.cjb.net

Newsgroup: it.comp.lang.c
Titolo: Aiuto per DirectX

Avrei bisogno di un buon manuale possibilmente on-line sulle 
directx...
Siamo un gruppo di ragazzi che vogliono creare un Video Gioco 2D
avremmo bisogno di qualsiasi informazione utile allo sviluppo 
di un Video Gioco sia dal punto di vista manualistico che del 
linguaggio. Grazie.
 

 directx...
Sei OT chiedi su it.comp.programmare.win32 e/o it.comp.giochi.sviluppo
Comunque mi avevano detto che la guida era sul sito
microsoft.qualcosa.developers.directx
La reference guide era qualcosa entro i 10mb... la guida completa, con
esempi, ecc.. passa i 100mb, puoi anche ordinare il CD.
--
______________________________
Per rispondere Brain(a)
infinito.it
La mia homepage 
www.infinito.it/utenti/brain
....work in progress....
bye Brain

Newsgroup: it.comp.lang.c
Titolo: ADO e OLEDB

Salve a tutti, sto modificando un programma che scrive dei log su un file di
testo.
Devo riuscire ad inserire queste informazioni su un database al posto del
file di testo.
Il programma è scritto in C semplice senza uso di grafica e compilato a riga
di comando con nmake.
Qualcuno utilizza ADO da C o comunque qualhe sistema per accedere via OleDb
ad un database?
Grazie per eventuali aiuti...
--
Toglere #NOSPAM# dall'indirizzo
Cut #NOSPAM# to replay

Mi rispondo da solo, forse può essere utile a qualcuno.
Però è stano che nessuno sappia dell'esistenza della DB-Library di Microsoft
Si trovano tutte le info a:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dblibc/dbc_
pdc02_0vmr.asp
Mi sembra comoda!
Ciao atttuttti


 Però è stano che nessuno sappia dell'esistenza della DB-Library di
Microsoft
Forse perche' non e' il ns adatto; prova con ..programmare.win32 o simili
#eno
 -----= Posted via Newsfeed.Com, Uncensored Usenet News =-----
http://www.newsfeed.com
 - The #1 Newsgroup Service in the World!
-----== 90,000 Groups! - 17 Servers! - Unlimited Download! =-----
Newsgroup: it.comp.lang.c
Titolo: Numero casuale

Salve a tutti,
dovrei inizializzare una variabile ad un numero casuale, ho letto dal
manuale della possibilità di usare la funzione rand()
se allora nel main scrivo
n=rand();
dovrei ottenere quello che desidero invece la variabile non viene
inizializzata a nessun numero!
Come posso risolvere?
Ciao e grazie
Luigi

 proclamavitque:

"If you want to generate a random integer between 1 and 10, you should always
do it by using high-order bits, as in
	j=1+(int) (10.0*rand()/(RAND_MAX+1.0));
and never by anything resembling
	j=1+(rand() % 10);
(which uses lower-order bits)."
Adieu,
-- 
Lestat de Lioncourt  -- a.k.a --  Ciro Mattia Gonano
 Undergraduate student in Computer Science at University of Bologna
 IHGGer #1049   <=>  ICQ#: 52631406   <=>   URL: 
http://www.CS.UniBO.It/~gonano
 Debian admin at 
Students.CS.UniBO.It
 <=> look at headers for my JabberID & GPG

visto che non ti ha risposto ancora nessuno questa volta rispondo io anche
se non sono un'esperta..
allora il comando è
n=rand()%100   in questo modo genera numeri casuali tra 0-99
analogamente rand()%200 tra 0-199
se vuoi generare numeri tra 1-200 usa rand()%200+1
tra 18-30 usa rand()%13+18
e  così via...
se non sbaglio però c è programmato per generare una sequenza di numeri
casuali che in realtà è sempre la stessa, quindi metti prima del comando
randomize()
in questo modo avrai sequenze diverse ogni volta
spero di essere stata chiara e non aver fatto nessun errore....
ciao ilaria

randomize()
<...>
Non è standard, srand() è la soluzione portabile.
Il seme si potrebbe impostare con time(0):
srand(time(0));
-- 
Andrea Laforgia
#exclude <windows.h>

 Adieu,
au revoir :)
    Sbirish
Newsgroup: it.comp.lang.c
Titolo: Inviare un crlf

Ciao a tutti,
Avrei bisogno di inserire in una stringa un carattere di CRLF, tale stringa
deve poi essere inviata via modem ad un altro pc che deve rilevare nel
messaggio questi caratteri.
Qualcuno sa dirmi come posso fare?
P.S: i caratteri ASCI sono '13' e '10'.
Grazie.

 wrote in message
news:3cac...@news.cis.it...

int main(void)
{
   char str[3] = {'\0'};
   str[0] = 13;
   str[1] = 10;
// oppure
   str[0] = '\r';
   str[1] = '\n';
   return 0;
}
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Ale wrote:

	char crlf[]="\015\012";
-- 
Baci,
Mony
Newsgroup: it.comp.lang.c
Titolo: Ho bisogno di aiuto sul 3D

Ciao  a tutti!!!!!
Volevo sapere se qualcuno mi poteva aiutare su delle funzioni 3D.
Ho bisogno di texturizzare un rettangolo posto come piano
tridimensionali.
Praticamente volevo fare una funzione che passati i vertici (4 x,y,z +
la mappa da inserire)
mi texturizzasse il tutto!
Volevo ricordare che dispongo delle funzioni putpixel tridimensionali
e linee tridimensionali.
Grazie!
Stefano (
nep...@freemail.it
)

mi texturizzasse il tutto!
Non ti posso aiutare, ma se ti interessa, sulla rivista Dev ci sono una
serie di articoli su come realizzare un motore grafico 3d in C; in
particolare si parla di texture sul numero 50 (anche se il motore si basa
sui triangoli e non sui rettangoli).
Puoi trovare gli indici dei numeri di Dev al sito 
http://www.infomedia.it/
ma per esaminare il contenuto on-line devi abbonarti.
Spero di essere stato di aiuto,
Alberto

Newsgroup: it.comp.lang.c
Titolo: Espressioni regolari

Esistono librerie con funzioni che mi permettano di fare il matching tra
stringhe ed espressioni regolari?
-- 
§        ZeD         §
§   Up da 4:58 ore   §
§     08/03/2004     §
§ S. Giovanni di Dio §

 stringhe ed espressioni regolari?
ansi non so, ma in posix c'e' regex
man regex
ciao,
Riccardo
-- 
-=Riccardo Galli=-
 _,e.
s~  ``
 ~@.   ideralis Programs
.   ol 
 `**~  
http://www.sideralis.net

Newsgroup: it.comp.lang.c
Titolo: riferimenti incrociati nei .h

salve a tutti, avrei il seguente problema:
in un file header posso dichiarare una struttura, di cui uno degli
elementi punta ad un altra struttura gia dichiarata, ma se invece non
fosse gia stata dichiara? esempio
struct s1
{
	int a;
	long b;
	struct s2 *p_s2;
};
struct s2
{
	int c;
	char d;
	struct s1 *p_s1;
};
la struttura s2 non ha problemi, sa gia come e' fatta s1, ma s1? il
compilatore non dice nulla neanche con tutti i warning attivati ( gcc )
ma la cosa mi sembra strana
E possibile incrociare cosi' le dichiarazioni? se avessi dichiarato la
variabile assieme alla struttura avrei avuto errori, certo, ma con solo
la dichiarazione? quando andro' a creare le variabili o le zone di
memoria con malloc entrambe le strutture saranno note, ma non mi sento
convinto.... delucidazioni grazie :)
Grazie
Ivan

 convinto.... delucidazioni grazie :)
sono alle volte un po' ermetico ma il concetto e' quello che ti ho detto.
Tutto un altro pianeta se tu avessi inserito in s1 non un puntatore ma una
struttura non ancora definita.
ciao
donCiccio


No problem. Essendo lecito dichiarare puntatori  a
strutture che non sono ancora dichiarate (cioe'
per esempio  che contengono puntatori a loro
stesse) puoi referenziarne due l'una con l'altra.
Igor Rossetti
Senjin Omukae
Newsgroup: it.comp.lang.c
Titolo: puntatori, array e cose strane

ipotesi:
int a[10];
int m[3][2];
int *pa1=a;
int *pa2=&a[0];
int *pm1=&m[0][0];
in c pa1=pa2, ma dati i seguenti:
int *pa3=&a;
int *pm2=m;
int *pm3=&m;
int *pm4=&m[0];
posso dire che pa1=pa2=pa3 e pm1=pm2=pm3=pm4 ?
il compilatore si lamenta negli ultimi 4 casi dando uno warning: 
"initialization from incompatible pointer type".
sembra quindi che pa3 non punti al primo elemento dell'array e 
pm2,pm3,pm4 non puntino al primo elemento della matrice.
tuttavia se vado a vedere i valori contenuti č effettivamente vero che 
pa1=pa2=pa3 e pm1=pm2=pm3=pm4.
sapete darmi qualche chiarimento?
grazie, ciao.

 int *pm4=&m[0];
Con calma, uno alla volta: int * pa3 = &a ha poco senso perche' prendi
l'indirizzo di un indirizzo.
Nel secondo caso probabilmente si aspetta un doppio puntatore, visto che
m e' un array a due dimensioni: o fai un type cast, oppure usi &(m[0])
(dovrebbe funzionare).
Terzo caso idem al primo.
Quarto caso: vedi risposta al secondo.
Cosi', ad occhio, dovrebbe essere giusto.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Cosi', ad occhio, dovrebbe essere giusto.
grazie delle info, ciao.

 tuttavia se vado a vedere i valori contenuti è effettivamente vero che


 l'array m[0], che a sua volta coincide con l'indirizzo di m[0][0].
Ok, ma l'operatore & ha la precedenza, scrivendo &m[0] in realta' e'
come scrivere (&m)[0], mentre tu vuoi &(m[0]). Almeno, da quello che mi
ricordo dovrebbe essere cosi' (non ho un compilatore sottomano per
vedere se quello che ho detto e' giusto.. :p)


 come scrivere (&m)[0], mentre tu vuoi &(m[0]).
E` esattamente il contrario...
&m[0] = &(m[0])

... :p
Ah, ok, grazie. Chiedo scusa a cane...

Newsgroup: it.comp.lang.c
Titolo: Djpp o Gnu

Sono andato sul Mailgate di questo NG per cercare informazioni su
quale compilatore iniziare ad usare(inizio adesso ad imparare il C) e
a dire la verita' non c'ho capito molto.L'unica cosa che ho capito e'
che questo DJPP e' l'optimum.Ma per me che sono agli inizi(anzi
diciamo che non sono nemmeno partito) puo' andare bene?E' solo un
compilatore o qualcosa di piu'?E che rapporto c'e'(se c'e') tra lo Gnu
e il Djpp?
Cos'e' meglio per iniziare?
Grazie a tutti e scusate la confusione.

DJGPP conprende diversi "accessori": io personalmente ho scaricato il
compilatore, le varie faq, l'interfaccia RHide (che comprende anche il
debugger, il maker, il linker e simili) ed altre cosette. L'elenco dei
file per usare DJGPP sotto win95 (per poter compilare C/C++) e' il
seguente:
bnu281b.zip
copying.dj
djdev201.zip
faq211b.zip
gcc281b.zip
gpp281b.zip
grx23.zip (grafica)
grx23fnt.zip (font)
lgp2811b.zip
readme.1st
rhide14b.zip
txi312b.zip
Se decidi di scaricare DJGPP per win95, se vuoi ti posto un file txt con
le istruzioni per l'istallazione, tra l'altro semplicissime; forse le
trovi cmq nelle faq.
Ciao.
Giuliano wrote:

--
*******************************************************
  "C'e' un vecchio detto a riguardo delle reti che
  recita: i problemi di banda possono essere risolti
  con il denaro. I problemi di latenza sono piu' dif-
  ficili poiche' la velocita' della luce e' una cos-
  tante e non e' possibile corrompere Dio."
                                     David Clark, MIT
  Reply to 
bia...@maganet.net
*******************************************************
Newsgroup: it.comp.lang.c
Titolo: numeri realmente grossi

Ciao a tutti, volevo provare a lavorare su numeri dell'ordine di 300 cifre o
giu' di li'... solo che non ho idea di dove metterli... ho pensato di usare
delle stringhe... ma non sarebbero sfruttatre al meglio, poiche' oggi
componente dell'array comprende bel 256 possibili byte, io invce ne
sfrutterei al massimo 10... avete qualcosa da consigliarmi ?
Ciao.
Claudio


Il formato BCD? Riduci l'occupazione alla metà ed è ancora abbastanza
semplice gestirli. Oltretutto se usi le CPU Intel, con un po' di assembler
hai la stessa velocità del formato binario, o quasi. Non so per altre CPU.
Se invece vuoi fare di meglio, devi gestire proprio tu tutta l'elaborazione,
ma credo che a questo punot sia meglio fare il tutto in assembler.
Ma cosa ti serve? Se bastano somme,sottrazioni e moltiplicazioni, ci sono
degli algoritmi molto carini che lavorano con formati binari e sono
abbastanza veloci. Certo che fare una moltiplicazione può richiedere
log2(10^300) passi intermedi, ognuno con uno shift logico effettuato su
log2(10^300) bits. Certo che senza assembler è davvero dura...
A proposito: log2(10^300) è circa uguale a 1'000, il che significa 1'000 bit
per rappresentare il tuo numero, ovvero circa 125 bytes. Davvero un misero
risparmio rispetto ai 150 necessari ad un formato BCD, e per di più al costo
di una notevole perdita di prestazioni (secondo me).
Nota1: possibile che non esistano già delle librerie che lo fanno?
Nota2: ma ti serve davvero una precisione di 300 cifre significative? Io
penso che in molti casi (quelli che vanno al di là delle 4 operazioni
matematiche, di solito) potresti convertire il numero in un double e poi
fare i conti con quello, tornando ad avere a disposizione tutte le funzioni
matematiche standard.
--
Alessandro Monti

delle stringhe...
Esiste una libreria che gestisce numeri di dimensione arbitaria.
Dovrebbe chiamarsi gmp.
Ciao,
      __
     (__
      __)tefano.

 sfrutterei al massimo 10... avete qualcosa da consigliarmi ?
Potresti utilizzare una aritmetica modulo 256 e risolvere quindi il
problema dello spazio sprecato. I calcoli sarebbero in generale più
efficienti. La visualizzazione e l'acquisizione dei numeri invece
sarebbe più lenta in quanto richiederebbe una conversione nei due sensi
ma probabilmente questo risulterebbe trascurabile rispetto alle
corrispondenti operazioni di I/O.
EMG

sz Nota1: possibile che non esistano già delle librerie che lo fanno?
la gmp provo a cercarla :)
ciao & grazie.
Claudio.

 Claudio
A lezione abbiamo fatto una libreria in assembler che fa somme e sottrazioni
tra interi di grandezza a piacere...
Però se ti interessano divisioni e moduli non so aiutarti
--
________________________________
Togliete NoSpaM per rispondermi
bye Brain

Claudio
Prova a dare un'occhiata in 
http://cacr.math.uwaterloo.ca/hac/
 .
Nella pagina dell' Handbook of Applied Cryptography trovi un link
a "C implementations" di Pete Williams, dove potrai studiarti le
routines ( in C ) che manipolano un BIGNUMBER, se ricordo bene.
Ciao,
	Fabio
FGL-20000114>80900
Email: 
fabio....@tiscalinet.it
.
Newsgroup: it.comp.lang.c
Titolo: Specificatore di formato?!

Ciao.
Intervengo per la prima volta in questo NG, per
chiedere un piccolo aiuto: Se leggo una stringa molto
lunga e poi voglio stamparla a schermo "incolonnata"
(cioè non su un'unica riga ma, ad esempio, andando a
capo ogni 10 caratteri), cosa devo fare? Esiste uno
specificatore di formato di printf che permette di
ottenere questo risultato?
Grazie a tutti.
Ciao.
______________________________________________________________________
Do You Yahoo!?
Il tuo indirizzo gratis e per sempre @
yahoo.it
 su 
http://mail.yahoo.it
--
Posted from 
web4405.mail.yahoo.com
 [216.115.105.35] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

ottenere questo risultato?
No, per niente.
Al momento vedo due possibili soluzioni :
- una mini routine che faccia il display (non e' difficile, e' un
ciclo for che comprende alcune istruzioni tra cui una printf)
- oppure, se sei in Borland/DJGPP e non te ne frega nulla della
portabilita', un'istruzione window per delimitare la zona dove
scrivere, una printf e un'altra window per resettare la zona di i/o.
ciao

Mi sa che devi lavorare con il printf("\n"); e un ciclo for... un comando
apposito non l'ho mai visto.
Ciiips
Enrico S.
--
Webmaster della Pagina NON Ufficiale del SonyCRX100
SonyCRX120,  SonyCRX140E/S, SonyCRX100EX, HP8100
HP8200, HP9100 & HP9200
http://www.freeweb.org/computer/SonyCRX100/
Newsgroup: it.comp.lang.c
Titolo: Inizializzazione array bidimensionale help

Ciao a tutti
 ho un piccolo problema che mi attanaglia da ieri notte.
sto facendo una simulazione sul gioco del lotto.
Ho creato un  array bidimensionale nel file lotto.h
int estrazione[10][50]; // mi interessano 10 estrazioni
e vorrei inizializzarlo nel file lotto.c
ho scritto, quindi 
void estrazione_init() {
int estrazione [][50] = {
{ 1, 2, 3, 4, 5,1, 2, 3, 4, 5,1, 2, 3, 4, 5,1, 2, 3, 4, 5,1, 2, 3, 4,
5},     /* zero riga */
{ 1, 2, 3, 4, 5,1, 2, 3, 4, 5,1, 2, 3, 4, 5,1, 2, 3, 4, 5,1, 2, 3, 4,
5},     /* prima riga */
{ 1, 2, 3, 4, 5,1, 2, 3, 4, 5,1, 2, 3, 4, 5,1, 2, 3, 4, 5,1, 2, 3, 4,
5},     /* seconda riga */
{ 1, 2, 3, 4, 5,1, 2, 3, 4, 5,1, 2, 3, 4, 5,1, 2, 3, 4, 5,1, 2, 3, 4,
5},     /* terza riga */
{ 1, 2, 3, 4, 5,1, 2, 3, 4, 5,1, 2, 3, 4, 5,1, 2, 3, 4, 5,1, 2, 3, 4,
5},     /* quarta riga */
{ 1, 2, 3, 4, 5,1, 2, 3, 4, 5,1, 2, 3, 4, 5,1, 2, 3, 4, 5,1, 2, 3, 4,
5},     /* quinta riga */
{ 1, 2, 3, 4, 5,1, 2, 3, 4, 5,1, 2, 3, 4, 5,1, 2, 3, 4, 5,1, 2, 3, 4,
5},     /* sesta riga */
{ 1, 2, 3, 4, 5,1, 2, 3, 4, 5,1, 2, 3, 4, 5,1, 2, 3, 4, 5,1, 2, 3, 4,
5},     /* settima riga */
{ 1, 2, 3, 4, 5,1, 2, 3, 4, 5,1, 2, 3, 4, 5,1, 2, 3, 4, 5,1, 2, 3, 4,
5},     /* ottava riga */
{ 1, 2, 3, 4, 5,1, 2, 3, 4, 5,1, 2, 3, 4, 5,1, 2, 3, 4, 5,1, 2, 3, 4, 5}
};      /* nona riga */
}
Quando provo a compilare mi dice 
estrazione.c: In function 'estrazione_init':
estrazione.c:11: warning: unused variable 'estrazione'
e ovviamente mi prende i parametri sbagliati!!
Cosa posso aver sbagliato?
Grazie in anticipo.
                                ALEX

 Cosa posso aver sbagliato?
??? quello lì è un warning del compilatore che ti sta avvertendo che hai 
inizializzato una variabile che non usi. non c'è nessun errore.
ovviamente se poi cerchi di usare la variabile locale estrazione 
all'esterno della funzione estrazione_init(), sono giustamente cazzi.
ciao.
Newsgroup: it.comp.lang.c
Titolo: Double Buffering

Perche questo prog. che dovrebbe mostrare l'utilita del double buffering non
funge?
Piu che altro non riesce ad allocarmi lo spazio in memoria per il 2°
buffer...eppure uso la farmalloc() per andare oltre i 64kb classici....
Ciao e Grazie
Ecco il listato:
#include <alloc.h>
#include <stdio.h>
#include "graph.h"
#define PROG_NAME "Esempio di doppio buffering"
unsigned char *vga_mem = NULL;
int i;
int main()
{
 printf("%s\n\n", PROG_NAME);
 printf("Vedremo un quadrato muoversi\n");
 printf("sullo schermo con il double buffering\n");
 printf("Premi un tasto per continuare...\n");
 key();
 initgraph();
 clear_screen(0, video_buffer);
 vga_mem = (unsigned char*)farmalloc(64000);
 if(vga_mem == NULL)
 {
  closegraph();
  printf("Errore nella allocazione del frame buffer\n");
  return 1;
 }
 for(i=0;i<=200;i++)
 {
  clear_screen(0, vga_mem);
  clear_screen(0, video_buffer);
  drawrec(10+i,10,100+i,100,15,vga_mem);
  waitr();
  copy_to_vga(video_buffer, vga_mem);
 }
 clear_screen(0, video_buffer);
 free(vga_mem);  //svuoto il 2ø buffer
 closegraph();
 printf("%s By Tdx 1999\n", PROG_NAME);
 printf("Premere un tasto...\n");
 key();
return 0;
}

buffer...eppure uso la farmalloc() per andare oltre i 64kb classici....
E noi come facciamo a saperlo se tu utilizzi funzioni di una libreria a noi
sconosciuta (e di cui non fornisci i sorgenti)?
Ciao, Giuseppe
---------------------------------------------------------------------------
_Guybrush su IRCNet canale #programmazione
ICQ: 42227764
---------------------------------------------------------------------------

sconosciuta (e di cui non fornisci i sorgenti)?
Noo, non hai capito il problema....la mia libreria funziona, il fatto è che
non mi alloca lo spazio...tutto li...non centra la libreria, percio è
superfluo passarvela...

superfluo passarvela...
Hai provato a settare la quantità di heap destinata al programma nel tuo
compilatore? Fai dei tentativi con dei valori più alti.


Newsgroup: it.comp.lang.c
Titolo: macro __DATE__

Salve a tutti,
    ho la necissità di conoscere la data odierna all'interno del mio
programma C.
La cosa più naturale da fare è quella di utilizzare la macro __DATE__ che mi
restituisce la data nel formato (stringa) giorno/mese/anno.
Io ho però bisogno di una stringa del tipo GGMMAA (per esempio 040201).
Conoscete una funzione utile per ottenere questo tipo di formato?
Ho provato a stampare la macro __DATE__ in formato numerico (%d invece di
%s) ma ottengo un numero che credo non sia significativo.....mi sbaglio?
Avevo pensato di prendere la stringa di __DATE__ , scomporla in campi (con
una strtok) e poi fare un switch sul risultato della scomposizione per
convertire i campi nel formato voluto.....ma mi sembra un pò troppo
laborioso....
Avete qualche consiglio da darmi?
Grazie per una risposta,
Marco

 wrote in message
news:kNgf6.9298$eQ5.1...@twister2.tin.it...

Newsgroup: it.comp.lang.c
Titolo: Scovare i caratteri accentati

Salve,
potreste suggerirmi un semplice algoritmo per scoprire se un carattere
e' accentato (es. à è ì ò ù) e ricondurlo alla sua forma non accentata
(a e i o u) ?
Ringrazio anticipatamente.
-- 
.............................................................
 Franco Tassone	         IBM Certified AS/400 Tech Solutions
                         RGNetWork Internet Service Provider
                         Via G. D'Annunzio, 162
 
franco....@rgn.it
   65127 PESCARA (ITALY)

  Franco Tassone          IBM Certified AS/400 Tech Solutions
                                         ^^^^^^
  Problemi con l'EBCDIC? ;)
	Alla prossima,
		Marco

(a e i o u) ?
Tempo fa scrissi un filtro che faceva esattamente questo, ma non e'
possibile stabilire a priori qual'e' lo schema di rimappatura dei
caratteri. Questi caratteri sono estesi e dipendono strettamente dalla
piattaforma utilizzata.
--
Andrea Laforgia (
andrea_...@bigfoot.com
)
---------------------------------------------
#exclude <windows.h>

 (a e i o u) ?
Intendi qualcosa del genere ?
---------------------------------------------------------------------
#include <stdio.h>
#include <string.h>
int main(void)
{
	char con[] = "àèéìòù";
	char senza[] = "aeeiou";
	char buff[1024];
	while (fgets(buff, sizeof buff, stdin)) {
		char *corr = buff, *sost;
		for (; (sost = strpbrk(corr, con)); corr = sost + 1)
			*sost = senza[(strchr(con, *sost)) - con];
		fputs(buff, stdout);
	}
	return 0;
}
---------------------------------------------------------------------
Ciao ciao,
Andrea
-- 
"...Unix, MS-DOS, and Windows NT (also known as the Good, the Bad, and 
 the Ugly)."
(by Matt Welsh)

Newsgroup: it.comp.lang.c
Titolo: Videogiochi in c

Vorrei cominciare a programmare videogames in c/c++, ma parto proprio da
zero, nel senso che ho bisogno di un libro (o di un tutorial) che spieghi i
principi della grafica 2d (al momento non ho bisogno di directx, dato che
volevo cominciare con qualcosa x dos) (e i link dei post precedenti non
misono stati utili) e qualcos'altro che spieghi le tecniche costruttive (ad
esempio gestione di tastiera, mouse, sprite ecc....) ho trovato qualcosa su
www.ldmsoft.it
 ma non mi ha soddisfato. Qualcuno puo' consigliarmi un sito,
o un libro, o un newsgroup che si occupi principalmente di questo?

Non ho visto il tuo mex precedente, ma sinceramente io (per iniziare) mi
sono servito dei sorgenti e tutorials presenti su 
www.allegro.cc
che utilizza le librerie allegro...
Ciao
Enrico S.
--
Webmaster della Pagina NON Ufficiale del SonyCRX100
SonyCRX120,  SonyCRX140E/S, SonyCRX100EX, HP8100
HP8200, HP9100 & HP9200
http://www.freeweb.org/computer/SonyCRX100/
Newsgroup: it.comp.lang.c
Titolo: Leggere nomi file

Salve a tutti , devo fare un programma che legga i
nomi dei file presenti in una cartella e allochi tanta memoria
quanta ne serve per memorizzare i nomi dei file in un char *array[]={} .
Avete consigli e suggerimenti ?
Grazie a tutti
Ciao

Blizzard ha scritto:

Di solito le funzioni per lavorare con le directory sono dipendenti dal 
sistema operativo e/o dal compilatore (cioè non ci sono funzioni della 
libreria standard del C adatte a questo scopo). Quindi, il primo 
suggerimento è di andare a vedere quali funzioni il tuo SO e/o il tuo 
compilatore mettono a disposizione per le directory :)
Ciao.

 Ciao.
... si grazie , il s.o. e windows il compilatore
e tcc tiny
Ciao


Non ho capito se il problema è l'accesso alla directory (e ai suoi files)
o l'allocazione della memoria.
Nel primo caso, dovresti avere a disposizione le funzioni POSIX
opendir(), readdir() e via dicendo.
Nel secondo caso, dai un'occhiata a malloc().
Alex

 Alex
non hai degli esempi ?
grazie

Newsgroup: it.comp.lang.c
Titolo: Macro lunghe

[programmazione embedded]
Salve, ho la necessità di trasformare alcune funzioni in macro.. (da
chiamare sotto interrupt).
La funzione attualmente è lunga, non ci sta in una riga!
La devo scrivere in questo modo:
 #define SWAP(tipo,x,y)        \
    {                           \
      tipo t;                   \
      t=(x);                    \
      (x)=(y);                  \
      (y)=t;                    \
    }
Ci sono dei limiti nella lunghezza della macro?


Il linguaggio non prevede limiti, ma potrebbe averli 
l'implementazione.  In ogni caso ti suggerisco di modificare la macro:
#define SWAP(tipo,x,y) \
do {                   \
   tipo t;              \
   t=(x);               \
   (x)=(y);             \
   (y)=t;               \
} while (0)
Funzionalmente non cambia ma permette di scrivere nel codice:
SWAP(int, a, b);  (con la virgola come se fosse una funzione.
Rende il codice più leggibie e non crea problemi se lo devi inserire 
in un costrutto if (..)/else
Ciao
Giovanni
-- 
   A computer is like an air conditioner,
   it stops working when you open Windows.
   < 
http://giovanni.homelinux.net/
 >

> > ...
Grazie!
Ne approfitto per chiedere altre cose:
1) I commenti come vanno inseriti nella macro?
    In particolare, se su una linea ci sono solo commenti, il
compilatore mi da errori.
2) Posso usare all'interno della macro variabili globali?
Avete un link da consigliarmi, una lettura .. per informarmi meglio
sulle macro? I vari manuali di C che ho a disposizione ne accennano
appena.

 ne accennano appena.
Ciao

Newsgroup: it.comp.lang.c
Titolo: Macro per inline assembler





Salve a tutti. Sto scrivendo una macro per 



una routine inline assembler. 


 


#define 
GEN___Load16FloatsToMatrix(_mpTypeFunc_,_mpTag_,_mpNrMatrix_)           
\
                                                                                  
\
                                                                                  
\
    _mpTypeFunc_ void 
_mpTag_##Load16FloatsToMatrix_m##_mpNrMatrix_ (float *Data) 
\
    
{                                                                             
\
    __asm__ volatile 
(                                                            
\
       "lv.s   S##_mpNrMatrix_##00, 
%0\n"     /* Provvedi a caricare usando il parametro 0 
*/    \
       "addiu $4, $4, 
4\n"                    
/* Il parametro 0 è un alias per il registro MIPS 4: incrementa il puntatore */ 
\
       "lv.s   S##_mpNrMatrix_##10, 
%0\n"     \
       "addiu 
$4, $4, 4\n"     \
       
"lv.s   S##_mpNrMatrix_##20, %0\n"     
\
       "addiu $4, $4, 
4\n"     \
       
"lv.s   S##_mpNrMatrix_##30, %0\n"     
\
       "addiu $4, $4, 
4\n"     
\
                               
\
       "lv.s   S##_mpNrMatrix_##01, 
%0\n"     \
       "addiu 
$4, $4, 4\n"     \
       
"lv.s   S##_mpNrMatrix_##11, %0\n"     
\
       "addiu $4, $4, 
4\n"     \
       
"lv.s   S##_mpNrMatrix_##21, %0\n"     
\
       "addiu $4, $4, 
4\n"     \
       
"lv.s   S##_mpNrMatrix_##31, %0\n"     
\
       "addiu $4, $4, 
4\n"     
\
                               
\
       "lv.s   S##_mpNrMatrix_##02, 
%0\n"     \
       "addiu 
$4, $4, 4\n"     \
       
"lv.s   S##_mpNrMatrix_##12, %0\n"     
\
       "addiu $4, $4, 
4\n"     \
       
"lv.s   S##_mpNrMatrix_##22, %0\n"     
\
       "addiu $4, $4, 
4\n"     \
       
"lv.s   S##_mpNrMatrix_##32, %0\n"     
\
       "addiu $4, $4, 
4\n"     
\
                               
\
       "lv.s   S##_mpNrMatrix_##03, 
%0\n"     \
       "addiu 
$4, $4, 4\n"     \
       
"lv.s   S##_mpNrMatrix_##13, %0\n"     
\
       "addiu $4, $4, 
4\n"     \
       
"lv.s   S##_mpNrMatrix_##23, %0\n"     
\
       "addiu $4, $4, 
4\n"     \
       
"lv.s   S##_mpNrMatrix_##33, %0\n"     
\
       "addiu $4, $4, 
4\n"     \     

                               
\
       : 
"+m"(*Data));         
\
                               
\
       
return;                 
\
}


 


// End macro


 


GEN___Load16FloatsToMatrix(, ndHEL_XFPU, 0) 



 


 


Non funziona. E non capisco perchè. Il 
preprocessore non riesce


a trasformare


 


lv.s   S##_mpNrMatrix_##00, 
%0\n


 


in


 




lv.s   S000, %0\n


 


 


Perchè ?


 


 



 Perchč ?
La sparo: non č che sono i doppi apici nella sezione asm a 
causare problemi?
Ciao.
Newsgroup: it.comp.lang.c
Titolo: Compilatore C per 68000/68020 e derivati

Esiste un compilatore (free) magari IDE su ambiente WinXX/Linux per i micro
in oggetto ?
In rete ho trovato il cc68k (con source) ma lo sconsigliano.
Grazie
Luigi
--
Remove XYZ to reply by mail


il gcc puo' essere configurato come cross-compilatore ( preferibilmente
sotto linux )
il cc68k e' una buona alternativa anche se pero' non e' un compilatore
ANSI

 In rete ho trovato il cc68k (con source) ma lo sconsigliano.
 Un' alternativa puo' essere quella di installare l'emulatore
 WinUAE/UAE del computer Amiga per Windows/Linux
 e attingere a piene mani sul sito ftp Aminet dove si
 trovano compilatori C free per le CPU motorola.

Newsgroup: it.comp.lang.c
Titolo: Informazioni

Si puo'installare linguaggio C pur avendo il sist.op Windows98?

 Si puo'installare linguaggio C pur avendo il sist.op Windows98?
assolutamente no! W98 e' solo per i giochi!
:)
scherzo, certo che si puo'

non mi crea problema per il sistema operativo win98?

 non mi crea problema per il sistema operativo win98?
Perchè dovrebbe crearne?
In ogni caso, il linguaggio C non si installa, caso mai si installa il
compilatore. Forse tu intendevi dire che hai un compilatore sotto Dos ( tipo
il Turbo C, forse ) ed hai paura di fare casini?
Ciao,
Cecco

 ma io tolgo il tc++ ed installo il c giusto?
ciao

 ciao
no puoi installare entrambi. non avrai nessun problema.
Newsgroup: it.comp.lang.c
Titolo: debug vs release

Ciao.
Qualcuno di voi può darmi una spiegazione delle differenze tra
compilazione in "debug" (messa a punto) e compilazione in
"release" (rilascio) in Microsoft Visual C++ ? Alternativamente,
potreste indicarmi un qualche utile link internet in cui poter leggere
la differenza tra questi due modi differenti di compilazione?
In particolare ho notato che quando compilo in release, posso comunque
andare in debug, mettendo vari punti di breakpoint ed andando ad
ispezionare il valore assunto dalle variabili locali che reputo essere
interessanti. Ciò mi sembra strano, perché se compilo in release non
potrei andare in debug ! Come vedete ho le idee un po' confuse,
pertanto vi chiedo di chiarirmi in particolare quest'ultimo punto.
Grazie, Andrew

 "release" (rilascio) in Microsoft Visual C++ ? 
Le due versione ("debug" e "release") differiscono essenzialmente nella 
quantità di informazioni che vengono inserite nell'eseguibile e nelle 
ottimizzazioni sul codice.
Il tutto è "pilotato" delle opzioni del compilatore e dalle librerie che 
vengono linkate. Per i dettagli sul VC++ dovresti guardare quali sono i 
parametri settati nelle due versioni e leggerti la documentazione relativa.
Non ho il VC7 ma se non ricordo male in VS2005 bastava andare nelle 
proprietà del progetto per vedere tutte le opzioni di compilazione (e 
link) selezionate nelle diverse configurazioni.
Per farti qualche esempio delle differenze:
  - nella versione debug vengono inserite tutte le informazioni sui 
simboli tipo l'associazione tra i nomi delle funzioni ed il loro 
indirizzo. Nella versione release i nomi dei simboli sono normalmente 
eliminati (occupano spazio inutile nell'esguibile).
  - spesso la versione debug viene linkata con una libreria di runtime 
che fa dei controlli in piu sulla gestione della memoria (e quindi è 
piu' lenta).
  - La versione debug tipicamente non è ottimizata
 > mi sembra strano, perché se compilo in release non
 > potrei andare in debug !
Normalmente puoi fare il debug di una versione "release" completamente 
ottimizzata solo in assembler, proprio perche' tutti i riferimenti al 
codice sorgente vengono eliminati. Se, invece, ci riesci puo' darsi che 
nel tuo progetto la versione "Release" non elimini i simboli 
dall'eseguibile.
R.D

 codice sorgente vengono eliminati.
Scusa ma se vengono eliminati tutti i riferimenti al sorgente come è
possibile effettuare il debug di una release?


 possibile effettuare il debug di una release?
Lo fai in assembler. O, meglio ancora, *non* lo fai proprio perche' 
capire cosa sta succedendo in un programma guardando il codice assembler 
è il modo piu' complicato di fare un debug!
Cosa accada realmente quando compili la versione "Release" in VC, 
dipende da come è impostato il progetto. Devi andare a vedere le 
impostazioni del progetto (i vari switch che vengono passati al 
compilatore ed al linker) per capire che tipo di ottimizzazioni vengono 
fatte sull'eseguibile e che tipo di informazioni vengono preservate.
R.D.
Newsgroup: it.comp.lang.c
Titolo: [OT] 3210.com RIDIAMOCI SOPRA

 ascolta.....

ascolta.....
Prima di andare affanculo ci vorresti spiegare perché avresti fatto
questo cazzo di crosspost su ben 3 newsgroup(fra cui anche
it.comp.lang.c e it.comp.os.dibattiti)che non c'entrano un tubo con le
tue coglionate?
Pirla!!!
Il Ghenio
WINWORD.EXE - ERRORE DI APPLICAZIONE
l'istruzione a "0x3017ff27"ha fatto riferimento alla
memoria a "0x02a3143c".La memoria non poteva essere 'read'.


togli ELIMINAMI per potermi rispondere in email

 wrote in message
ri9hdtcubjn78rm3v...@4ax.com...


Newsgroup: it.comp.lang.c
Titolo: Visual Basic

Scusatemi, mi sapreste dire dove posso scaricare Visual Basic 6?
Grazie e ciao a tutti

 Grazie e ciao a tutti
A) Visual Basic non lo trovi liberamente in Rete, ha un suo costo di
acquisto.
B) Per ogni questione che riguarda il Visual Basic potresti rivolgerti
direttamente al NG  it.comp.lang.visual-basic
Ciao, Giuseppe

 6?
 
http://www.microsoft.com/charity/vb6.zip
	Alla prossima,
		Marco

Newsgroup: it.comp.lang.c
Titolo: Sorgenti di simil-tetris

Salve ragazzi..
Sto cercando dei sorgenti del giochino tetris... Una cosa abbastanza
semplice... Niente di spettacolarmente grafico... Devo studiarci un po'
su e volevo una base di partenza...
Ringrazio in anticipo per i consigli.
Quasar..
Togliere OKKIO per rispondere in email.

Sto cercando dei sorgenti del giochino tetris...
Ti rispondo in e-mail.
ciao


Ehm, se non e' troppo disturbo, li mandi anche a me? Grazie.
-- 
 Ciao, Luca.
 Reply to 
luca....@tiscalinet.it

 Ti rispondo in e-mail.
Ne hai anche per me?
--
Alessandro Monti

li mandi anche a me? 
ok

Ne hai anche per me?
fatto.


Arrivati, grazie 1000.


Ciao,
mi accodo ad Alessandro e agli altri.
Me li puoi postare? Grazie.
Igor Rossetti


posso aggiungermi alla lista??
-- 
Emanuele Cesena                 
http://www.penguinpowered.com/~ecesena
ece...@penguinpowered.com
                 Attenti all'antispam NOSPAM
Terzo Principio della Dinamica Sociologica:
	Ogni tua azione provoca in lei una repulsione uguale e contraria.


A questo punto li vorrei anch'io se possibile ;)

 Ehm, se non e' troppo disturbo, li mandi anche a me? Grazie.


(
http://www.programmazione.it
 )
Non sono programmi miei quindi non sta a me decidere.
ciao

 Ti rispondo in e-mail.
E a me che fai non li' mandi ??? ;P   ^_-
Newsgroup: it.comp.lang.c
Titolo: malloc free

Se io alloco memoria in una funzione per un ptr a char che  viene poi
restituito, quand'è che bisogna deallocarla con free questa memoria ?
Dopo la chiamata della stessa funzione all'interno di main?
oppure prima?
Es:
char *parser()
{
    char *str;
    str= (char *) malloc(sizeof(char)*512);
    ..............
    .........
    .....
    free(str);  <------------------ ???????????????????
    return str;
}
void main()
{
    printf( "%s", parser() );
    free(str);  <------------------ ???????????????????
}
Grazie per l'attenzione.

oppure prima?
La liberi quando non ti serve piu' e una sola volta .

 ha scritto nel messaggio
news:3b500c90...@news.inwind.it...


E' giusto?
Si.
Ovviamente una volta che hai rilasciato la memoria non puoi piu' usare
ptr .

 wrote in message
B3S37.3897$m06.1...@news.infostrada.it...


Se io alloco memoria in una funzione per un ptr a char che  viene poi

In questo caso, e' valida la free() all'interno di main, quella in
parser va' tolta.
ciao, acc.   
a...@libero.it

 ha scritto nel messaggio
news:3b50a50b...@news.inwind.it...


Newsgroup: it.comp.lang.c
Titolo: un buon manuale C

Salve a tutti, sono nuovo del gruppo e vorrei sapere se avete da consigliarmi
un buon manuale di C. Io ho "Programmare in C" di Aitken edito da Apogeo e mi
sembra fatto bene, almeno per avere una conoscenza di base. Esiste qualche 
testo anche in inglese un po' piu' avanzato ?
Grazie in anticipo,
Marco
 

you wrote:

Kernighan & Ritchie "Il linguaggio C" seconda edizione.
Gli autori sono bravini ;)
--
Andrea Laforgia (
andrea_...@bigfoot.com
)
---------------------------------------------
#exclude <windows.h>


ho usato anch'io il libro dell'apogeo (e mi sono trovato molto bene) e
devo
dirti che il libro di Kernighan & Ritchie non va oltre quello che spiega
Aitken ...
per quanto riguarda la programmazione avanzata, a quanto ne so (cioe'
dopo
mesi di ricerca) non ci sono testi in italiano ....
per i testi in inglese ti conviene visitare i siti tipo 
www.amazon.com
 e
simili ....
il problema e' che. non potendoci dare uno sguardo, puoi comprare una
cosa
che non ti serve ....
se vuoi un consiglio spassionato, fai come ho fatto io ....
inquadra un'argomento avanzato alla volta (liste, alberi, ncurses,
socket, fork ...)
e cerca la relativa documentazione sui vari siti internet con qualche
mototre di 
ricerca...
per quanto riguarda i socket, ti posso consigliare di visitare i siti:
www.ecst.csuchico.edu/~beej/guide/
 e di scaricarti net e ipc ....
e poi su
www.ibrado.com
 ti puoi scaricare le sock-faq
io adesso ho iniziato con le socket, e ti assicuro che c'e' molto da
ingripparsi ..
spero di esserti stato utile ...
ciao ciao
-- 
Antonio barbone ......
Outside of a dog, a book is man's best friend.
Inside of a dog, it's too dark to read.
		-- Groucho Marx