2011-01-08 6 views
14

Я хочу запускать программы на Ubuntu 10.10, потому что в моей школе колледжа я дал совет по изменению os, они используют замену xp для ubuntu, и они сделали это по моей просьбе, но в нашей лаборатории колледжа все учащиеся ежедневно практикуют c программированием, и теперь есть проблемы с запуском программ c в ubuntu 10.10, поэтому, пожалуйста, помогите мне.pleaseКак запустить программу на Ubuntu?

Есть ли кто-нибудь, кто может дать мне решение по этой теме, пожалуйста, быстро.

Спасибо!

+5

Итак, вы попросили изменить ОС из Windows на Ubuntu, и теперь вы не знаете, как скомпилировать C-программы на Ubuntu? – BoltClock

+8

Учитывая, что он спешил, я считаю, что мы все опаздываем. – jweyrich

+1

Зачем ты взял свой совет, если ты так явно не знаешь !? Если вы хотите использовать Ubuntu, сделайте это на XP в виртуальной машине, не отрывайте рабочую ОС, когда вам нужно выполнить работу! – Clifford

ответ

40
  1. Откройте окно терминала.

  2. Скомпилируйте исходный код. например если вы используете GCC компилятор, вам нужно ввести что-то вроде:

    gcc my_source.c -o my_app 
    
  3. Запустите исполняемый файл, например:

    ./my_app 
    
12

Мой ответ немного отличается к другим:

gcc -ansi -pedantic -W -Wall -omyprog myprog.c 
./myprog 

Дополнительные флаги (-ansi -pedantic -W -Wall) являются невероятно полезно. Они делают следующее:

  • -W -Wall Включает много полезных предупреждений. Эти предупреждающие сообщения часто будут первым намеком на то, что ваша программа имеет серьезную ошибку, которая требует немедленного внимания. Без флагов ваш компилятор просто даст вам вашу программу, не сообщив вам об этих потенциальных проблемах.
  • -ansi -pedantic gcc соответствует строго стандарту C; опять же, лишняя строгость означает меньшую вероятность ошибок, которые не пройдут мимо компилятора.
+2

Я бы добавил '-Wextra' тоже. –

+1

'-ansi' обеспечивает соответствие требованиям C89; что может быть нежелательным. ANSI больше не является органом стандартизации для C (с 1990 года), используйте -std = , если вы считаете необходимым указать какое-либо конкретное соответствие. '-специальный' редко бывает полезен или необходим, так как его название предполагает * педантичность *. Я предлагаю, чтобы '-Wall -Werror' был достаточным. В документации GCC отсутствует опция -W самостоятельно; что это делает? – Clifford

+1

@Clifford вы правы в '-ansi' vs' -std = c99', но ansi c89 функционально идентичен iso c90, поэтому '-ansi' по существу идентичен' -std = c90'. Кроме того, «-патентный» необходим для полного стандартного соответствия; без него несоблюдение программ не обязательно выдает диагностику по мере необходимости. –

Смежные вопросы