Компиляция и компоновка C-программы

Я изучаю компилятор компоновщика и загрузчик и пытался понять, как работает компоновщик и загрузчик на моем компьютере с Ubuntu 12.04

Я написал 2 простых файла ".c" следующим образом

test.c

#include<stdio.h>
int main(int argc, char **argv)
{
  printf("%d",test_fun(10));
}

test2.c

#include<stdio.h>
int test_fun(int a)
{
  return a*10;
}

Затем я выполнил следующие команды

cc -c test.c

cc -c test2.c

ld test.o test2.o -o a.out -lc --entry main

Теперь в моем текущем каталоге генерируется файл.out. Я вижу файл, когда набираю ls но когда я пытаюсь запустить файл как

./a.out

Я получаю ошибку

bash: ./a.out: No such file or directory

Что я делаю неправильно? Пожалуйста, помогите мне?

0 ответов

Другие вопросы по тегам