Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più
Abbiamo provato Samsung Galaxy Tab S12 Ultra nella versione 12 GB + 256 GB con tastiera, e il risultato è un tablet che in questa configurazione si comporta come un notebook con la fluidità tipica di Android. Spessore di 5,1 mm, display Dynamic AMOLED 2X da 14,6 pollici, MediaTek Dimensity 9500 e un software senza incertezze compongono un prodotto di vertice, con prezzi da 1.539 euro, frenato solo da un'autonomia nella parte bassa del confronto
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura)
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura)
Abbiamo provato per dieci giorni la Hyundai IONIQ 5 N, con 650 CV, 770 Nm e uno 0-100 km/h in 3,4 secondi. Il suo punto forte è N e-Shift, che simula un cambio a otto rapporti con suoni da motore termico e perfino un bang supersonico
CES Unveiled Milan, l'IA diventa tecnologia fondativa e il commercio torna centrale
CES Unveiled Milan, l'IA diventa tecnologia fondativa e il commercio torna centrale
La prima tappa italiana della Road to CES porta a Milano i vertici della Consumer Technology Association, con una nuova griglia di lettura dei trend tecnologici e una posizione netta su dazi e regolamentazione dell'IA
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 08-10-2003, 18:18   #1
Black imp
Senior Member
 
Iscritto dal: Nov 2000
Città: MILANO
Messaggi: 2662
C e macro parametriche

voglio inizializzare un menù sotto le glut - non ha importanza quali librerie uso -. in pratica devo eseguire la seguente istruzione:

glutAddMenuEntry(LIGHT_MENU_ENTRY_NAME_1,LIGHT_MENU_ENTRY_1);
glutAddMenuEntry(LIGHT_MENU_ENTRY_NAME_2,LIGHT_MENU_ENTRY_2);
glutAddMenuEntry(LIGHT_MENU_ENTRY_NAME_3,LIGHT_MENU_ENTRY_3);
...

ho pensato di creare una macro parametrica e di infilarla in un ciclo for

#define ADD_MENU_ENTRY(j) \
glutAddMenuEntry (LIGHT_MENU_ENTRY_NAME##j,LIGHT_MENU_ENTRY##j);


ora se eseguo le singole ADD_MENU_ENTRY(1) ADD_MENU_ENTRY(2) ecc. tutto funziona. non posso però mettere tutto in un ciclo for:

for (i=0;i<MAX_ENTRY;i++)
{
ADD_MENU_ENTRY(i);
}


se lo faccio mi sostituisce il simbolo i nella macro e non il suo valore. eppure so che ero riuscito a compattare tutto in una istruzione una volta. c'è un modo di eseguire un ciclo for dentro la macro stessa o un altro stratagemma di passare alla macro una variabile?



eppure so che si può fare qualcosa per evitare quella fila di istruzioni!! cazzarola

Black imp è offline   Rispondi citando il messaggio o parte di esso
Old 08-10-2003, 18:24   #2
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
La macro viene espansa in
glutAddMenuEntry(LIGHT_MENU_ENTRY_NAMEx,LIGHT_MENU_ENTRYx);
che ha ben poco significato...

Puoi risolvere ad es. con:
#define ADD_MENU_ENTRY(j) \
do { \
switch(j) { \
case 0: \
glutAddMenuEntry(LIGHT_MENU_ENTRY_NAME0,LIGHT_MENU_ENTRY0); \
break; \
case 1: \
glutAddMenuEntry(LIGHT_MENU_ENTRY_NAME1,LIGHT_MENU_ENTRY1); \
break; \
(ecc)
}

} while(0)

Un pò brutto ma non hai molte altre soluzioni...se "j" è costante (ad es. ADD_MENU_ENTRY(1) ) lo switch dovrebbe essere ottimizzato dal compilatore.
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 08-10-2003, 18:34   #3
Black imp
Senior Member
 
Iscritto dal: Nov 2000
Città: MILANO
Messaggi: 2662
mmh ti ringrazio intanto. eppure mi ricordavo qualcosa di più pulito. mah forse mi sbaglio. grazie!
Black imp è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più Recensione Samsung Galaxy Tab S12 Ultra: non chi...
Hyundai IONIQ 5 N, l'elettrica che finge di essere termica (e ci riesce da paura) Hyundai IONIQ 5 N, l'elettrica che finge di esse...
CES Unveiled Milan, l'IA diventa tecnologia fondativa e il commercio torna centrale CES Unveiled Milan, l'IA diventa tecnologia fond...
 Recensione OPPO Find X10 Pro Max: un top di gamma completo con tre fotocamere da 200MP Recensione OPPO Find X10 Pro Max: un top di gam...
WoW Forever provato: il MMORPG che la community chiedeva da anni è arrivato WoW Forever provato: il MMORPG che la community ...
Oracle lancia Fusion Claw: gli agenti di...
Oracle e Astrazeneca insieme per lo svil...
Anthropic e la quotazione: cosa emerge d...
Condanna milionaria per il sessantottenn...
HONOR Robot Phone a Movieland: abbiamo g...
Google Messaggi introduce la Protezione ...
Vera Rubin, NVIDIA aggiorna le specifich...
Google Health 5.11 amplia il rilevamento...
Legacy Games chiude dopo quasi 30 anni: ...
iPhone Duo avvia le automazioni quando l...
Tomb Raider: Legacy of Atlantis, rivelat...
Instagram arriva su Apple TV con un'app ...
Meta lancia un'offerta azionaria da 35 m...
L'Italia sfida i big dei semiconduttori:...
Chernobyl fa parlare ancora di sé: il bi...
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: 00:55.


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