Show Posts
Pages: 1 2 3 [4] 5 6 ... 745
46  International / Software / [codice completo] database di strutture (aka: giochiamo con il precompilatore) on: September 24, 2014, 06:00:51 pm
in piccolo progetto avevo bisogno di accedere a più di una struttura da più thread: ecco cosa mi sono inventato, grazie all'aiuto di stackoverflow e di un caro amico (full story in english: http://stackoverflow.com/questions/26005389/array-of-struct-and-sizeof/26024713#26024713)

ma passiamo subito al codice, come al solito autoesplicativo  smiley-mr-green smiley-mr-green (seriamente, fate domande se avete bisogno)

Code:
#include <memory.h>
#include <stdio.h>
#include <stdlib.h>

/* BEGIN: just some struct to test, fell free to move them on external header file */
struct A
{
    int a1;
    long a2;
};

struct B
{
    float b1;
    char b2[6];
};

struct C
{
    unsigned int c1;
    double c2[5];
};
/* END: just some struct to test, fell free to move them on external header file */

/* this macro will create the right X macro element, and also initiliaze the "anonymous" struct */
#define ADD_STRUCT_TO_ARRAY(xu) X(xu, &(struct xu){})SEP

/* BEGIN: add or remove your own struct here! 
 * fell free to move them on external header file 
 * just need to pass struct name without "struct" to ADD_STRUCT_TO_ARRAY macro */
#define GENERIC_TABLE \
    ADD_STRUCT_TO_ARRAY(A) \
    ADD_STRUCT_TO_ARRAY(B) \
    ADD_STRUCT_TO_ARRAY(C)
/* END: add or remove your own struct here! */

/* here we initialize the enum, where the type of the struct is the key, and its position in the array the value */
#define SEP ,
#define X(a,b) a
enum STRUCT {
    GENERIC_TABLE
};
#undef X

/* here we initalize the array of pointer to the structure */
#define X(a,b) b
void * const generic[] =
{
    GENERIC_TABLE
};
#undef X
#undef SEP

/* here we create all the getter function. add here your array locking code */
#define SEP ;
#define X(a,b) void get_##a(struct a * dest){memcpy(dest, generic[a], sizeof(struct a) );}
GENERIC_TABLE
#undef X
#undef SEP

/* here we create all the putter function. add here your array locking code */
#define SEP ;
#define X(a,b) void put_##a(struct a * source){memcpy(generic[a], source, sizeof(struct a) );}
GENERIC_TABLE
#undef X
#undef SEP

/*run, code, run!*/
int main()
{
    struct A a_copy;
    struct B b_copy;
    struct C c_copy;

    get_A(&a_copy);
    get_B(&b_copy);
    get_C(&c_copy);

    printf("STRUCTURE IN ARRAY BEFORE INITIALIZATION\n");
    printf("A = %d\n", a_copy.a1);
    printf("B = %f\n", b_copy.b1);
    printf("C = %x\n", c_copy.c1);

    a_copy.a1 = -1;
    b_copy.b1 = 2.3;
    c_copy.c1 = 3;

    printf("STRUCTURE CHANGED TO\n");
    printf("A = %d\n", a_copy.a1);
    printf("B = %f\n", b_copy.b1);
    printf("C = %x\n", c_copy.c1);

    printf("STRUCTURE SAVED\n");
    put_A(&a_copy);
    put_B(&b_copy);
    put_C(&c_copy);

    get_A(&a_copy);
    get_B(&b_copy);
    get_C(&c_copy);

    printf("STRUCTURE LOADED\n");
    printf("A = %d\n", a_copy.a1);
    printf("B = %f\n", b_copy.b1);
    printf("C = %x\n", c_copy.c1);

    a_copy.a1 = 1000;
    b_copy.b1 = -50.576;
    c_copy.c1 = 700;

    printf("STRUCTURE CHANGED TO\n");
    printf("A = %d\n", a_copy.a1);
    printf("B = %f\n", b_copy.b1);
    printf("C = %x\n", c_copy.c1);

    get_A(&a_copy);
    get_B(&b_copy);
    get_C(&c_copy);

    printf("STRUCTURE RELOADED WITHOUT SAVING\n");
    printf("A = %d\n", a_copy.a1);
    printf("B = %f\n", b_copy.b1);
    printf("C = %x\n", c_copy.c1);


    return 0;
}

47  International / Megatopic / Re: Stampante 3d, come, quando, dove, e perchè on: September 24, 2014, 05:47:39 pm
la pubblicita' non mi sembra ammessa sul forum, visto che hai scritto questa stessa frase in altri topic stai facendo anche cross-post
Aspettati una bacchettata sulla mano  smiley-lol


urca, oserei persino parlare di spam... mi porta la memoria indietro al vecchio forum, quando post di pillole e simili erano all'ordine del giorno.

@stampiamoin3d: esiste una sezione apposita di mercato in cui puoi pubblicizzare il tuo sito ed eventualmente i tuoi prodotti; altrimenti un bel link in firma e tanti interventi utili in varie discussioni è il modo più elegante e corretto per pubblicizzarsi in questo forum.
48  Community / Bar Sport / Re: [OT ITA] Lo spamm bar on: September 24, 2014, 05:44:59 pm
allora, han messo a confronto vari modelli proprio perchè quella è stata la prima risposta..

che dire, è saltato fuori che quelli inplastica a prescindere non hanno problemi perchè ritornano in forma, e nemmeno quelli di alluminio andorid, e nemmeno il 6 "normale", è un problema del 6S, che a causa della sua lunghezza maggiore sorpassa il "limite invisibile"

poi certo, sono video su youtubba fatti "a mano" senza un torsiometro o simili...ma lo scdandalo è appena iniziato, e non mi stupirei se qualceh fanatico si mettesse a fare le prove a banco.
49  International / Megatopic / Re: Stampante 3d, come, quando, dove, e perchè on: September 24, 2014, 01:49:26 pm
le stampe venute male dopo essere granulate fanno la stessa trafile del granulato quindi valgono ...3 euro/kg

se la logica non mi inganna le stampe venute male sono una PERDITA secca che aumenta il costo al kg REALE, il fatto di poterle recuperare vuol dire LIMITARE la perdita.

Esempio: compro 1KG di PLA/ABS a 20€, ma 0.5KG li butto per errori di stampa: il costo reale è stato di 20€ al 0.5KG di materia finita, il che vuol dire 40€/kg.
SE puoi recuperare la palstica, allora RIENTRI nel range 20€/kg


Esattamente come non ho conteggiato il liquido che rimane sulle pareti o sgocciola fuori o "scade" (che io sappia anche il PLA e ABS lo fanno) o chissà che altro ( il costo di ammortamento, costo dell'usura della macchina, dell'energia/tempo umano consumata, della manutenzione ordinaria e straordinaria, e chissà che altro)
50  Community / Bar Sport / Re: [OT ITA] Lo spamm bar on: September 24, 2014, 01:31:38 pm
@lesto tu che lo hai già, come hai fatto a prenderlo? sei stato invitato all'acquisto? Da dove spediscono? Ci sono tasse tipo dogana o iva da pagare all'arrivo?

acquistato tramite invito. ma tranquillo, da metà/fine ottobre entra in commercio "normalmente", ma non assicuro sui costi.
Quando fai l'acquisto, ti rimanda sullo store europeo (se provi dagli altri ti da errore, io per sbaglio ero finito in quello americano), a me è arrivato dal giovedì al lunedì, con pacco da aereoporto di londra, quindi niente dazi o dogana, il collega che mi ha dato l'invitomi pare che lo abbia ricevuto da olanda o germania.per la garanzia ti devi pagare la spedizione, ma il fatto di NON avere negozi convezionati è un altro motivo per cui possono permettersi costi così bassi.

Questi hanno le pigne nella testa, ma da quando per acquistare un prodotto serve un invito oppure tocca partecipare ad un contest ?
Potrebbero pure vendere l'Enterprise a 10 Euro, però, imho, se la possono pure tenere se mi devo complicare la vita in questo modo per un acquisto.  smiley-grin

Sono una nuova azienda, e sapevano che i primi batch sarebbero andati via come le briciole, e se ci fossero stati problemi tipo bug HW sarebbero stati in perdita secca, in oltre è stata anche una mossa pubblicitaria (NON fanno pubblicità tramite canali convenzionali, il che a loro dire abbatte i costi di oltre il 30%, e sinceramente a vedere l'ambiente credo che sia molto di più il risparmio).
Ora che hanno usato i loro utenti come betatester (sistemando anche un bel pò di bachi seri, come un batch di LCD che facevano schermo verde) e hanno raccolto qualche pila di soldi, partiranno col da distribuzione "normale".

Anche se devo ammettere che io non ho attivamente cercato l'invito, sapendo che prima o poi sarebbe uscito sul mercato "tradizionale", mi è stato cmq facile venire in possesso di un invito. più volte ho visto persone su g+ regalare l'invito (all'inizio dovevi darlo ad un'altra persona entro 24H, e questa persona una volta accettato aveva 24H per confermare l'acquisto pagando, altrimenti l'invito venive ritirato e dato ad un altro utente, IMHO proprio per dar via i batch al volo e poter così avere il ritorno economico per poter passare ai batch successivi garantendo qualcosa anche ai fornitori.. ricordiamoci che dietro non c'è una big nè un grosso capitale iniziale..)

Quote
"It's not a bug, it's a feature"
Ho letto un commento in giro (spero troll) "apple è uno stile di vita: mi piego ma non mi spezzo"
51  Community / Bar Sport / Re: [OT ITA] Lo spamm bar on: September 24, 2014, 06:57:34 am
ma come le trovi!!
52  International / Megatopic / Re: Cnc Laser progetto in costruzione on: September 24, 2014, 06:27:45 am
se la meccanca è completa e hai voglia di fare una bella presentazione, fai una discussione dedicata, magari qualcuno vuole replicare o approfondire il tuo design e quindi teniamo il tutto più pulito, e magari finisci anche in megatopic smiley-grin
53  International / Megatopic / Re: Stampante 3d, come, quando, dove, e perchè on: September 24, 2014, 05:36:55 am
scusa sarò superficiale ma a me non pare una cosa così complessa fare una macchina del genere

il filmanto costa 27€ la bobina da 1kg, (prezzo a random su internet, http://www.filamentostampanti3d.com/filamento-abs-nero.html) e ha una desità di 1g/cm^3

ora facendo i conti, 1kg = 1000gr =(dalla densità) 1000cm^3, pari a 1 litro!

quindi possiamo dire che il costo filamento-liquido è SICURAMENTE nello stesso ordine di grandezza, poi possiamo far scoppiare un dibattito sul fatto che un costo doppio valga la precisione, però l'idea liquido diventa possibilissima.

se invece parti dal granulat a 5€/kg allora parti da un ordine di grandezza inferiore, ma l'investimento, lo spazio, i costi accessori e i tempi di lavorazione crescono
54  International / Megatopic / Re: Stampante 3d, come, quando, dove, e perchè on: September 24, 2014, 05:25:37 am
ma a questo punto un bel "frullatore" e il PLA lo faccio in plovere..

cmq se leggi la peachyprinter aveva il problema dei costi del liquido, salvo poi scoprire che in grosse quantità i prezzi erano mooolto inferiori.. e quindi han trovato un tizio che ha iniziato a sviluppare la sua "ricetta" e non intende fare prezzi da ladro per piccole quantità (ed è indipendente dal progetto, collaborano e basta, quindi tutti dovremmo beneficiarne)


edit: link: http://www.makerjuice.com/
attualmente siamo sui 55$ al litro (non so se è la loro ricetta), se mi date il costo a volume del PLA facciamo un confronto
55  Community / Bar Sport / Re: [OT ITA] Lo spamm bar on: September 24, 2014, 05:03:28 am
Quanto secondo voi è pura ricerca

56  Community / Bar Sport / Re: [OT ITA] Lo spamm bar on: September 24, 2014, 03:32:00 am
edit: rileggendo mi sento un commerciale, ma che dire, quando ci vuole ci vuole.

Uno che ha una sede come questa è per forza un commerciale, i tecnici non diventano mai ricchi  smiley-mr-green


spendo tutto in tecnici che sistemano i danni che faccio  smiley-mr-green smiley-mr-green

comunque abbiamo un nuovo competire alla gara della conquista dello spazio: signri, la ISRO è riuscita a mettere un orbiter attorno a marte, una missione da 74 milioni di dollari... per intenderci il costo ttale della missione dell'ultimo orbiter della NASA è stimato a 600mln (certo, è errato mettere a confronto satelliti di diverso peso/strumentazioni etc.., però da un'idea dei mezzi messi a disposizione)

http://abcnews.go.com/Technology/wireStory/indian-spacecraft-enter-mars-orbit-25693181
57  International / Megatopic / Re: Stampante 3d, come, quando, dove, e perchè on: September 24, 2014, 03:27:06 am
scusate ma io sono rimasti impressionato da quelle a polvere.. alla fine è il concetto opposto di una CNC laser, l laser invece che tagliare scoglie un piccolo strato.
La velocità di preparaszione di un layer è impressionante, e il numero teorico di layer cresce tantissimo, limite massimo è la granularità delle polveri..

quali sono le problematiche di questo sistema? ho visto che esistono anche dei liquidi, come la stampante 3d da 100$
http://www.peachyprinter.com/ non si potrebbe creare un ibrido, con laser stile cnc e un piccolo dosatore che aggiunge liquido inveche che layer di polveri?


58  Community / Bar Sport / Re: [OT ITA] Lo spamm bar on: September 23, 2014, 03:33:29 pm
la differenza principale è che la S è stata "firmata" ufficilamente da goole e quindi arriva con le GAPPS pre-installate, e non ha i binari per il root installati. poi qualche cagatina tipo combinazioni di touch e un paio di app differenti (camera e audio), poi immagino qualche driver specifico, ma non so.

tra l'latro cercando qualche info mmi sono imbattuto in questo:
Quote
Well, we're keen to announce today that the OnePlus One will indeed be getting the L treatment. When, you ask? That depends on Google. We promise to have it done within three months of their releasing a final build.




edit: rileggendo mi sento un commerciale, ma che dire, quando ci vuole ci vuole.
59  Community / Bar Sport / Re: [OT ITA] Lo spamm bar on: September 23, 2014, 02:42:22 pm
se funziona alla linux, cerca di occupare un tot di ram in più del necesario come cache (credo sia il 50% di quella usata all'avvio, e se poi ne usi di più non viene liberata ma rimane come cache), cmq sì, parlo dell'opo (oppo è la concorrenza xD), S perchè la OPO ha fatto sviluppare la ciano apposta per il suo terminale, ha pagato i developer. Cioè, anzichè creare la rom proprietaria farlocca, ha chiamatoi i "migliori" disponibili sul mercato.

in ogni caso puoi fare un dump da analizzare con molta attenzione: https://developer.android.com/tools/debugging/debugging-memory.html

oppure con un emulatore di terminale, il copmando "ps" mostra varie sttistiche (tra cui uso di ram) per tutti gli eseguibili. e "pstree" ti fa vedere anche l'abero "processo padre-figli" (anche se non sei root! molto comodo visto che thai una shell linux, o quantomeno unix, non conosco esattamente dove "finiscono" i comandi linux ed iniziano quelli unix, ogni volta che ho davanti una BDS è una goduria  smiley-mr-green)
60  Community / Bar Sport / Re: [OT ITA] Lo spamm bar on: September 23, 2014, 11:45:10 am
sul mio usa 1.6gb di ram su 3... chefaccio, scarico un pò di app a caso? smiley-mr-green smiley-mr-green


chrome è diventato il broswer ufficiale da qualche perte verso la 4.4.0 o forse la 4.4.2. Una app che fa escalation vuol dire che diventa root, anche se non ci sono i binari, diventare root vuol dire avere gli stessi permessi del SO, a meno che non sia harcodato in altro modo, ma anche in questo caso é possibile iniettare codice o caricare moduli malevoli. Quello che vedo lato IT produzione sono partizioni montate in read-only, ma in generale dovresti forzare il readvonly anche con blocchi hw
Pages: 1 2 3 [4] 5 6 ... 745