… | |
… | |
390 | |
390 | |
391 | id2file [(*i).first] = fileid; |
391 | id2file [(*i).first] = fileid; |
392 | } |
392 | } |
393 | |
393 | |
394 | f.close (); |
394 | f.close (); |
395 | |
|
|
396 | fragments.clear (); |
395 | fragments.clear (); |
397 | |
396 | |
398 | system (("gcc -O6 -c -o " + fo + " " + fc).c_str ()); |
397 | system ((CC " " CFLAGS " -o " + fo + " " + fc).c_str ()); |
399 | |
|
|
400 | //unlink (fc.c_str ()); |
398 | unlink (fc.c_str ()); |
401 | |
399 | system ((LD " " LFLAGS " -o " + fso + " " + fo).c_str ()); |
402 | system (("gcc -O6 -nostdlib -lgcc -shared -o " + fso + " " + fo).c_str ()); |
|
|
403 | |
|
|
404 | printf ("%s\n", fso.c_str ()); |
|
|
405 | |
|
|
406 | #if 0 |
|
|
407 | void *so = dlopen (fso.c_str (), RTLD_LAZY); |
|
|
408 | assert (so); |
|
|
409 | |
|
|
410 | funptr = dlsym (so, id.c_str ()); |
|
|
411 | assert (funptr); |
|
|
412 | #endif |
|
|
413 | |
400 | |
414 | save_index (); |
401 | save_index (); |
415 | } |
402 | } |
416 | |
403 | |
417 | unlock (); |
404 | unlock (); |