Torna indietro   Hardware Upgrade Forum > Software > Linux, Unix, OS alternativi

Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere?
Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere?
HONOR Magic V6 è arrivato in Italia a 2.299,90 euro con una promessa precisa: unire 4 mm di spessore da aperto (8,75 mm chiuso nel modello White, 9 mm negli altri colori) a una batteria da 6.660 mAh, la più capiente mai vista su un pieghevole. Lo abbiamo usato per oltre una settimana in versione Red 16/512 GB per capire se lo Snapdragon 8 Elite Gen 5 tiene testa alla concorrenza anche fuori dai benchmark ufficiali
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni
Redmi Pad 2 9.7 punta su un display ampio e fluido, una batteria capace di accompagnare l'uso quotidiano senza ansie da ricarica e un prezzo accessibile, a partire da 179,90 euro per la versione con 64 GB di storage. Lo Snapdragon 6s 4G Gen 2 e i 4 GB di RAM della configurazione più diffusa frenano però chi cerca reattività e multitasking spinto: ecco il bilancio dopo due settimane di prova diretta
Peugeot Polygon Concept: ecco il futuro delle utilitarie
Peugeot Polygon Concept: ecco il futuro delle utilitarie
Polygon è la concept car di Peugeot che mostra il futuro delle soluzioni del segmento B: tra design compatti e innovativi affiancati da dimensioni compatte uno scherzo dalla manovrabilità incredibile per le manovre a bassa velocità
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 05-11-2003, 18:02   #1
Edde
Senior Member
 
Iscritto dal: Oct 2001
Città: Prov. di Frosinone
Messaggi: 948
Programmare in c con Mandrake

Ciao

Mi consigliate un buon programmino, semplice e potente (stile dev c++ per intenderci) con cui programmare in C?

Nei cd della Mandrake 9.1 c'e' una milionata di programmi, e mi sono un po' perso


Ho provato kDevelop, e sarebbe anche un bel programmino se non ti costringesse a creare dei progetti per ogni cosa: ho fatto un programmino semplice per provare i primi comandi sui processi (1,5 kb), e lui mi ha costretto a creare un progetto di decine di file inutili (1,5 mb)....

Ma e' possibile che non si possa fare altrimenti?
Se volessi scrivere il classico "Hello world" sono per forza costretto a sorbirmi l'ingombrantissimo contorno?

Allora ho provato Kate. Certo, non ha le comodita' di kDevelop (e di Dev c++ ...... ahhhh, che gran bel programma.... possibile che non ci sia l'equivalente su Linux?), ma almeno non mi costringe a fare cose che non voglio. Certo, poi devo compilare con gcc, e non e' il massimo della vita (anche perche' non ho ben capito le varie opzioni che offre).

Un altro paio di domande e chiudo

Sotto win quando compilo il file "pippo.c" mi da "pippo.exe", che e' un eseguibile, e che quindi posso provare semplicemente cliccandoci sopra.
In Linux invece mi da "pippo.o"
Qual'e' il comando per eseguirlo?

Questa invece non riguarda linux, ma il c in generale.
Immaginiamo che il main si trovi nel file "main.c"
In "pippo.c" ci sono delle funzioni che ho scritto io, e che vorrei usare in "main.c"
Per far capire questa cosa al compilatore, cosa devo dirgli?

Grazie
Edde è offline   Rispondi citando il messaggio o parte di esso
Old 05-11-2003, 18:17   #2
NA01
Senior Member
 
L'Avatar di NA01
 
Iscritto dal: Jun 2003
Città: Genova
Messaggi: 5676
se non vuoi interfacce in stile visual c++ basta un editor qualunque (da bluefish a gedit, a kedit, a vi, a emacs) ecc...
il .o è un file oggetto, non è un esegubile (gcc dovrebbe dare un .out alla fine).
il .out si lancia con
./nome.out
che linea usi per gcc?
fossi in te non abbandonerei gcc per nulla al mondo!
tenere due finestre aperte non è poi così impossibile, su una scrivi e sull'altra lanci gcc (il comando tra l'altro ti rimane nell'history, lo puoi richiamare con la freccia su).
per c++ devi usare g++ .
se usi emacs puoi anche compilare nella stessa schermata dell'editor.
se vuooi un buon libro che ti spieghi la programmazione c/c++ su linux lo trovi su www.advancedlinuxprogramming.com
sono dei pdf da scaricare.
nei primi capitoli ti spiega anche come usare gcc.

per l'ultima domanda...
non ho capito se vuoi una cosa tipo

#include "pippo.c"

o se intendi la linea di comando da usare

cc -c main.c -o main.o
cc -c pippo.c -o pippo.o
cc main.o pippo.o -o ciao



ciao
NA01 è offline   Rispondi citando il messaggio o parte di esso
Old 05-11-2003, 18:37   #3
maxithron
Senior Member
 
L'Avatar di maxithron
 
Iscritto dal: Mar 2002
Città: Italy/Usa
Messaggi: 2817
Oltre agli editor che ti ha suggerito NA01 io aggiungerei anche Quanta:
è ottimo dato che ti consente anche di scegliere l'high-light mode a seconda del codice che devi scrivere(c/c++, php,etc...)

Se invece vuoi un ide meno "inglobante" di kdevelop, puoi utilizzare anjuta.
__________________
"Utilizzando atomi pentavalenti drogheremo il silicio di tipo n;
Utilizzando atomi trivalenti drogheremo il silicio di tipo p;
Utilizzando della cannabis ci drogheremo noi e vedremo il silicio fare cose impossibili" - DSDT-HowTo
maxithron è offline   Rispondi citando il messaggio o parte di esso
Old 05-11-2003, 22:20   #4
VegetaSSJ5
Senior Member
 
L'Avatar di VegetaSSJ5
 
Iscritto dal: Sep 2002
Città: Celano (AQ) Segno_Zodiacale: Leone Ascendente: Cammello Segni_Particolari: Quello
Messaggi: 9571
guarda che dev-c++ c'è anche per linux, vai sul sito del produttore e vedrai che c'è, ma non so se si può scaricare, altrimenti lo cerchi in rete.
VegetaSSJ5 è offline   Rispondi citando il messaggio o parte di esso
Old 05-11-2003, 22:50   #5
cn73
Senior Member
 
L'Avatar di cn73
 
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
Editor di testo e linea di comando...niente di meglio per cominciare e capire i meccanismi basilari...
cn73 è offline   Rispondi citando il messaggio o parte di esso
Old 06-11-2003, 11:58   #6
Pinocchio
Senior Member
 
L'Avatar di Pinocchio
 
Iscritto dal: Sep 1999
Città: Messina
Messaggi: 1807
Quote:
Originariamente inviato da cn73
Editor di testo e linea di comando...niente di meglio per cominciare e capire i meccanismi basilari...
Già, scusate se mi intrufolo, ma era inutile magari aprire un nuovo 3d.

Posto le mie domande:

1)Sotto Gcc, con quale funzione si pulisce lo schermo e a quale libreria fa riferimento?
2)e per getch() va bene la libreria curses.h o ce ne sono altre?

C i a o.
__________________
with Free Software you have Freedom (Richard Stallman)
Pinocchio è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2003, 14:59   #7
Edde
Senior Member
 
Iscritto dal: Oct 2001
Città: Prov. di Frosinone
Messaggi: 948
Grazie a tutti

Ho optato per Kate (che ti permette anche di compilare senza dover cambiare applicazione, visto che in finestra ti mette la console), e dopo un periodo di assestamento, comincio a trovarmici discretamente bene
Edde è offline   Rispondi citando il messaggio o parte di esso
Old 07-11-2003, 18:47   #8
Edde
Senior Member
 
Iscritto dal: Oct 2001
Città: Prov. di Frosinone
Messaggi: 948
Ragazzi, ora ho una domanda di quelle difficili
Sto muovendo i primi passi coi semafori, e ho scritto questo programmino: il classico programma del Produttore-Consumatore.

Il processo padre crea due figli e rimane in attesa.

Il primo chiama la funzione "produttore", che manda un msg a video, prende una stringa dalla tastiera, e la copia in un'area di memoria condivisa.

Il secondo invece chiama la funzione "consumatore", che legge la stringa dalla mem condivisa e la stampa a video.

La cosa si ripete (con un ciclo) fino a quando l'utente non inserisce la stringa "quit".

Chiaramente i due processi non possono accedere contemporaneamente alla memoria, e l'esclusione avviene con i semafori.

Dico subito che c'e' un errore: infatti non c'e' niente che impedisca al consumatore di entrare nell'area critica prima del produttore (e la cosa non dovrebbe accadere).
Il padre genera prima il produttore, che quindi in genere riesce ad accedere alla memoria prima dell'altro, ma e' cmq una soluzione scorretta.

Il problema pero' e' un altro:
il consumatore non riesce ad entrare nell'area critica prima della morte del produttore.

Esempio di esecuzione:

>Inserisci il dato ('quit' per uscire):
pippo
>Inserisci il dato ('quit' per uscire):
pluto
>Inserisci il dato ('quit' per uscire):
quit
>quit

Mentre invece dovrebbe essere:

>Inserisci il dato ('quit' per uscire):
pippo
>pippo
>Inserisci il dato ('quit' per uscire):
pluto
>pluto
>Inserisci il dato ('quit' per uscire):
quit
>quit

Ecco il codice:

---------------------------------------- ------------
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#include <sys/sem.h>
#include <stdio.h>

/* Produttorre-Consumatore con i semafori */

/* Metodi per le operazioni sul semaforo */

int waitSem(int ds_sem)
{
struct sembuf oper;
oper.sem_num = 0;
oper.sem_op = -1;
oper.sem_flg = 0;

return semop(ds_sem, &oper, 1);
}

int signalSem(int ds_sem)
{
struct sembuf oper;
oper.sem_num = 0;
oper.sem_op = +1;
oper.sem_flg = 0;

return semop(ds_sem, &oper, 1);
}


-----
/* Metodo produttore di dati. Chiede il dato e lo memorizza in memoria condivisa */
void produttore(int ds_mem, int ds_sem)
{
void *indirizzo;
int ret;
char dato[256];


/* Attacco la memoria allo spazio di indirizzamento */
indirizzo = shmat(ds_mem, 0, SHM_W);
if( indirizzo == (void*) -1 ) printf("Errore nella shmat del produttore\n");

/* Produco */

do{
ret = waitSem(ds_sem);
if(ret == -1) printf("Errore nella wait del produttore\n");

printf("Inserisci il dato ('quit' per uscire): \n");
scanf("%s", dato);


/* Inizio area critica */
strcpy(indirizzo, dato);
/* Fine area critica */

ret = signalSem(ds_sem);
if(ret == -1) printf("Errore nella signal del produttore\n");


}while( (strcmp(dato, "quit") != 0) );


exit(0);
}

-----
/* Metodo consumatore. Prende il dato dalla memoria condivisa e lo mette a schermo */
void consumatore(int ds_mem, int ds_sem)
{
void *indirizzo;
char dato[256];
int ret;

/* Attacco la memoria allo spazio di indirizzamento */
indirizzo = shmat(ds_mem, 0, SHM_R);
if( indirizzo == (void*) -1 ) printf("Errore nella shmat del consumatore\n");

/* Consumo */

do{
ret = waitSem(ds_sem);
if(ret == -1) printf("Errore nella wait del consumatore\n");
/* Inizio area critica */
strcpy(dato, indirizzo);
/* Fine area critica */

ret = signalSem(ds_sem);
if(ret == -1) printf("Errore nella signal del consumatore\n");

printf("%s\n", dato);
}while( (strcmp(dato, "quit") != 0) );


exit(0);

}


-----
/* Metodo Main */
int main()
{

int ds_shm, ds_sem, ret, status;
long chiave_shm = 30, chiave_sem = 50;

/* Inizializzo il fottuto semaforo */
ds_sem = semget(chiave_sem, 1, IPC_CREAT | 0666);
if(ds_sem == -1) printf("Errore nella creazione del semaforo\n");

ret = semctl(ds_sem, 0, SETVAL, 1);

/*Inizializzo la memoria condivisa*/
ds_shm = shmget(chiave_shm, 256, IPC_CREAT | 0666);
if( ds_shm == -1 ) printf("Errore nella creazione della memoria\n");

/* Facciamo nascere i due figli */
if(fork() != 0)
{
if(fork() != 0)
{
wait(&status);
wait(&status);
}
else consumatore(ds_shm, ds_sem);
}
else produttore(ds_shm, ds_sem);

/* Elimino la memoria condivisa */
ret = shmctl(ds_shm, IPC_RMID, NULL);
if(ret == -1) printf("Errore nella rimozione della memoria\n");

/* Elimino il fottutissimo semaforo */
ret = semctl(ds_sem, 0, IPC_RMID, 1);
if(ret == -1) printf("Errore nella rimozione del semaforo\n");

} /* Fine del main */
---------------------------------------- ------------

Se avete letto fino a qui, grazie
Se poi potete anche aiutarmi, allora alla prima occasione vi offriro' anche da bere

Grazie
Edde è offline   Rispondi citando il messaggio o parte di esso
Old 14-11-2003, 14:54   #9
Pinocchio
Senior Member
 
L'Avatar di Pinocchio
 
Iscritto dal: Sep 1999
Città: Messina
Messaggi: 1807
Quote:
Originariamente inviato da Pinocchio
Già, scusate se mi intrufolo, ma era inutile magari aprire un nuovo 3d.

Posto le mie domande:

1)Sotto Gcc, con quale funzione si pulisce lo schermo e a quale libreria fa riferimento?
2)e per getch() va bene la libreria curses.h o ce ne sono altre?

C i a o.
UP
__________________
with Free Software you have Freedom (Richard Stallman)
Pinocchio è offline   Rispondi citando il messaggio o parte di esso
Old 14-11-2003, 14:59   #10
NA01
Senior Member
 
L'Avatar di NA01
 
Iscritto dal: Jun 2003
Città: Genova
Messaggi: 5676
non ho ancora letto la parte sui semafori per i processi (sono al cap 4)
se vuoi puoi darci un'occhiata
www.advancedlinuxprogramming.com
credo che tu stia cercando le informazioni del capitolo 5, non essendoci ancora arrivato non ti sò dire altro...
ciao
NA01 è offline   Rispondi citando il messaggio o parte di esso
Old 14-11-2003, 17:29   #11
sebyweb
Senior Member
 
Iscritto dal: Jan 2003
Città: catania
Messaggi: 707
scusate, ma come si compila direttamente da emacs?
__________________
Ho trattato con: Ciccillover, Bimbubay, Gianni1482, infrty, juky, yottabyte, magnolia, stranamore, sagomaccio, redsnake, lucafao, beppe, mrmic, brizius78, Oaichehai, evilgem, wistonwolf, pechigno, alphacygni, myk980, pedro80.
sebyweb è offline   Rispondi citando il messaggio o parte di esso
Old 14-11-2003, 19:16   #12
NA01
Senior Member
 
L'Avatar di NA01
 
Iscritto dal: Jun 2003
Città: Genova
Messaggi: 5676
una volta salvato vai su tool->compile
ti compare la linea di comando in fondo e puoi lanciare la compilazione

ciao
NA01 è offline   Rispondi citando il messaggio o parte di esso
Old 14-11-2003, 19:26   #13
Krakz
Senior Member
 
Iscritto dal: Nov 2002
Messaggi: 173
http://www.scintilla.org/SciTEImage.html

Scite
__________________
powered by Mandrake - You are registered as user #335131 with the Linux Counter
Krakz è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione HONOR Magic V6: spessore record e super batteria. È lui il fold da battere? Recensione HONOR Magic V6: spessore record e sup...
Redmi Pad 2 9.7: ampio display, economico e peso contenuto, ma qualche limite nelle prestazioni Redmi Pad 2 9.7: ampio display, economico e peso...
Peugeot Polygon Concept: ecco il futuro delle utilitarie Peugeot Polygon Concept: ecco il futuro delle ut...
Reno16 Pro: il compatto di OPPO punta su fotocamera da 200MP e il nuovo Bubble! La recensione Reno16 Pro: il compatto di OPPO punta su fotocam...
 Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco Hisense 55U7SE: tuttofare e accessibile, il Min...
Xbox a un bivio: per l'ex capo di PlaySt...
Meta AI non userà più le f...
Stop ai giochi fisici su PlayStation: pe...
NVIDIA ha creato CUDA, ma una startup vu...
Il tallone d'Achille dei QD-LED è...
Apple pronta a produrre alcuni chip con ...
Anthropic proroga ancora Fable 5 gratis ...
SBS annuncia la nuova gamma Laptop con t...
Gli italiani sono interessati alla sicur...
Galaxy Watch 9, chip più veloce f...
Steam ha appena chiuso un semestre molto...
I nuovi iPhone 18 Pro potrebbero essere ...
Huawei realizzerà chip di nuova g...
La JAXA ha eseguito un test del prototip...
Netflix, ritorna la prova gratuita per i...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

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

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


Tutti gli orari sono GMT +1. Ora sono le: 08:03.


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