Dyskusja wikipedysty:Mina86
Dodaj tematCieszymy się, że udało Ci się do nas dołączyć! Na początek polecamy przydatne strony pomocy:
- O Wikiboks
- Pomoc projektu - główna strona pomocy
- Indeks zasad, zaleceń i pomocy dla wikipedystów
- o tym czym Wikibooks jest
- czym różni się od Wikipedii
- informacje prawne i prawa autorskie
- wskazówki na temat tworzenia podręczników i nazewnictwa stron
- etykieta i neutralny punkt widzenia
- neutralny punkt widzenia
- FAQ - często zadawane pytania i pytania nowicjuszy (zadaj nam pytanie!);
- przeglądanie
Poniżej znajdują się dalsze, użyteczne dla użytkownika strony
- szybka pomoc
- edytowanie stron, mechanizm Wiki i historia strony
- jak można ilustrować artykuły
- korzystanie z szablonów,
- edycja wzorów matematycznych i użycie znaczników HTML,
- brudnopis
- Portal użytkowników.
Śmiało edytuj strony i pamiętaj, że zawsze możesz liczyć na pomoc innych użytkowników.
Chcąc skontaktować się z innym wikipedystą, wpisuj się na stronę jego dyskusji - wtedy dana osoba otrzyma komunikat o wiadomości i będzie mogła Ci odpowiedzieć. Zapraszamy również na IRC-a: #wikibooks-pl. Aktywnych edytujących zobaczysz na ostatnich zmianach. W sprawach projektu dyskutuj w Barze.
Zapoznaj się proszę z Wikibooks:Portal użytkowników i przeczytaj tam wskazane artykuły, aby ten projekt używać zgodnie z wytycznymi. Nie kopiujemy materiałów objętych prawami autorskimi, tzn. nie wstawiamy tu tekstów należących do kogoś bez jego zgody.
Należy sobie przypomnieć, że Wikibooks to miejsce dla otwartych podręczników tworzonych przez Wikipedystów, nie umieszczamy tu informacji o innych książkach.
Przy okazji, jeśli spodobało ci się Wikibooks, poleć nas swoim znajomym - potrzebujemy promocji i rąk do pracy.
Mamy nadzieję, że zostaniesz z nami na dłużej! Odwiedź: Jak przeglądać Wikibooks,a także: Zasady i wskazówki, by skutecznie samemu lub z pomocą innych, rozwiązywać swoje problemy na tym serwisie! Mamy nadzieję, że zostaniesz z nami na dłużej! Wcelu poznania niektórych mechanizmów składni MediaWiki możesz bez edycji kliknąć edytuj, podejrzeć, i kliknąć ponownie moduł. MonteChristof DMC 00:14, 5 sty 2007 (CET)
Może zacznę od tego, że bardzo mi miło, że wykazujesz zainteresowanie tym podręcznikiem oraz aktywnie współpracujesz przy jego ulepszaniu. Jednak patrząc na Twoje dotychczasowe działanie chciałbym zwrócić Ci uwagę, że nie wszystkie zmiany są prawdziwe. Przykładem może być mój revert rozdziału o tablicach, gdzie niestety popełniłeś błąd merytoryczny. Mój gcc z opcją -std=c99 niestety nie skompilował kodu. Dlatego proszę Cię, abyś dyskutował z innymi autorami tego podręcznika ewentualne zmiany. W ten sposób będziemy mogli lepiej współpracować nad tym podręcznikiem. Przy okazji dziękuję za wyłapanie poważnych błędów ;-). --Kj 21:09, 6 sty 2007 (CET)
Ej no sorry... mój GCC ;) Skompilował bez problemów:
[mina86@erwin ~/code]$ gcc --version gcc (GCC) 3.4.6 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. [mina86@erwin ~/code]$ cat const_tab.c int main(void) { int foo = 10; int tab[foo]; tab[0] = 0; return tab[0]; } [mina86@erwin ~/code]$ gcc -std=c99 -pedantic -Wall -Wextra const_tab.c [mina86@erwin ~/code]$
Tak samo się zachował gcc na moim serwerze uczelnianym:
mion<mnazarew>(258)~$ gcc --version gcc (GCC) 3.4.3 (csl-sol210-3_4-branch+sol_rpath) Copyright (C) 2004 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. mion<mnazarew>(259)~$ gcc -std=c99 -pedantic -Wall -Wextra const_tab.c
i to obie wersje:
mion<mnazarew>(262)~$ gcc --version gcc (GCC) 4.0.2 Copyright (C) 2005 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. mion<mnazarew>(263)~$ gcc -std=c99 -pedantic -Wall -Wextra const_tab.c mion<mnazarew>(264)~$
no i rzecz jasna jeszcze kompilator Suna (aczkolwiek nie jestem pewny jak to cudo ustawić w tryb pełnej zgodności):
mion<mnazarew>(270)~$ cc -V cc: Sun C 5.8 2005/10/13 usage: cc [ options] files. Use 'cc -flags' for details mion<mnazarew>(271)~$ cc -xc99 const_tab.c mion<mnazarew>(272)~$
Zresztą - co tam kompilatory. Wkleje sobie fragment finalnego drafta standardu C99:
6.7.5.2 Array declarators
[#1] The [ and ] may delimit an expression or *. If [ and ] delimit an expression (which specifies the size of an array), it shall have an integer type. If the expression is a constant expression then it shall have a value greater than zero. The element type shall not be an incomplete or function type. [#2] Only ordinary identifiers (as defined in 6.2.3) with both block scope or function prototype scope and no linkage shall have a variably modified type. If an identifier is declared to be an object with static storage duration, it shall not have a variable length array type.
[#7] EXAMPLE 3 The following declarations demonstrate the compatibility rules for variably modified types. extern int n; extern int m; void fcompat(void) { int a[n][6][m]; int (*p)[4][n+1]; int c[n][n][6][m]; int (*r)[n][n][n+1]; p = a; // Error - not compatible because 4 != 6. r = c; // Compatible, but defined behavior // only if n == 6 and m == n+1. }
- Miałeś rację. Mój błąd polegał na tym, że przy deklaracji wypełniałem od razu strukturę danymi:
int a = 3; int tab[a] = {1,2,3};
- Dlatego też gcc się rzucał... --Kj 13:31, 7 sty 2007 (CET)
Aha, jeszcze jedno - takie tablice w GCC są nie do końca zaimplementowane: [1] ;) --Kj 13:55, 7 sty 2007 (CET)
- Wiem :) --Mina86 14:00, 7 sty 2007 (CET)
Jedna mała prośba - nie usuwaj "stopki" (nawigacja, interwiki itp.) stron z podręcznika o C. --Kj 17:37, 20 sty 2007 (CET)
Wikibooks
[edytuj]Tak przy okazji, mógłbyś zdradzić, jak trafiłeś na Wikibooks? Jeśli masz czas to też: co ci się w Wikibooks jako projekcie podoba a co nie? --Derbeth talk 18:35, 7 sty 2007 (CET)
Na #forum.slackware.pl niejaki Grucha zaczał się dopytywać o tablice wielowymiarowe w C. Cośtam mu z niejakim dozzim podaliśmy i tak jakoś wyszło, że podał linka do wikibooks (konkretnie do opisu funkcji realoc, gdzie podany był sposób alokowania pamięci postaci float *tablica = (float*)malloc(costam * sizeof(float));
, na który stałem się uczulony po tym jak zacząłem czytać comp.lang.c, a ponieważ idea OS nie jest mi obca postanowiłem poprawić ten karygodny ;) błąd (wówczas jeszcze nie miałem konta). A potem już tak jakoś postanowiłem, że przejrzę również pozostałe strony. ;)
Oczywiście o samym istnieniu Wikibooks wiedziałem już od dawna, ale jakoś nigdy nie miałem okazji tutaj zajrzeć. Zresztą, pewnie gdybym sam czegoś szukał to na polską wersję i tak bym nie trafił po Wikipedię zazwyczaj czytam po angielsku.
Co mi się podoba/niepodoba? Trudno powiedzieć - w sumie nie mam zdania na ten temat. ;) --Mina86
Odpowiedzi
[edytuj]W projektach Wiki przyjeło się, że odpowiada się na stronie dyskusji osoby pytającej wtedy pojawi jej się taki żółty pasek jaki Ci się przed chwilą pojawił. Pozdrawiam Akira ? 19:59, 13 sty 2007 (CET)
Draft C99
[edytuj]Czy wprowadzasz do podręcznika rzeczy, które są w propozycji standardu?
Według mnie w C powinny być jasno oznaczone i oddzielone od reszty rzeczy, które są niezgodne ze standardem ANSI C. Zwłaszcza takie "patologie" jak komentarze jednolinijkowe, zwykłe stałe w rozmiarach tablic itp. rodem z C99 nie powinny pojawiać się w przykładach kodu, tak, aby te przykłady dały się kompilować na jak największej liczbie platform. --Derbeth talk 14:45, 21 sty 2007 (CET)
libc
[edytuj]Gdybyś jeszcze mógł podlinkować hasła, które napisałeś, bo wiele z nich "wisi w powietrzu". --Derbeth talk 21:23, 13 lut 2007 (CET)