История изменений
Исправление gag, (текущая версия) :
Tiny C Compiler
#!/usr/bin/tcc -run
#define _GNU_SOURCE // get_current_dir_name
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main(int argc, char* argv[])
{
printf("Hello world!\n");
char *cur_dir_name = get_current_dir_name();
printf("cwd: %s\n", cur_dir_name);
printf("args:\n");
for (int i = 1; i < argc; i++)
printf(" %s\n", argv[i]);
free(cur_dir_name);
return 0;
}
gcc на компиляцию тратит около 70 мс.
Исправление gag, :
Tiny C Compiler
#!/usr/bin/tcc -run
#define _GNU_SOURCE // get_current_dir_name
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main(int argc, char* argv[])
{
printf("Hello world!\n");
char *cur_dir_name = get_current_dir_name();
printf("cwd: %s\n", cur_dir_name);
printf("args:\n");
for (int i = 1; i < argc; i++)
printf(" %s\n", argv[i]);
free(cur_dir_name);
return 0;
}
Исходная версия gag, :
Tiny C Compiler
#!/usr/bin/tcc -run
#define _GNU_SOURCE // get_current_dir_name
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main(int argc, char* argv[])
{
printf("Hello world!\n");
char *cur_dir_name = get_current_dir_name();
printf("cwd: %s\n", cur_dir_name);
printf("args:\n");
for (int i = 1; i < argc; i++)
printf(" %s\n", argv[i]);
free(cur_dir_name);
return 0;
}
Где-то 12 мс.