Kriss Napisano Maj 28, 2005 Zgłoszenie Share Napisano Maj 28, 2005 Wiecie co.. zabrałem się właśnie za naukę C. Programuje w Delhi także nie jestem strasznym tępakiem w tym. Jednak nie rozumiem sprawy z #include. Mianowicie skąd mam wiedzieć w jakim pliku jest nagłówek do funkcji main ? I czy każda wersja systemu i kompilatora ma to w tych samych plikach ? Jak dam komuś mój program w wersji skompilowanej, to wtedy nie ma problemu prawda? bo to już zostało dodane do pliku u mnie i nie musi on mieć kompilatora... Podsumowując gdzie są jakie nagłówki funkcji w Fedorze 3 kompilator gcc... Czy może jest jakiś lepszy kompilator... Proszę pomóżcie..... Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
mynus Napisano Maj 28, 2005 Zgłoszenie Share Napisano Maj 28, 2005 Mianowicie skąd mam wiedzieć w jakim pliku jest nagłówek do funkcji main ? ??? funkcja main nie jest zapisana w żadnej bibliotece, dyrektywą include dołączasz pliki nagłowkowe biliotek I czy każda wersja systemu i kompilatora ma to w tych samych plikach ? nie, ale większość się zgadza np: stdio, stdlib, Jak dam komuś mój program w wersji skompilowanej, to wtedy nie ma problemu prawda? bo to już zostało dodane do pliku u mnie i nie musi on mieć kompilatora... zgadza się, nie musi mieć ani kompilatora ani bibliotek Podsumowując gdzie są jakie nagłówki funkcji w Fedorze 3 kompilator gcc... /usr/include/ zajrzyj też tutaj: http://www.dinkumware.com/ (głównie C++) Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
macmus Napisano Maj 29, 2005 Zgłoszenie Share Napisano Maj 29, 2005 ale skompilujesz pod linuchem to ruszy pod (tylko) lunuchem .. dlatego wole crossplatform java Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
KozaK Napisano Maj 29, 2005 Zgłoszenie Share Napisano Maj 29, 2005 ale skompilujesz pod linuchem to ruszy pod (tylko) lunuchem .. I to tez nie w kazdym przypadku, bo jak program zostanie skompilowany na platformie 64 bitowej, to na 32 bitowej nie ruszy· Jest jakas opcja do kompilatora, ktora powoduje, ze kompilator na platformie 64 bitowej kompiluje programy pod architekture 32 bitowa, ale nie pamietam jaka. Musialbys sprawdzic w dokumentacji, albo poszukac na forum/googlach etc. Pozdrawiam. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Sanczo Napisano Maj 29, 2005 Zgłoszenie Share Napisano Maj 29, 2005 KozaK Jest jakas opcja do kompilatora, ktora powoduje, ze kompilator na platformie 64 bitowej kompiluje programy pod architekture 32 bitowa, Po krótkiej lekturze manuala gcc mam: -m32 lub -m64 Odpowiednio dla architektury 32 i 64 bitowej. pozdro Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
tomcio15 Napisano Maj 31, 2005 Zgłoszenie Share Napisano Maj 31, 2005 Jezeli piszesz w czystym C to teroretycznie (a w zasadzie praktycznie) program będzie działał na wszystkich wersjach systemu pod którym został skompilowany, ale tylko pod warunkiem, ze zostanie uruchomiony na takiej samej platformie sprzetowej. Oczywiście ta zasada działa, ale w niektórych przypadkach może się nie udać, np. gdy skompilujemy program nowym gcc 4.x w oparciu o nanjnowszy gibc, to takowy program moze nie działac pod np. Red Hatem 5.0... "Czyste C" - kod języka C zgodny z jakims tam standardem jezyka C (chyba ISO, nie pamiętam prosze mnie poprawić) na ten standard składaja się tzw biblioteki standardowe (stdio.h, string.h itd. itp.). Taki kod da się skompilować po Windowsem, Linuksem, BeOSem, itd. jeżeli system obsługuje język C. Schody zaczynają się gdy wykorzystujemy specyficzne bbilioteki (np. gtk+). Nie wszystkie biblioteki mają swoje porty na różnych systemach i które występuja w wielu wersjach. Wspomniane GTK występuje równiez w systemie Windows, ale z teg co wiem API jest nieco inne na Linuksie i na windowsie. Dalej, program skompilowany na linuksie z obsługa gtk w wersji 2.6 prawdopodobnie nie będzie działał na linuksie z gtk v2.4. Za pomoca dyrektywy #include dołaczasz pliki nagłówkowe bibliotek. taki plik nagłówkowy zawiera prototypy funkcji zawartych w owej bibliotece. W wypadku języków takich jak Java czy C# kod skompilowany na jednym systemie ma działać (teroretycznie, bo nie zzwsze tak jest) na innym osie, a jeżeli to się nie uda to chociaz sam kod skompilujemy na innnym systemie bez zmian. Takie jezyki odznaczaja się jednak mniejsza wydajnością i nie nadaja się do wszystkiego... Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
mynus Napisano Maj 31, 2005 Zgłoszenie Share Napisano Maj 31, 2005 "Czyste C" - kod języka C zgodny z jakims tam standartem jezyka C (chyba ISO, nie pamiętam prosze mnie poprawić) standard ANSI języka C Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
tomcio15 Napisano Czerwiec 1, 2005 Zgłoszenie Share Napisano Czerwiec 1, 2005 O włśnie, o tem standart mi chodziło Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się