Linux за българи: Форуми

Програмиране => Общ форум => Темата е започната от: Vatman в Jan 10, 2007, 10:24



Титла: Компилиране на една Програмка
Публикувано от: Vatman в Jan 10, 2007, 10:24
С един приател искахме да видим комповете ни колко бързо ще преброят да 4 милярда (мен ми отне извесно време). Момчето написа следния сорс (програмата не е лицензирана под GPL :D  :D  :D )
Цитат
#include <stdio.h>
#include <conio.h>

int main()
{
unsigned long int i, sum;

for(sum=i=0;i<4200000000;i++)
{
 sum++;
}
printf("\n suma=%d",sum);
return 0;
}

Под бозата се компилира, но под Линукс не ще. Какво трябва да се направи да се портне. Дава ми
Цитат
Desktop> gcc Text\ File.c
Text File.c:2:19: error: conio.h: No such file or directory
Text File.c: In function ‘main’:
Text File.c:8: warning: this decimal constant is unsigned only in ISO C90
Text File.c:10: error: stray ‘\194’ in program
Text File.c:10: error: stray ‘\160’ in program
Text File.c:14:2: warning: no newline at end of file


Титла: Компилиране на една Програмка
Публикувано от: sunshine в Jan 10, 2007, 10:52
липсва ти библиотека "conio.h" която е често използвана във M$ Windows ако махнеш реда #include <conio.h> според мен ще тръгне да работи
дугото виж опциите на gcc да компилираш
обикновено достатачно е само

gcc File.c или
gcc File.c -o File където File е името на изходния файл

за повече подробности виж описанието на gcc

за другите "unsigned long" пробвай със "long long"


аз бих решил проблема най лесно с цикъл в цикъла
 :D





Титла: Компилиране на една Програмка
Публикувано от: astronom в Jan 10, 2007, 10:57
Цитат (Vatman @ Ян. 10 2007,10:24)
Text File.c:2:19: error: conio.h: No such file or directory

Този файл е DOS-овски. Няма аналог в Unix/Linux.

Цитат (Vatman @ Ян. 10 2007,10:24)

Text File.c:8: warning: this decimal constant is unsigned only in ISO C90

Предполагам, че пищи заради 4200000000. Опитай да сложиш  UL след константата. Т.е. 4200000000UL и пробвай пак.

Цитат (Vatman @ Ян. 10 2007,10:24)

Text File.c:14:2: warning: no newline at end of file

Това е предупреждение, защото файла ти е с Windows формат, т.е. реда се завършва с Carridge Return, докато в Linux е Line Feed.

Другите не са ми познати, но опитай да си смениш формата на файла.





Титла: Компилиране на една Програмка
Публикувано от: sunshine в Jan 10, 2007, 11:00
Text File.c:14:2: warning: no newline at end of file
един нов ред накрайа на файла върши чудесна работа за това

иначе и без него няма проблеми


Титла: Компилиране на една Програмка
Публикувано от: SHTILL в Jan 12, 2007, 23:32
Аз промених 4200000000 със 4200000000UL, gcc test.c и се получава a.out. Какво да го правя  ???


Титла: Компилиране на една Програмка
Публикувано от: nikoni в Jan 12, 2007, 23:52
Цитат (SHTILL @ Ян. 13 2007,00:32)
Аз промених 4200000000 със 4200000000UL, gcc test.c и се получава a.out. Какво да го правя  ???

a.out e програмата. Стартирай я.

gcc -o program source.c
За да компилираш source.c do program

или
mv a.out program

-o върши горния rename.


Титла: Компилиране на една Програмка
Публикувано от: SHTILL в Jan 13, 2007, 00:02
Мерси, стана :)
Цитат
suma=-94967296