Salut,
J'ai un léger problème pour réussir à exécuter des blocks d'instructions que j'ai créé dynamiquement
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 void blockExecute() { size_t size = &&block_end - &&block_begin; void* buf = malloc(size); if (buf == NULL) { puts("allocation du buffer impossible"); fflush(stdout); exit(-1); } void* block = memcpy(buf, &&block_begin, size); puts("début de l'exécution"); fflush(stdout); goto *block; block_begin: puts("coucou"); block_end: return; } int main(int argc, char** argv) { blockExecute(); return 0; }
et ça me sort ceci :
gorgonite@GorgonMobile$ make BasicBlocks.exe
gcc -O0 -Wall BasicBlocks.c -o BasicBlocks.exe
gorgonite@GorgonMobile$ ./BasicBlocks.exe
début de l'exécution
Erreur de segmentation (core dumped)
si quelqu'un voit comment s'y prendre... ça m'intéresserait![]()
Partager