Articles of macro

Implementare macro di scambio generico in C

Possibile duplicato: c’è un equivalente di std :: swap () in c Ciao gente, Stavo cercando un problema per scrivere una macro di swap generica in C e la mia macro ha il seguente aspetto: #define swap(x,y) { x = x + y; y = x – y; x = x – y; } Funziona […]

Macro di dimensione array che rifiuta i puntatori

La macro standard della dimensione dell’array che viene spesso insegnata è #define ARRAYSIZE(arr) (sizeof(arr) / sizeof(arr[0])) o qualche formazione equivalente. Tuttavia, questo genere di cose riesce silenziosamente quando viene passato un puntatore, e fornisce risultati che possono sembrare plausibili in fase di runtime fino a quando le cose non scompaiono misteriosamente. È fin troppo facile […]

Foreach macro su argomenti di macro

Mi chiedo se è ansible scrivere una macro foreach su argomenti di macro. Ecco cosa vuoi fare: #define PRINT(a) printf(#a”: %d”, a) #define PRINT_ALL(…) ? ? ? THE PROBLEM ? ? ? E ansible utilizzo: int a = 1, b = 3, d = 0; PRINT_ALL(a,b,d); Ecco cosa ho ottenuto finora #define FIRST_ARG(arg,…) arg #define […]

Come usare un Objective-C #define di Swift

Sto migrando una class UIViewController per allenarmi un po ‘con Swift. Sto usando con successo il codice Objective-C tramite l’intestazione del bridging ma ho bisogno di importare un file costanti che contiene le direttive #define . Ho visto in Uso di Swift con Cocoa e Objective-C (macro semplici) il seguente: Macro semplici Dove in genere […]

C’è un registratore di macro per Eclipse?

C’è un buon plugin Eclipse per registrare e riprodurre i macro? Ho provato questo , ma non mi ha fatto nulla di buono – sembrava che non fosse pronto per il prime time. Conosco i modelli di editor, ma sto cercando qualcosa che possa essere utilizzato per registrare i miei tasti e poi applicare più […]

Quando citare le variabili?

Sto scrivendo i macro di CMake per la prima volta e ho difficoltà a capire come funzionano le variabili. Più specificamente, ${a} sembra avere un significato diverso da “${a}” . Ad esempio qui: passaggio di una lista a una macro cmake Non riesco a capire quando dovrei aggiungere citazioni e quali sono i principi di […]

Possiamo avere macro ricorsive?

Voglio sapere se possiamo avere macro ricorsive in C / C ++? In caso affermativo, fornire un esempio di esempio. Seconda cosa: perché non riesco a eseguire il codice qui sotto? Qual è l’errore che sto facendo? È a causa delle macro ricorsive? # define pr(n) ((n==1)? 1 : pr(n-1)) void main () { int […]

Macro C e uso di argomenti tra parentesi

Esempio #define Echo(a) a #define Echo(a) (a) Mi rendo conto che probabilmente non c’è una differenza significativa qui, ma perché dovresti voler includere l’ a tra parentesi all’interno del corpo macro? Come lo altera?

Qual è il peggior abuso di macro / pre-processore nel mondo reale che tu abbia mai incontrato?

Qual è il peggiore uso di macro / pre-processore nel mondo reale che abbia mai incontrato (per favore non ci sono risposte IOCCC inventate * haha ​​*)? Per favore aggiungi un breve frammento o una storia se è davvero divertente. L’objective è insegnare qualcosa invece di dire sempre alle persone “non usare mai macro”. ps: […]

Quando era la macro NULL non 0?

Ricordo vagamente di aver letto su questo un paio di anni fa, ma non riesco a trovare alcun riferimento in rete. Puoi darmi un esempio in cui la macro NULL non si è espansa a 0? Modifica per chiarezza: oggi si espande in ((void *)0) , (0) o (0L) . Tuttavia, c’erano architetture dimenticate da […]