Articles of linea

Collegamento della funzione inline

Non riesco a dare un senso al seguente comportamento: un’intestazione con alcuni tipi di base e un’altra intestazione in cui utilizzo questi tipi in diverse funzioni. Successivamente ho iniziato a build classi basate sui miei tipi e funzioni definiti. Nell’intestazione della funzione se lascio la seguente firma: void whateverFunction(parameters) Il linker sottolinea che ci sono […]

Come impongo a gcc di incorporare una funzione?

__attribute__((always_inline)) una funzione per essere inarcata da gcc?

OpenGL ES iPhone – disegno anti alias linee

Normalmente, useresti qualcosa come: glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glEnable(GL_BLEND); glEnable(GL_LINE_SMOOTH); glLineWidth(2.0f); glVertexPointer(2, GL_FLOAT, 0, points); glEnableClientState(GL_VERTEX_ARRAY); glDrawArrays(GL_LINE_STRIP, 0, num_points); glDisableClientState(GL_VERTEX_ARRAY); Sembra buono nel simulatore dell’iPhone, ma su iPhone le linee diventano estremamente sottili e senza alcun anti aliasing. Come si ottiene AA su iPhone?

Come posso dire a gcc di non incorporare una funzione?

Diciamo che ho questa piccola funzione in un file sorgente static void foo() {} e costruisco una versione ottimizzata del mio binario, ma non voglio che questa funzione sia in linea (per scopi di ottimizzazione). c’è una macro che posso aggiungere in un codice sorgente per evitare che si inlini?

Ha senso usare la parola chiave inline con i modelli?

Poiché i template sono definiti all’interno di intestazioni e il compilatore è in grado di determinare se l’inlining di una funzione è vantaggioso, ha senso? Ho sentito che i compilatori moderni sanno meglio quando integrare una funzione e ignorano il suggerimento in inline . modifica: vorrei accettare entrambe le risposte, ma questo non è ansible. […]

Qual è la differenza tra la funzione “statico” e “statica in linea”?

IMO entrambi rendono la funzione solo per un ambito dell’unità di traduzione. Qual è la differenza tra la funzione “statico” e “statica in linea“? Perché dovrebbe essere inserito in inline in un file di intestazione, non nel file .c ?

Qual è lo scopo delle funzioni di amico in linea?

Dopo aver cercato SO, una domanda mi ha insegnato che lo scope lessicale di una funzione friend inline è la class in cui è definito, il che significa che può accedere ad esempio ai typedef s nella class senza qualificarli. Ma poi mi sono chiesto quale sia l’effettiva portata di tale funzione? GCC almeno rifiuta […]

Il linker funziona in linea?

Nel file file1.c , c’è una chiamata a una funzione implementata nel file file2.c . Quando file1.o e file2.o in un file eseguibile, se la funzione in file2 è molto piccola, il linker rileverà automaticamente che la funzione è piccola e incorpora la sua chiamata?

Come trovare il punto di intersezione tra una linea e un rettangolo?

Ho una linea che va dai punti A a B; Ho (x, y) di entrambi i punti. Ho anche un rettangolo centrato su B e la larghezza e l’altezza del rettangolo. Devo trovare il punto nella linea che interseca il rettangolo. C’è una formula che mi dà il (x, y) di quel punto?

Quando usare la funzione inline e quando non usarla?

So che in linea è un suggerimento o una richiesta al compilatore e viene utilizzato per evitare le spese generali di chiamata. Quindi su quali basi si può determinare se una funzione è candidata all’in -ining o no? In tal caso si dovrebbe evitare l’inlining?