Bonjour,
Est-ce qu'une bonne âme voudrait bien me fournir un bout de code qui permettrait de mettre en évidence les optimisations possibles lors de l'usage d'un pointeur restreint sous GCC 4.7.2.5 ?
Je viens d'essayer de faire un programme (un peu bateau) de copie de mémoire :
J'obtiens exactement le même code assembleur dans tous les niveaux d'optimisation possibles que j'utilise le mot clef restrict ou pas...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 #include <stdio.h> //using namespace std; #define IT 900000 void mcp ( int nb, #ifdef WITH const char * const restrict ptr_src, char * const restrict ptr_dst #else const char * const ptr_src, char * const ptr_dst #endif ){ for (int i=0; i<nb; i++) *(ptr_dst+i)=*(ptr_src+i); } int main(void){ int tab[IT]; for (int i = 0; i < IT; i++) *(tab+i)=i; int tb[IT]; mcp(IT * sizeof(int),(char*) tab,(char*) tb); return 0; }
Du coup je ne vois pas trop l'utilité du truc.
Merci d'avance.
Partager