mii-community/UsenetArchiveIT-conversations huggingface dataset:
Newsgroup: it.comp.lang.c
Titolo: [djgpp] Vesa200 e linear buffer.. per ESPERTI

Ciao ragazzi vengo al punto.. perchč lanciando i miei eseguibili da RHIDE il
frame buffer lineare viene trovato? mentre da w98 no?
Cioč da W98 non mi setta neanche la 640vesa da RHIDE funzia tutto ...
specifico che ho una skeda compatibile con la vesa3
č una voodoo3..
mi sapete aiutare???
Grazie vekki
--
--
@|_v_S_o_| on #tgm
vins78...@freemail.it
3 anelli ai re degli elfi, sotto il cielo che risplende
7 ai principi dei nani, nelle lor rocche di pietra
9 agli uomini mortali, che la triste morte attende
[...]

 vesa3 č una voodoo3.. mi sapete aiutare???
  Non vorrai mica convincere Windows a modificare la modalita` video che
adopera usando l'interrupt 10h, spero... ;)
	Alla prossima,
		Marco

Newsgroup: it.comp.lang.c
Titolo: Librerie statistica

Mi hanno detto dell'esistenza di librerie C freware (create forse
dall'IEEE) riguardanti la statistica.
Qualcuno mi puo` aiutare?
Grazie.
-- 
E-Mail 
rc37...@silab.dsi.unimi.it
Roberto Corda, detto anche Coso

all'indirizzo qui sotto
http://math.nist.gov/gams/
puoi trovare una guida alle librerie matematiche disponibili.
http://www.netlib.org/
 e' un altro indirizzo interessante per le
librerie matematiche.
http://SAL.KachinaTech.COM/B/1/
  e' invece un sito con l'elenco di
librerie scientifiche disponibili per linux ed unix (ma non solo).
In uno di questi posti troverai sicuramente cio' che ti serve.
Roberto Corda ha scritto:

--
***************************************************
*                                                 *
**               Mauro Ujetto                    **
*                                                 *
***************************************************
*                                                 *
*            Synarea Consultants                  *
*              C.so Tortona 17                    *
*                10153 Torino                     *
*                                                 *
*             Tel: +39-11-8392.366                *
*             fax: +39-11-837.802                 *
*          E-mail: 
mauro....@eurix.it
          *
*
*                                                 *
***************************************************
Newsgroup: it.comp.lang.c
Titolo: [?] lettura/scrittura file binario

Ciao a tutti,
ho scritto 2 prg: uno che fa dei conti e li registra su file binario e
l'altro che contemporaneamente lo legge x visualizzarli, con un ciclo che
durante gli stati di attesa controlla se sono state aggiunte informazioni.
Non ho inserito controlli particolari: uno lo apre x scrittura e il secondo
controlla solo che esista prima di aprirlo x lettura. Ci saranno problemi o
la gestione della lettura/scrittura contemporanea sullo stesso file e'
automatica?
Edoardo


premetto che il primo programma e' prog 1 e la'ltro e' prog 2
se un file e' aperto in scrittura da un programma, solo quello potra'
usarlo, a tutti gli altri verrà negato l'accesso, che potranno farlo
solo dopo che il primo programma ha finito di scrivere. Se si parla di
lettura, più programmi possono accedere ad un file.
Se vuoi che i due prog girino nello steso momento, devi usare un
controllo il prog 1 non stia scrivendo e permettere a prog 2 di leggere
(programmazione multithread), oppure fare che prog 2 tenti di aprire il
file fino a che non abbia i permessi per farlo, ma in questo modo se
prog 2 ha accesso "r" al file, prog 1 non avra' accesso "w"...
-- 
Ciao, gengisdave
http://digilander.iol.it/gengisdave

 --
I prg li ho gia' scritti e funzionano. I files binari sono effettivamente
apribili/leggibili/scrivibili contemporaneamente da prg diversi. Volevo solo
sapere se sfruttando questa proprieta' senza accorgimenti posso andare
incontro a problemi.
Edoardo


In base alla mia poca teoria, ed esprimendomi pienamente in C:
tu puoi caricare un file su tutti i buffer che vuoi, ma quando chiudi e
chiedi di salvare su file un buffer, il programma deve avere accesso
esclusivo sul file, altrimenti non ho idea di cosa possa succedere.
Oppure un buffer aperto in scrittura deve sempre avere accesso esculsivo
sul file.
Io credevo fosse la seconda possibilità, ma evidentemente è vera la
prima, oppure mi sbaglio del tutto e non ci ho capito niente...

Newsgroup: it.comp.lang.c
Titolo: programmazione windows

salve, ho iniziato da poco a studiare il linguaggio c, e accortomi
della sua incredibile potenza e flessibilità, volevo realizzare
un'applicazione (con lo scopo di approfondire l'argomento) che
comprendesse una interfaccia grafica. ora il mio problema è questo:
visto che il linguaggio non supporta la programmazione ad oggetti
(correggetemi se sbaglio) e visto che non voglio ancora passare al
linguaggio c++ prima di avere approfondito questo, come posso fare per
realizzare una interfaccia grafica con lo c? nel caso fosse possibile
tutto ciò, dove posso trovare documentazione adeguata per capire il
funzionamento e la gestione delle finestre?
ringrazio anticipatamente per l'attenzione concessami

 funzionamento e la gestione delle finestre?
Ovviamente e` possibile. Poiche' dall'oggetto del messaggio immagino
tu voglia programmare sotto Windows. La cosa, credo, migliore da fare
e` procurarti l'SDK (scaricabile dal sito Microsoft) e studiarti MFC.
Eventualmente puoi cercare documentazione online e sicuramente la
trovi.
Alternativamente, puoi procurarti le GTK dal sito 
http://www.gtk.org
e usare quelle, o tonnellate di altre librerie per interfacce grafiche
scaricabili liberamente da Internet. In questo caso, Google e` tuo
amico (io un po' meno, perche' non programmo sotto Windows).
Se invece con windows nell'oggetto intendi "finestre" e non il sistema
operativo, magari lavori sotto una qualche forma di Unix.
Escludendo le MFC, probabilmente potrai usare le stesse alternative
di Windows, a partire dalle GTK. Puoi ricorrere anche a Motif oppure
farti del male lavorando a basso livello con le XLib.
In ogni caso, ribadisco che la scelta e` molto vasta e il web e` una
fonte infinita di risorse.
Saluti,
Marco

 funzionamento e la gestione delle finestre?
http://msdn.microsoft.com
Per domande inerenti la programmazione sotto Windows rivolgiti a
it.comp.programmare.win32
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

ringrazio vivamete per le delucidazioni fornite, fonte di grande
aiuto;
vagliando le diverse possibilità da voi propostemi credo che darò
un'occhiata alle gtk visto che cmq avrei dovuto farlo per la
programmazione gui scon python, cercherò la documentazione on line....
Newsgroup: it.comp.lang.c
Titolo: Dove trovare la funzione radice quadrata ??

Sto facendo un programma in C in Linux (della Caldera), ma
anche se includo la libreria <math.h>, al momento del link (gcc -o file.c)
non mi trova la funzione radice quadrata sqrt() (l'errore e': undefined
reference to sqrt...).
Il makefile e':
file: file.o
        gcc -o file file.o  -L/usr/5lib/
file.o: file.c
        gcc -I /usr/include -c file.c
Ho controllato nella libreria math.h, e li' c'e' la definizione external di
sqrt(), ma non do dove sia implementata realmente.
Grazie per l'aiuto
         Pamela



math.h contiene i prototipi delle funzioni; devi linkare la libreria
matematica per avere le funzioni stesse incluse nel tuo programma.
gcc -o myprog myprog.c -lm
e RTFM.
-- 
Maurizio Loreti                      
http://wwwcdf.pd.infn.it/~loreti/mlo.html
Un. of Padova, Dept. of Physics - Padova, Italy          
lor...@padova.infn.it

Newsgroup: it.comp.lang.c
Titolo: Colore sfondo

Un programma a consolle su windows. Per dare un colore di sfondo, ho 
letto dei thread che parlavano della conio.h.
E' giusto? Perchè poi un'altro post diceva che con il C non è possibile 
colorare lo sfondo, però io ne ho visti di prog con lo sfondo o il testo 
colorato, com'è la situazione?
Grazie ciao

 proclamavitque:

l'ANSI C non prevede "colori".
Puoi sfruttare delle estensioni (ad esempio ncurses su *nix, conio su Windows,
le sequenze di colori per terminali ANSI), ma non ti aspettare che siano
portabili.
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

 wrote in message news:3E6F4C49...@hl.com...

Il c standard non penso che abbia queste frivolezze :D
Napolux

 Grazie ciao
se recuperi una qualsiasi versione di turbo c++ borland ci sono le funzioni
textcolor(COLORE), textbackground(COLORE) o piu semplicemente
textattr(ATTRIB).
Leggiti comunque l'help , del compilatore, è ben commentato anche con
esempi.
ciao a tutti
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it
Newsgroup: it.comp.lang.c
Titolo: gcc stupido ?

Salve ho provato a compilare un programma funzionante, semplicissimo, di 
poche righe, ed ottengo il seguente messaggio di errore
"/tmp/ccKQKCmd.o:(.eh_frame+0x12): undefined reference to 
`__gxx_personality_v0'
collect2: ld returned 1 exit status
"
alla fine scopro che avevo scritto l'estensione finale (.c) in lettera 
maiuscola (.C) 
E' normale ricevere questo errore ?
-- 
http://www.000webhost.com/92681.html

 E' normale ricevere questo errore ?
E' normale sì, ti sei mai chiesto perché in un sorgente scrivere
int main () {
sia valido mentre scrivere
Int Main () {
non lo sia?
-- 
God is real, unless if declared integer.
Powered by Debian GNU/Linux

Ezechiele ha scritto:

Dipende dal fatto che il compilatore ha dei settaggi di default diversi 
a seconda dell'estensione del file che vai a compilare. In particolare 
l'estensione .C viene interpretata come codice C++ invece che C.
E.

 non lo sia?
Io non sto parlando di errori di compilazione del codice sorgente. Lo so 
che in C si fa differenza tra lettere maiuscole e lettere minuscole. 
Francesco


Ma sto povero compilatore come fa a sapere che un file è da
interpretare in c o in ada o in eiffel? Già vi fa un favore guardando
l'estensione del file, così da risparmiarvi uno switch sulla riga di
comando (-x language)...

 che in C si fa differenza tra lettere maiuscole e lettere minuscole.
ora sappi che fa differenza anche nel nome del file :)
-- 
By ZeD



Però è molto strano, perché il programma viene compilato correttamente 
con code-blocks.
-- 
http://www.000webhost.com/92681.html


Non e' strano.
Il compilatore ha compilato correttamente consideranto il sorgente
come codice C++.
Il linker (ld) non era informato della cosa quindi non e` riuscito a
trovare il "simbolo" C++ (quello che inizia con __gxx).
Questo capita perche` il compilatore C++ "abbellisce" i simboli per
consentire alle "funzioni" di avere diverse "signature".
Il linker non era informato di questo e quindi non vuole gli
"abbellimenti", ecco perche` non trova il simbolo (undefined
reference).
Non confodere gli errori di compilazione con gli errori di linker.
Ciao,
Cesare



Grazie per le spiegazioni. Certo che ho ancora molto da apprendere con 
questo linguaggio.
-- 
Register here: 
http://www.000webhost.com/92681.html
*** 1500 MB of disk space
*** 100 GB of data transfer
*** PHP and MySQL support with no restrictions
*** cPanel control panel
*** Website Builder
Newsgroup: it.comp.lang.c
Titolo: stampa con stdprn

Ciao a tutti. Essendo alla prime armi mi sono cimentato con un programma che
stampa con stdprn il contenuto di un file una riga per volta. Come devo fare
per stampare, invece, 55 righe per volta? Quali modifiche devo apportare al
seguente listato? Grazie
/*************************************/
/* Stampa un file 1 riga per volta */
/*************************************/
#include <stdio.h>
#include <stdlib.h>
#define BUFSIZE 100
int main()
{
FILE *fp;
char filename[80];
char buf[BUFSIZE];
 puts("\n\nInserisci il nome del file da stampare");
 gets(filename);
 if((fp=fopen(filename,"r"))==NULL)
  fprintf(stderr,"Errore di apertura file\n");
 else
  puts("File aperto con successo");
 while(!feof(fp))
 {
  fgets(buf,BUFSIZE,fp);
  fprintf(stdprn,"%s",buf);
 }
return 0;
}

 #include <stdio.h>
 #include <stdlib.h>
 # include <conio.h>
 #define BUFSIZE 100
 int main()
 {
 FILE *fp;
 char filename[80];
 char buf[BUFSIZE];
 int i;
  puts("\n\nInserisci il nome del file da stampare");
  gets(filename);
  if((fp=fopen(filename,"r"))==NULL)
   fprintf(stderr,"Errore di apertura file\n");
  else
   puts("File aperto con successo");
  while(!feof(fp))
  {
   for (i=0;(fgets(buf,BUFSIZE,fp)!=NULL)&&(i<55);i++)
      fprintf(stdout,"%s",buf);
      getch();
  }
 return 0;
 }
Ho stampato a video perchč non avevo voglia di accendere la stampante...perň
funzia ^_^ basta solo cambiare l'out nell' fprintf().
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: Questa sintassi mi è nuova...

Cari amici...
questa per me č nuova!
while (count>0) count--, stringa++;
nei manuali che ho non esiste nessuna spiegazione di questa strana forma
e ho qualche dubbio in proposito,
a cosa equivale?
grazie :)
Davide
(p.s. il C non finisce mai di stupirmi...)

 wrote in message
3BAx8.5487$W9.1...@twister2.libero.it...


> while (count>0) count--, stringa++;
Semplicemente, hanno voluto evitare di mettere le graffe: le due istruzioni
formano una sola espressione.

 formano una sola espressione.
grazie,
ma cosa vuol dire un'espressione sola? non sono due??
non ho ancora capito:
viene eseguita ogni singola espressione, oppure
viene eseguita solo l'ultima?
boh...
Saluti
Davide

mi hai spiegato tutto  tranne quello che ti avevo chiesto ;)
come al solito..., quelli che vogliono spiegare bene...
Non ho trovato ancora trovato una spiegazione utile sull'operatore virgola 
fra gli statement dopo il WHILE, 
boh...
Grazie comunque.
Saluti
Davide

viene eseguita solo l'ultima?
Entrambe.
-- 
Marco Barisione (ICQ 84277092)

:

Viene considerata 1 unica espressione (infatti non serve
parentetizzare perche' venga considerato come dorpo del while).
Questa unica espressione pero' ha 2 effetti, diminuire cont e
incrementare stringa.
Contemporaneamente il tipo e il valore del risultato sara quello
dell'espressione piu' a destra (la virgola e' associativa da sinistra
a destra).
Quindi se scrivi
int a = 10, 20, 30, 40;
Lui analizza la parte destra: "10, 20, 30, 40".
Li valuta da sinistra a destra, quindi:
10 ---> 20 ---> 30 ---> 40.
Assegna l'ultimo valore alla a, quindi a = 40.
Ovviamente ogni espressione puo' avere un side effect, che viene
attuato appena l'espressione viene valutata.
Nel caso dell'espressione da te indicata il valore finale
dell'espressione viene ignorato, pero' ogni sottoespressione ha un
side effect (rispetticamente un decremento e un incremento di alcune
variabili).
-- 
Mox
"Trust the programmer."
"Don't prevent the programmer from doing what needs to be done."
"Keep the language small and simple."
"Provide only one way to do an operation."

 wrote in message
vOOz8.39482$W9.9...@twister2.libero.it...


fiuuuuu....
finalmente HO CAPITO. :)
grazie a tutti quelli che mi hanno risposto.
il problema era che non avevo ancora ben chiaro il concetto 
di assegnazione multipla.
Grazie,
Saluti
Davide
Newsgroup: it.comp.lang.c
Titolo: stack

volevo fare i miei primi "esperimenti" con gli stack..
ma il programma nn funzia, non riesco a capire se il problema è nelle
funzioni di gestione dello stack oppure nel main.. potete darmi una mano?
ecco il codice, semplicissimo immagino per voi.
#include<stdio.h>
#include<stdlib.h>
#define DEEPSTACK 1000
#define INITSTACK -1
#define EMPTY(a) ((a)->pos==-1)
#define FULL(a)  ((a)->pos>=DEEPSTACK-1)
typedef struct {
        char elem[DEEPSTACK];
        int pos;
}STACK;
int initstack(STACK *);
int push(STACK *, int);
int pop(STACK *);
int initstack(STACK *pila)
{
 if(pila=(STACK *) malloc(sizeof(STACK)))
 {
  pila->pos=INITSTACK;
  return 1;
  }
  return 0;
}
int push(STACK *pila, int elem)
{
 if(FULL(pila))
 {
  printf("\nErrore: pila piena\n");
  return 0;
  }
  pila->pos++;
  pila->elem[pila->pos]=elem;
  return 1;
}
int pop(STACK *pila)
{
 if(EMPTY(pila))
 {
  printf("\nErrore, pila vuota\n");
  return 0;
  }
  return pila->elem[pila->pos--];
}
main()
{
STACK *pila;
int elemento_da_inserire=0;
if(initstack(pila))
printf("\nInserisci un elemento\n");
scanf("%d", &elemento_da_inserire);
while(elemento_da_inserire>=0)
 {
 push(pila,elemento_da_inserire);
 scanf("%d", &elemento_da_inserire);
 }
while(pila->pos!=-1)
 {
 printf("%d", pop(pila));
 }
return;
}

 }
L'errore stà quì: quando passi un puntatore ad una funzione, questa si crea
una variabile temporanea che punta allo stesso indirizzo a cui punta il
puntatore passato (scusa il gioco di parole;-). Nella funzione allochi
memoria e la assegni al puntatore temporaneo, non a quello passato, per cui
hai segfault e memory leak tutto in una volta. Per risolvere o fai ritornare
dalla funzione la memoria allocata, e la assegni al puntatore che vuoi
inizializzare (tornando NULL in caso di errore), oppure passi alla funzione
uno STACK **pila, sostituendo nel codice (*pila) dove hai usato pila, e poi
quando richiami la funzione passi un &pila, se pila è di tipo STACK*.
Ciao,
Cecco

 memoria e la assegni al puntatore temporaneo
quindi le funzioni fanno qualcosa del genere se ho ben capito:
int initstack(STACK *puntatore_passato)
 {
   STACK *puntatore_interno=*puntatore_passato;
  if(puntatore_interno=(STACK *) malloc(sizeof(STACK)))
  {
   puntarore_interno->pos=INITSTACK;
   return 1;
   }
   return 0;
}
giusto..?
mentre nel caso del  **.. come fa?
t ringrazio, ciao!

 t ringrazio, ciao!
Vale la stessa regola: nella funzione viene creato un ** che contiene la
variabile passata, ovvero l'indirizzo del puntatore: quando dentro la
funzione allochi memoria e la assegni al contenuto del **, in pratica
modifichi l'indirizzo a cui punta il puntatore passato:
int a = 0, b = 3, *ptr = a, **dbl_ptr = &ptr;    // ptr punta ad a, dbl_ptr
punta a ptr, cioè *dbl_ptr == ptr
*dbl_ptr = &b;     // in questo modo fai puntare ptr a b
In codice scritto inline ha poco senso usare un doppio puntatore, in quanto
sarebbe stato più pratico fare semplicemente ptr = &b, ma se vuoi modificare
il valore di un puntatore da una funzione devi necessariamente passare un
**.
Ciao,
Cecco
Newsgroup: it.comp.lang.c
Titolo: lanciare un eseguibile di windows

Con quale funzione in C posso far partire un'applicazione (.exe) di windows
?
Grazie a tutti!
AT

 ?
Tramite la funzione system, il cui prototipo sta in <stdlib.h>.

Newsgroup: it.comp.lang.c
Titolo: Esistono delle FAQ?...AIUTO

Vorrei cominciare a programmare qualcosa, e quindi ho bisogno di
FAQ.....avete qualche URL...magari in italiano?...o qualche
libro?...qualcuno mi può spiegare le differenza principali e i
vantaggi/svantaggi del vari linguaggi?.....C, C++, visual basic etc etc?
Grazie!
Teo

vantaggi/svantaggi del vari linguaggi?.....C, C++, visual basic etc etc?
piů che faq ti servono manuali...
visual basic č buono solo per creare front end utente.
per qualsiasi altro tipo di esigenza il C regna

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

Salve. Mettiamo che io debba creare un giochetto stupido come il tennis
Abbiamo a, b che sono le racchette e c , la pallina.
Ok, ma quali include# devo interpellare per il movimento delle racchette e
della pallina?

della pallina?
#include "tennis.h"
Attento al fatto che "tennis.h" non e' un header standard.
--
Andrea Laforgia (ICQ 87230455)

Attento al fatto che "tennis.h" non e' un header standard.
E inoltre c'è un inconveniente: Sampras non è registrato fra i tennisti!!!
Una curiosità: perché non fai domande un po' più normali?
Domenico Barra

 Attento al fatto che "tennis.h" non e' un header standard.
ROTFL
--
 Ciao, Bianco.
 Reply to 
luca....@tiscalinet.it

Newsgroup: it.comp.lang.c
Titolo: HELP: file binari

salve a tutti,
ho un problema con questa funzione. Creo un file binario e inserisco x
elementi random. Quando chiamo la funzione per la lettura del file, se i
valori inseriti in precedenza sono in numero basso, stampa tutti gli
elementi, ma se i valori nel file superano una certa quantita', ecco che a
video non vengono stampati tutti gli elementi.
Es: ho inserito 1500 valori e me ne stampa sempre e soltanto 49:
Dove sbaglio?
void makebin(char *filename, int x)
{
FILE *f;
int i, n;
if((f=fopen(filename, "w"))==NULL)
    {
    printf("Errore Creazione file binario\n");
    return;
    }
for(i=0; i<x; i++)
    {
    n = rand();
    if(fwrite(&n, sizeof(int), 1, f))
        printf("Elemento inserito: %d\n", n);
    }
fclose(f);
}
void readbin(char *filename)
{
FILE *f;
int x, i=0;
if((f=fopen(filename, "r")) == NULL)
    {
    printf("Errore lettura file binario\n");
    return;
    }
while(fread(&x, sizeof(int), 1, f))
    {
    printf("%d  ", x);
    i++;
    }
fclose(f);
printf("\nElementi letti da file: %d", i);
}
Grazie
Luca

if((f=fopen(filename, "r")) == NULL)
Devi usare "wb" ed "rb".
-- 
Andrea Laforgia - walkietalkie(at)
libero.it

 if((f=fopen(filename, "r")) == NULL)
Devi aprire specificando "rb"
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
La somma dell'intelligenza sulla terra e` una costante.
La popolazione e` in aumento.

Newsgroup: it.comp.lang.c
Titolo: C & ASM

Sto cercando un compilatore in grado di compilare oltre al C sorgenti
ASM per il motorola 68000.
Qualcuno sa indicarmi qualche cosa ?!?
grazie a tutti !!

 Qualcuno sa indicarmi qualche cosa ?!?
gcc
www.gnu.org
Newsgroup: it.comp.lang.c
Titolo: Socket - Port

Ciao,vorrei sapere se esiste una funzione che, in ambiente UNIX,  attraverso
il file descriptor di un socket mi restituisce il numero della porta
associata al socket stesso.
Grazie,ciao

 wrote in message
xZao4.97370$C3.10...@news.infostrada.it...

che sappia io non esiste, il file descriptor non ha niente a che vedere con
la porta, se ci fai caso infatti la porta e' impostata nella struttura
sockaddr, la funzione socket() non interagisce manco lontanamente con lei :)
(e poi la la socket() puo' essere usata anche senza porta)
ciao

 
Se la socket e' locale e passiva, lo sai gia' (lo hai passato alla
bind() nella struttura sockaddr); se e' remota attiva o passiva ti
basta chiamare sulla socket locale a cui e' collegata la
getpeername(); se invece e' locale e attiva, la porta viene assegnata
dal sistema automaticamente, non saprei, anche perche' non so quale
utilita' possa avere (?). Cmq puoi sempre fartelo mandare dal processo
che gestisce la socket passiva a cui si collega la tua socket attiva.
--
 Ciao, Luca.
 Reply to 
luca....@tiscalinet.it

      -- ITALY
Until I loved, life had no beauty;
I did not know I lived until I had loved. (Theodor Korner)

 	 2 al DSI di Milano).
Non parlarmi del progetto di architetture ;-), tre giorni prima della
scandenza per la consegna hanno cambiato le specifiche, affermando che
le faq che c'erano in rete erano "parte integrante del testo del
progetto"...


 progetto"...
Si, ma poi hanno ri-cambiato le carte in tavola .. non so se sei andato a
sentire gli orali .. 
-- 
 _   _ _ _
| | | (_) | ____ _ _ __ _   _  Marzia "Hikaru" Bellini	
| |_| | | |/ / _` | '__| | | | mailto: 
hikaru...@geocities.com
 
|  _  | |   < (_| | |  | |_| | 
http://www.geocities.com/Tokyo/Bay/9648
 
|_| |_|_|_|\_\__,_|_|   \__,_| Socia del MASSM, ISFC, RFC, VGAiFC.
"... Credo a quel tale che dice in giro che l'amore porta amore ..."   Ligabue

 sentire gli orali .. 
A dire il vero no, mi sono limitato a fare il mio; cmq non mi posso
lamentare: 12/12, non mi poteva andare meglio ;-)


Newsgroup: it.comp.lang.c
Titolo: Cast su malloc

In un precedente messaggio si diceva che non e' necessario eseguire cast sul
tipo ritornato da malloc, cosa confermata anche dal testo che utilizzo nello
studio del C.
Non riesco a capire perche' il compilatore Borland segnala:
Error E2034 e106.cpp 16: Cannot convert 'void *' to 'float *' in function
main()
Andrea.


Perché stai compilando in modalità C++. Questa è ormai una vera FAQ.
EMG

Newsgroup: it.comp.lang.c
Titolo: help linking

Dove posso trovare il programma linker?
Scrivetemi al mio indirizzo
grazie

 Dove posso trovare il programma linker?
Il "programma linker" è distribuito nel 99.9999% dei casi con il "programma
compilatore" per cui se hai un compilatore decente supporterà anche la fase
di linking. (Mi chiedo come faresti a creare un eseguibile altrimenti!)
Marco
--
Marco Coppo
University Of Sheffield
FAQ di it.comp.lang.c:
http://www.programmazione.it/linguaggi/c/itcomplangc.htm
Newsgroup: it.comp.lang.c
Titolo: Elevazione a potenza.

Ciao a tutti dovrei fare un porgramma che mi eleva a potenza un dato fisso
solo che non so qual è l' operatore.
Quindi la mia domanda è ...........
Qual ' è l' operatore?.....:-))
Grazie per l' eventuale  risposta.
Ciao.

 solo che non so qual è l' operatore.
Non ci sono operatori per l'elevamento a potenza in C. Esiste però la
funzione di libreria pow().
EMG

createla!
le funzioni qui di seguito funzionano solo per basi ed esponenti interi
int potenza(int n,int p){
  int k=1;
  int i;
  for(i=1;i<=p;i++){
    k=k*n
  }
  return(k);
}
se invece ti interessano anche le potenze negative :
double potenza(int n,int p){    /* n è la base, p è l'esponente */
  int k=1;
  int i;
  int s=0;
  if(p<0) {
    p=-p;
    s=1;
  }
  for(i=1;i<=p;i++){
    k=k*n
  }
  if(s=0) return((double)k);
  return((double)1/k);
}
ciao da giovanni

 ha scritto nel messaggio
news:wlv16.175307$hk4.6...@news.infostrada.it...

Grazie tante
Newsgroup: it.comp.lang.c
Titolo: metamorphic code

Salve,
qualcuno potrebbe darmi qualche informazione in generale, qualche
risorsa, il nome delle tecniche riguardanti i seguenti argomenti:
Metamorphic code
Oligomorphic code
Runtime code generation
Qualche libro in particolare ?
Grazie a tutti.

 qualcuno potrebbe darmi...
Si, Google!
Newsgroup: it.comp.lang.c
Titolo: parsing di un comando shell

Avrei bisogno di eseguire operazioni su un comando di shell,
dall'interno di un programma C
per esempio:
eseguo il comando ls -al (con system, fork o altro)
acquisisco le linee (non so come, in un array ?)
e le elaboro alla ricerca di un file di nome "pippo"
ecc...
Potreste darmi un pezzo di codice che fa una cosa simile per favore ?
TIA
-- H

 ecc...
Il metodo standard:
- crei un coppia di descrittori con pipe(2)
- fork(2)
- in un figlio chiudi lo stdout e con dup2 lo sostituisci allo stdout
- nello stesso figlio fai la exec(2) di ls
- nell'altro processo leggi dalla pipe
Spannometricamente:
pid_t pid;
int fds[2];
pipe(fds);
pid = fork();
if (!pid) {
        close(1);
        dup2(fds[1], 1);
        execlp("ls", "ls", "-al", NULL);
} else {
        char buf[128];
        while(1) {
                r = read(fds[0], buf, sizeof(buf) - 1);
                if (r <= 0)
                        break;
                buf[r] = '\0';
                ...
        }
        waitpid(pid, NULL, 0);
}
Ovviamente non compilato, non testato e senza controlli sugli errori ;)
Luca
-- 
Una donna sposa un uomo sperando che cambi, e lui non cambiera`. Un
uomo sposa una donna sperando che non cambi, e lei cambiera`.

 per favore ? TIA
No.

> dall'interno di un programma C
Luca,
sei veramente gentilissimo.
ecco la versione compilata e testata :-D
/*
Il metodo standard:
- crei un coppia di descrittori con pipe(2)
- fork(2)
- in un figlio chiudi lo stdout e con dup2 lo sostituisci allo stdout
- nello stesso figlio fai la exec(2) di ls
- nell'altro processo leggi dalla pipe
Spannometricamente:
*/
#include <signal.h>
#include <netinet/in.h>
#include <stdio.h>
#include <errno.h>
#include <sys/select.h>
#include <unistd.h>
main()
{
	pid_t pid;
	int fds[2];
	printf("Inizio\n");
	pipe(fds);
	pid = fork();
	if (!pid) {	/* figlio */
		close(1);
		dup2(fds[1], 1);
		printf("Lancio figlio\n") ;
		execlp("ls", "ls", "-al", NULL);
	}
	else {		/* padre */
		int r ;
		char buf[128];
		while(1) {
			r = read(fds[0], buf, sizeof(buf) - 1);
			if (r <= 0)
				break;
			buf[r] = '\0';
			printf("%s\n", buf) ;
		}
		waitpid(pid, NULL, 0);
	}
}
Newsgroup: it.comp.lang.c
Titolo: Disegnare una struttura gerarchica

Salve,
volevo sapere se qualcuno di voi puň risolvere il mio problema.
Devo disegnare una struttura gerarchica di una ditta. Attenzione: non devo
costruire una struttura gerarchica, per fare quello non ci vuole tanto,
utilizzo un'albero (modificato per supportare piů figli). Il problema č
trovare l'algoritmo che calcoli la X e la Y per ogni nodo.
Ok, con voi voglio essere sincero. La struttura la disegno in visual basic
con delle semplicissime Label. Il problema č proprio trovare la posizione
delle Label perchč ogni nodo puň avere n figli con n>=0.
Sono due giorni che sto cercando un algoritmo perň non ho cavato un ragno da
un buco.
AIUTO
Giangi

...


delle Label perchè ogni nodo può avere n figli con n>=0.
Se l'albero ha N livelli, da 0 a N-1, e ogni label vuoi mostrarla in
uno spazio alto cY pixel (contando anche la spaziatura che scegli
di dare fra label verticalmente adiacenti), allora la Y da usare per
un nodo di livello n (n fra 0 e N-1) puo` chiaramente essere
    n * cY + Y0
per una qualche Y0 iniziale e supponendo di mostrare nodi figli a
Y piu` alte del nodo padre (se no, (N-n)*cY + Y00).
Piu` interessanti le X.  Supponiamo che ogni label tu voglia
mostrarla in uno spazio largo cX pixel (contando anche la
spaziatura ecc).  Al livello piu` basso, puoi cominciare con
l'ipotesi di numerare tutti i nodi (necessariamente "foglie")
da 0 a nf-1 tenendo adiacenti numericamente i nodi fratelli,
e usare i * cX + X0 per i da 0 a nf-1.  Ogni nodo di penultimo
livello lo mostreresti dunque alla riga superiore, centrato
rispetto alla gamma di X coperta dai suoi figli; e cosi` pure,
iterativamente, ai livelli via via superiori.  Ma questo schema
puo` non funzionare se un nodo di livello k ha alcuni figli (a
livello k+1) che hanno a loro volta dei figli (di livello k+2), e
altri figli (k+1) che invece NON hanno piu` figli (sono foglie);
potrebbe mancare lo spazio!
Soluzione: garantisci che, ai fini dell'assegnazione di X,
le foglie siano tutte all'ultimo livello; per fare questo, assegna
un singolo "figlio fantasma" ad ogni nodo di livello non ultimo
che non abbia figli "veri" (compresi nodi fantasma di livello
superiore).  I nodi fantasma non li disegnerai, ma comunque
"consumeranno spazio" sul grafico.
Quindi, riassumendo:
    -- una passata sull'albero per garantire, inserendo
        figli-fantasma, che tutte le foglie siano a livello N (ultimo)
    -- una passata per numerare i nodi di ciascun livello
        garantendo l'adiacenza dei nodi fratelli (e cugini, ecc)
    -- disegnare dal basso verso l'alto (evitando accuratamente
        di disegnare i fantasmi!-): all'ultimo livello usare la semplice
        formula lineare suddetta, a ogni altro livello piazzare il
        nodo alla posizione orizzontale centrale dell'insieme dei
        suoi figli (insieme che e` stato garantito non-vuoto al
        primo di questi 3 punti)
Alex
Newsgroup: it.comp.lang.c
Titolo: Re: Output Inaspettato. . .

 sentenza. . . 
Perche' modificando *p_out all'interno di func(), tu stai modificando
il valore di p (ovvero stai accedendo a p per via indiretta tramite
p_mod).
HTH
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

p_mod).
si ma p e passato per valore alla funzione quindi i cambiamenti non
dovrebbero essere visibili all'esterno della funzione. . . o sbaglio?

...

Innanzitutto chiedo scuso se mi inserisco nella  discussione; lo
faccio solo sperando di dare il mio modestissimo contributo e sperando
di non scrivere corbellerie. Inoltre, essendo praticamente nuovo del
NG, ne approfitto per salutare tutti, essendomene dimenticato nel
primo post.
Dunque p_out è un puntatore a puntatore che nel tuo codice contiene
l'indirizzo della cella p, la quale a sua volta contiene l'indirizzo
del primo elemento dell'array. 
Scrivendo *p_out, in sostanza, è come se dicessi: "voglio accedere
alla
cella che ha l'indirizzo contenuto in p_out". E questa cella è appunto
p.
Con l'assegnazione *p_out= p vai dunque a modificare p, come è già
stato
detto da Angelo e nosf, forse meglio di me.
Eccoti un piccolo disegnino della situazione, dove 1000 è l'indirizzo
della prima cella dell'array e 2000 l'indirizzo della cella p:
 p_out                  p
[ 2000 ]  --->  2000 [ 1000 ] --->   1000 [  1  ]
                                     1004 [  2  ]
                                     1008 [  3  ]
 
Spero di esser stato abbastanza chiaro...
Ciao,
Andrea

Spero di esser stato abbastanza chiaro...
sei stato chiarissimo. . . grazie a tutti
Ado

 Spero di esser stato abbastanza chiaro...
Complimenti per l'ASCII art. :-)


 non sara' 2 1, ma 1 1.
Daccordissimo . Ma se vai a riguardare il mio post io ho scritto :
se elimini l'assegnazione p_mod=&p il risultato sarà 2 1 . 
Ed infatti è  così .
Forse sono stato troppo ermetico ma non mi sembra di aver scritto
corbellerie . 
Ciao a tutti.

 Ed infatti è  così.
A me continua a non risultare...


 cosa che hai con sicurezza matematica se inizializzi p_mod a NULL.
Il codice è lo stesso senza l'assegnazione.
Cmq hai perfettamente ragione , mi sono lasciato prendere dal fatto che
eseguendolo il risultato era quello , ma giustamente ho un'accesso alla
memoria sporco e questo certamente non è un buon modo di programmare .
Grazie Angelo per la tua insistenza , a volte è proprio vero che non c'è
peggior sordo di chi non vuol sentire , ed in questo caso io non volevo
sentire :)
Ciao 

 }
A prescindere dal fatto che non riesco capire a cosa possa servire questo
codice , il risultato che ottieni è quello che devi ottenere .
Quando func ritorna ti trovi che p punta al secondo elemento dell'array che
è 2 e p_mod  come prima quindi punta a p che ora punta a 2. 
Se elimini l'assegnazione p_mod=&p il risultato sarà 2 1.
Ciao
Newsgroup: it.comp.lang.c
Titolo: Aiutino!!!!!!

Salve a tutti!
Avete presente quando nel pascal, se abbiamo bisogno che il nostro output si
fermi finche noi non spingiamo invio usiamo
READLN;
e basta, in modo che tutto rimanga immobile fino a che non si prema invio?
Come posso fare in C ANSI in modo che l'output vada avanti ogni volta che io
spingo invio?
io ho provato ad aggirare facendo così fare
printf(" Spingi un tasto e premi invio");
scanf(" ");
Ma non mi funzia!!!!!!!!! CHI MI AIUTA?

Telnet wrote:

Dovrebbe bastare:
printf ("Premi invio per adare avanti");
getchar ();

 wrote in message
wzJB6.8259$s93.5...@news.infostrada.it...

#include <conio.h>
printf("Premi un tasto");
getch();
Ciao ciao :-)
estr...@libero.it
estr...@tiscalinet.it
http://web.tiscalinet.it/tempo_libero/index.html
<-- Qui trovi la traduzione delle funzioni di gestione Stream I/O per C

puoi utilizzare gets(char *) in alternativa.
oppure puoi ricorrere alle funzioni non standard implementate
in dos e in modalità console di windows kbhit() o getch()
ciao
cod

 wrote in message
9b9e2p$nt9$1...@lacerta.tiscalinet.it...


Newsgroup: it.comp.lang.c
Titolo: moltiplicazione di polinomi

Devo fare un procedura che moltiplica monomi e polinomi fra loro.
Es.:
( X1 + X2 ) ( X2 + X3 )= X1X2 + X1X3 + X2^2 + X2X3
... questo e' un esempio moolto semplice di quello che mi aspetta!
Qualche consiglio?
Non e' che per caso qualcuno ha gia' fatto qualcosa del genere?
Se possibile, evitate alberi e puntatori in genere...
Grazie!
lo Zio

... questo e' un esempio moolto semplice di quello che mi aspetta!
Potresti rappresentare ogni polinomio di grado N con un array di N elementi
(di tipo int o float, a seconda delle esigenze, ed eventualmente nulli). Per
la moltiplicazione dovrebbe bastare qualche ciclo for().
Saluti,
    Mardy

 Qualche consiglio?
  Un polinomio puo` essere rappresentato come un array di reali
contenente i coefficienti del polinomio stesso:
	P(x)= a_i x^i  <=>  double P={a_0, a_1, ..., a_N};
  In questo modo, qualsiasi operazione sullo spazio dei polinomi e`
immediatamente riconducibile ad un'operazione sui vettori.
	Alla prossima,
		Marco

 Qualche consiglio?


 (e' carnevale o no?)
  Una lampadina???
	Alla prossima,
		Marco

 Marco
aloha!
lo Zio

 lo Zio
Solo per caso abbiamo scelto lo stesso nik.
Ci sfidiamo a singolar tenzone? :-)
ciao

Newsgroup: it.comp.lang.c
Titolo: Aiuto DJGPP

AIUTOOOOOOOOOOO
QUalcono są dire ad un povero scemo com installare bene questo compilatore?
GRAZIE.

GRAZIE.
Che tipo di problemi hai ?
A me è bastato copiare i file dalla dir sul cd alla dir sull'hd, senza
effettuare un'installazione, sono già pronti e non compattati.
Ciao.

 GRAZIE.
--
*******************************************************
  "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: Soluzioni per consumare web service

Ciao,
mi è sorto il problema di dover chiamare
un web service da un applicativo scritto
interamente in c, a qualcuno e mai capitato?
Grazie
Luca
P.S. L'applicazione deve girare sia in ambiente
win32 che in linux.

 interamente in c, a qualcuno e mai capitato?
L'unica libreria multipiattaforma usabile da C che io conosca � gSOAP.
http://gsoap2.sourceforge.net/
Max

 Max
Grazie mille adesso studio un poco......
nel caso servisse ho trovato un'altra
libreria da studiare :
http://wso2.org/projects/wsf/c
Luca

Newsgroup: it.comp.lang.c
Titolo: lavorare su bit

Esiste una tecnica diversa per lavorare sui bit , io conosco solo la 
combinazione di shift e and ma non esiste un comando per dirgli di 
settare il bit N .. di un byte??
GRAZIE
<<SAX>>
E-mail:
linefin...@tiscalinet.it
Web Page:
http://it.geocities.com/xeus23/

 settare il bit N .. di un byte??
Con l' OR ad esempio:
char c;
c |= 0x01; // forzoo a 1 il bit meno significativo
Uppure l'EXOR
c ^= 0x01; // Il bit nemo significativo commuta passa da 0 a 1 oppure da 1 a
0 e tutti gli altri rimangono al loro valore precedente.
bye
GIGI
--------------------------------
Inviato via 
http://usenet.libero.it

 settare il bit N .. di un byte??
Hai da scegliere solo tra 2 alternative:
- gli operatori bit a bit ("shift", "and", "or", "xor", complemento a 1), 
abbinandoli come meglio credi per ottenere il risultato
- definire un campo di bit... ma in quel caso non setti direttamente un 
singolo bit, ma il valore di alcuni bit associati ad una particolare 
etichetta.
-- 
Mox
"Trust the programmer."
"Don't prevent the programmer from doing what needs to be done."
"Keep the language small and simple."
"Provide only one way to do an operation."

 settare il bit N .. di un byte??
Google is your friend!
<autoquote>
Prima  di  tutto  dovresti  operare  su tipi  unsigned,  visto  che  gli
operatori  bitwise  del C  non  hanno  risultati definiti  su  quantita`
signed.
Per  non usare  gli operatori  bitwise puoi  usare i  bit fields  di una
struttura, in questo modo:
struct bits {
        unsigned int b0: 1;
        unsigned int b1: 1;
        unsigned int b2: 1;
        unsigned int b3: 1;
        unsigned int b4: 1;
        unsigned int b5: 1;
        unsigned int b6: 1;
        unsigned int b7: 1;
};
Ogni  campo e`  lungo  1 bit. Tuttavia  non  vi e`  la  garanzia che  la
struttura sia  lunga esattamente  8bit, perche` il  compilatore potrebbe
decidere di allinearla in modo diverso [1].
Per me la  soluzione migliore resta quella di usare  un unsigned char ed
usare gli operatori bitwise, magari con l'aiuto di macro:
#define set_bit(c, n) ( c |= (1 << n) )
#define test_bit(c, n) ( (c & (1 << n)) ? 1 : 0 )
unsigned char c;
set_bit(c, 1);
printf("bit 1: %d\n", test_bit(c, 1));
[1]  Per la  cronaca il  gcc3.2 fa  la Cosa  Giusta(C), la  struttura e`
grossa esattamente 8 bit.
<autoquote>
ciao
Kronos
-- 
Home: 
http://kronoz.cjb.net
It can't rain forever,
but you can die before seeing the sun again.
Newsgroup: it.comp.lang.c
Titolo: Warning incomprensibili... di cc e gcc

I compilatori Linux cc e gcc mi danno questi duw warning dei quali mi sfugge
il senso...
warning : assignment from incompatible pointer type
warning : passing arg 2 of 'execvp' from incompatible pointer type
I due warning si riferiscono alle eguenti linee di codice:
1) argv = memory;
2) execvp(memory[conta][k],&memory[conta]);
Con char *memory[20][20] e l'& dell'exec per l'esecuzione in backgrounf.
Qualcuno puņ aiutarmi?

  l'& dell'exec per l'esecuzione in backgrounf.
   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Torna sui libri prima di tentare di andare avanti, non hai le idee
per niente chiare.
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: [niubbo] qualcosa non funziona...

...e non riesco a capire cosa!
Copio e incollo direttamente da "Thinking in C" di C. Alliston (Capitolo 
7, "Pointers").
/* reverse.c - put lines in revert order from input */
#include <stdlib.h> //memory heap functions;
#include <string.h>
#include <stdio.h>
#define MAXWIDTH 81
#define MAXLINES 100
int main()
{
     char* lines[MAXLINES]; //array of pointers to character array;
     char line[MAXWIDTH]; //buffer to read each line;
     int i,n; //just counters;
     /* store in a ragged array */
     for (n=0; n<MAXLINES && gets(line) != NULL; ++n)
     {
         int sl = strlen(line); //debug;
         printf(" -- strlen : %d\n",sl); //debug;
         lines[n] = malloc(strlen(line)+1); //debug;
         printf(" -- memory alloc : [%d]<-- %s\n",lines[n], *lines[n]); 
//debug;
         if (lines[n] == NULL)
         {
            printf("exit status : 1");
            exit(1);
         }
         strcpy(lines[n], line);
     }
     /* print in the reversed order */
     for (i=0; i<n; i++)
     {
         puts(lines[n-i+i]);
         free(lines[n-i+1]);
     }
     return 0;
}
in pratica il programma legge una serie di righe da console e le 
riscrive in ordine inverso. Niente di assurdo, senonché alla seconda 
riga che immetto il programma "schianta", dopo che alla prima riga 
immessa l'istruzione (di debug):
printf(" -- memory alloc : [%d]<-- %s\n",lines[n], *lines[n]);
aveva stampato a video:
-- memory alloc : [qualche indirizzo]<-- (null)
Qualcuno può darmi qualche dritta?
Grazie in anticipo, buona giornata e buona settimana a tutti,
Giulio
--
OnAir:

 
HTH
C:\>iao Angelo
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 OnAir:

 }
Secondo me, l'esempio, era (gia') meglio scriverlo cosi:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXWIDTH 81
#define MAXLINES 100
int main(void)
{
	char	*lines[MAXLINES] = { NULL }; /* iniz. array di puntatori a NULL */
	char	line[MAXWIDTH];
	int	nRetVal = EXIT_SUCCESS;
	int	n;
	/* si esce dal ciclo con EOF: eg. ctrl-d su unix, ctrl-z su dos/win... */
	for (n = 0; n < MAXLINES && fgets(line, sizeof(line), stdin); n++)
	{
		if( !(lines[n] = malloc(strlen(line) + 1)) )
		{
			fprintf(stderr, "** errore: memoria insufficiente - uscita dal ciclo 
di input.\n");
			nRetVal = EXIT_FAILURE;
			break;
		}
		strcpy(lines[n], line);
	}
	for (--n; n >= 0; n--)
	{
		if(lines[n]) /* sono paranoico */
		{
			fputs(lines[n], stdout);
			free(lines[n]);
		}
	}
	return nRetVal;
}
Ciao
-- 
Cybertoldo
Per rispondermi via email, sostituisci moc.liamg con 
gmail.com
Newsgroup: it.comp.lang.c
Titolo: Sito Comune ??

Esiste, che voi sappiate un sito comune per il linguaggio C da cui scaricare
sorgenti, librerie e in cui scambiare opinioni o pubblicare i propri lavori?
Grazie per l'attenzione
Luca Paganelli
luca...@libero.it
http://digilander.iol.it/lucapaga
ICQ: 52629494

sorgenti, librerie e in cui scambiare opinioni o pubblicare i propri lavori?
Non esiste, che io sappia un sito comune di questo ng, comunque
sarebbe una buona idea crearlo (era mia intenzione farlo, poi ...)
--
Andrea Laforgia
andrea_...@bigfoot.com

 sorgenti, librerie e in cui scambiare opinioni o pubblicare i propri
lavori?
Mi pare che 
www.programmazione.it
 si stia proponendo in questo modo, e pare
che molti lo stiano seguendo e aiutando a crescere.
Personalmente è da un po' che non lo visito, ma ne parlano in tanti (o
spesso, o entrambe le cose).
--
Alessandro Monti

 wrote in message
news:yKf44.9656$Bg7.1...@typhoon.libero.it...


 (era mia intenzione farlo, poi ...)
Poi?
EMG

Poi?
Poi non ho trovato il tempo di mettere in rete le pagine create !...
Piu' per pigrizia, forse, che per altro ...
In realta' avevo voglia di aprire tre pagine : una di sorgenti C, una
di sorgenti Pascal e una di macro per Excel.
Pero' volevo che il visitatore potesse scegliere quali sorgenti
scaricare, magari facendoseli spedire come zip unico per posta
elettronica, cliccando su una checkbox in corrispondenza del nome.
Qualcuno sa realizzare qualcosa del genere ?
Insomma, una specie di cestino della spesa...
Io non conosco un'acca ne' di Java, ne' di JavaScript, ne' di CGI...
--
Andrea Laforgia
andrea_...@bigfoot.com

 Qualcuno sa realizzare qualcosa del genere ?
Scusa ma non fai prima a mettere dei links a files su ftp?
EMG

Newsgroup: it.comp.lang.c
Titolo: Librerie free per gestione immagini ...

dovrei sviluppare un programmino in C / C++ per la gestione di
immagini, (del tipo photoshop ma molto più ridotto), qualcuno sa
indicarmi qualche libreria free possibilmente
anche con i sorgenti?
grazie mille

piero50 wrote:

potresti dare una occhiata ai sorgenti del gimp
ciao,
g.

 ha scritto:

http://freeimage.sourceforge.net/
Fai una ricerca su SourceForge e ne trovi altre.
Newsgroup: it.comp.lang.c
Titolo: Leggere registro?

Salve a tutti,
come faccio a leggere un registro, ad es. %ebp ? Voglio leggerlo e metterlo
in una mia variabile int locale.
E' ridicolo, ma per una volta google non mi restituisce nulla (insiste nel
volermi farmi cercare "registry" invece di "register"). Immagino sia un
inline asm, ma non riesco a trovare niente.
Thx,
Pleg



Il C non da la possibilità di accedere direttamente ai registri.  In 
modo particolare ebp ed esp sono i registri di indirizzamento dello 
stack e sono sotto il controllo diretto del processore.
Come dici è possibile farlo attraverso istruzioni assembler da 
introdurre inline.  La sintassi corretta dipende però dal compilatore 
e dalla sintassi dell'assembler.  Ti riporto un esempio molto 
semplificato con la sintassi di un vecchio compilatore MS con 
assembler Intel.
void f()
{
   unsigned int ebpreg;
   _asm_ {
	mov	ebpreg, ebp
	-------
   }
  ........
}
Non so quale sia il tuo scopo ma IMO i registri ebp ed esp sono 
manipolabili direttamente solo attraverso l'assembler e, a meno che tu 
non stia scrivendo un OS od un debugger, conviene dimenticare che 
esistono.
Ciao
Giovanni
-- 
   A computer is like an air conditioner,
   it stops working when you open Windows.
   < 
http://giovanni.homelinux.net/
 >

 esistono.
Un backtracer: quando un programma va in segfault, intercetta il segnale e
scorre lo stack, scrivendo la storia di tutte le chiamate a funzione
indietro fino al main.
Cmq ho risolto in altro modo (non mi piace molto, preferivo prendere
direttamente il registro, ma ottengo il primo %ebp dall'indirizzo del primo
argomento del signal handler, con offset di -8 bytes).
Pleg