Скомпилируйте и запустите file.c с помощью Tiny C Compiler в Windows

Могу ли я получить пошаговые инструкции по компиляции файла file.c с помощью компилятора Tiny C и командной строки Windows?

Некоторые вопросы у меня уже есть:

  1. Куда воткнуть все файлы TCC из загрузки?
  2. Нужно ли мне компилировать stdio.h, чтобы использовать функцию printf? (Я бы хотел сделать "Hello World").

Вот как выглядит мой file.c:

// #include <stdio.h> // for printf 

int main(void){
printf("Hello Eric. You've compiled and run the program!  \n");
}

Спасибо,


ИЗМЕНИТЬ 1

Пока я запускаю его и получаю сообщение об ошибке: включаемый файл 'stdio.h' не найден.


person Eric Brotto    schedule 17.02.2011    source источник


Ответы (1)


  1. вы кладете файлы куда хотите.

  2. нет, вам не нужно компилировать stdio.h, чтобы использовать функцию printf().

tcc-распределение (tcc-0.9.25-win32-bin \ tcc) состоит из этого:

 tcc.exe
 tiny_impdef.exe
 tiny_libmaker.exe
 include\
   stdio.h ...
 lib\
   libtcc1.a ...
 doc\
 examples\  

если вы не разорвите этот порядок, tcc должен работать из коробки (я скомпилировал hello.c несколько секунд назад). если вы разделили файлы или что-то еще не работает:

% tcc.exe -Ipath/to/include/folder/of/tcc input.c -L/path/to/lib/folder/of/

посмотрев исходный код tcc, я обнаружил следующее:

/* on win32, we suppose the lib and includes are at the location
   of 'tcc.exe' */

char path[1024], *p;
GetModuleFileNameA(NULL, path, sizeof path);
p = tcc_basename(normalize_slashes(strlwr(path)));

поэтому по умолчанию предполагается, что библиотеки и заголовки находятся на месте рядом с tcc.exe.

person akira    schedule 17.02.2011
comment
Не могли бы вы немного объяснить, что вы делаете в этом первом фрагменте кода? Эти команды я ввожу в подсказку перед запуском кода? - person Eric Brotto; 17.02.2011
comment
@ Эрик Бротто: первый блок - это список файлов в дистрибутиве tcc. второй блок - это то, что вы можете ввести в подсказку. - person akira; 17.02.2011
comment
Спасибо и извините за мое невежество. Так что я просто запускаю второй блок кода (один лайнер), и со мной все в порядке? - person Eric Brotto; 17.02.2011
comment
@ Эрик Бротто: если вы сохраните файлы дистрибутива tcc нетронутыми, вы просто запустите tcc.exe file.c - person akira; 17.02.2011
comment
Это сработало! Ты жжешь! Спасибо, что вернулись к моим комментариям :) - person Eric Brotto; 17.02.2011