kategoria: ANSI C
[#61] Re: Wziąłem się za C# i potrzebuje pomocy

@tygrysekHD, post #59

Proponuje używać póki co serwisów typu pastebin.com do pokazywania kodu.
[#62] Re: Wziąłem się za C# i potrzebuje pomocy

@asman, post #60

Kod wygląda tak:


http://pastebin.com/yrT8A7HX


Visual 2010 c++ expres wywala po wciśnięciu f5 coś takiego:
1------ Build started: Project: aaaa, Configuration: Debug Win32 ------
1  aaaa.cpp
1LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========




Benedykt Dziubałtowski
[#63] Re: Wziąłem się za C# i potrzebuje pomocy

@asman, post #60

Próbowałem tez tego użyć http://sourceforge.net/projects/mingw/files/Installer/mingw-get-inst/mingw-get-inst-20120426/mingw-get-inst-20120426.exe/download. Ale po zainstalowaniu i nie działa. widzę, ze sytuacja C pod Windowsem jest opłakana.


Benedykt Dziubałtowski
[#64] Re: Wziąłem się za C# i potrzebuje pomocy

@Benedykt Dziubałtowski, post #62

e tam, to dziala :) na Visual Studio 2010.

#include @StdAfx.h@
#include @stdio.h@

int main(void)
{
for ( ; ; )
printf("halo\n");
}

znaki @ zastapic odpowiednio :)

Musisz wybrac w Menu, New, nastepnie Projekt, nastepnie wybrac z listy Visual C++, potem Win32, z listy obok Win32 Console Application. Nie ma bata, musi dzialac :)

Ostatnia aktualizacja: 18.10.2012 10:11:48 przez gx
[#65] Re: Wziąłem się za C# i potrzebuje pomocy

@Benedykt Dziubałtowski, post #62

Ten przykład u mnie działa (Visual C++ 2010), sprawdź czy robisz tak jak pisze kolega wyżej, czy zakładasz prawidłowy projekt.

Do C++ na początek polecam CodeBlocks - http://www.codeblocks.org z gcc na pokładzie ;).

Ostatnia aktualizacja: 18.10.2012 10:19:15 przez tygrysekHD
[#66] Re: Wziąłem się za C# i potrzebuje pomocy

@gx, post #64

No to coś u mnie jest nie tak bo sypie radośnie błędami jak wyżej :(


Benedykt Dziubałtowski
[#67] Re: Wziąłem się za C# i potrzebuje pomocy

@tygrysekHD, post #65

Dzięki za rady ale ja nie chce c++ tylko c.


Benedykt Dziubałtowski
[#68] Re: Wziąłem się za C# i potrzebuję pomocy

@Benedykt Dziubałtowski, post #67

W Code Blocks możesz sobie ustawić forum o programowaniu w C/C++ w CB i instalacja CB .

Ostatnia aktualizacja: 18.10.2012 10:42:05 przez Ender
[#69] Re: Wziąłem się za C# i potrzebuje pomocy

@Benedykt Dziubałtowski, post #66

bo to jest blad linkera, wiec masz cos nie tak z narzedziami lub wybrales niewlasciwy projekt.

Zrob moze Clean, Rebuild... (w menu Build).
[#70] Re: Wziąłem się za C# i potrzebuje pomocy

@Benedykt Dziubałtowski, post #63

Nie za bardzo rozumiem co to znaczy "nie działa". Postanowiłem nagrać dla Ciebie nawet 2 filmiki:

Uruchomienie instalacji

Kompilacja pierwszego programu
[#71] Re: Wziąłem się za C# i potrzebuje pomocy

@Benedykt Dziubałtowski, post #67

Dzięki za rady ale ja nie chce c++ tylko c.
Wyrzuć Benek tego Windowsa na śmietnik, czyli tam, gdzie jego miejsce... GCC 2.95.3 na klasyka spokojnie Ci wystarczy jeżeli chcesz pisać nawet duże rzeczy w C. Jeżeli masz w klasyku coś w rodzaju 68030 i 16 MB fastu (no i dysk twardy, czy jakąś CF-kę), będziesz mógł kompilować naprawdę duże projekty i wcale nie będzie to trwało nie wiadomo ile. Osobiście zaczynałem naukę C na A500 z twardym dyskiem i 2 MB fast, jeszcze z GCC 2.7.2... O tym jak zacząć zabawę z GCC na klasyku popełniłem swego czasu artykuł w papierowym eXecu, teraz jest zdaje się dostępny również w PDF-ach. Hmm, jak widzę, trzeba mieć konto tam, żeby pobrać, ale jakby co, to ja mam te teksty gdzieś na dysku...
[#72] Re: Wziąłem się za C# i potrzebuje pomocy

@strim, post #70

Byłem pewny, ze to jest jakiś zintegrowany edytor a widzę, ze trzeba w notatniku pisać. Ja próbowałem uruchomić któryś z programów z katalogu bin ale jak widać nie działa to.



Benedykt Dziubałtowski
[#73] Re: Wziąłem się za C# i potrzebuje pomocy

@Benedykt Dziubałtowski, post #72

Tak jak sugerowałem wcześniej, możesz użyć Notepad++ czy dowolnego innego edytora. Więc nie trzeba w notatniku pisać. Poza tym dalej nie rozumiem co masz na myśli mówiąc "nie działa to". Wszystko działa tak jak na filmiku widać.

Ostatnia aktualizacja: 18.10.2012 11:01:05 przez strim
[#74] Re: Wziąłem się za C# i potrzebuje pomocy

@strim, post #73

Jeśli chodzi o edytory dla programistów pod Windows to wcześniej używałem Crimson Editora http://www.crimsoneditor.com/, a ostatnio od paru lat PSPada http://www.pspad.com/- polecam.
[#75] Re: Wziąłem się za C# i potrzebuje pomocy

@zyga64, post #74

TO MI DZIAŁA i nawet skopiowało hello world :)


Benedykt Dziubałtowski
[#76] Re: Wziąłem się za C# i potrzebuje pomocy

@Benedykt Dziubałtowski, post #75

Gratulacje ;) OK
[#77] Re: Wziąłem się za C# i potrzebuje pomocy

@krashan_, post #71

Osobiście zaczynałem naukę C na A500 z twardym dyskiem i 2 MB fast


Tak naprawde potrzeba duzo mniej. Zawsze dziwia mnie poczatkujacy "Hello world" instalujacy wielkie wielo Gigabajtowe srodowiska programistyczne typu RAD itp... zamulacze.

---

Jako dowod dam to Benkowi:

kompilator zajmuje jako archiwum 280 KB http://bellard.org/tcc/
edytor notepad2 (choc wystarczy tez notatnik) 300KB http://www.flos-freeware.ch/notepad2.html

rozpakowujesz kompilator do C: (tworzy sie kataolog tcc), wrzucasz notepad2 do tego katalogu c:\tcc.

nastepnie wchodzisz do wiersza polecen windows i przechodzisz do katalogu tcc, polecenie: cd c:\tcc

- tam wykonujesz polecenie: notepad2 test.c (bez 2 uruchomi sie notatnik windows)
- wpisujesz kod swojego programu, zapisujesz, wychodzisz lub nie.
- w wierszu polecen wpisujesz polecenie: tcc test.c
- jak nie ma zadnych bledow w kodzie zrodlowym wystarczy wpisac: test.exe, albo po prostu test

I tez dziala

Jak widac, nie potrzeba nawet 1MB srodowiska do takiego programowania w C, i to na Windows

Ostatnia aktualizacja: 18.10.2012 13:06:07 przez gx
[#78] Re: Wziąłem się za C# i potrzebuje pomocy

@Benedykt Dziubałtowski, post #75

TO MI DZIAŁA i nawet skopiowało hello world


To może ja się wtrącę.
Zintegrowane środowiska są dobre w 2 wypadkach:
- jesteś zaawansowanym programista pracującym w firmie przy dużym projekcie z wieloma innymi osobami
- twoim targetem są jakieś inne "powiązane" platformy (np. Android, iOS, Windows Phone...)

W każdym innym wypadku robią więcej krzywdy niż pożytku. Zaczynając na czymś takim powstają tak zwani "programiści sekretarki" których głównym zadaniem jest po prostu bicie tego kodu bez zastanowienia co/jak/może jakiś lepszy algorytm. Widziałem ludzi biorących pieniądze za pisanie kodu, a nie potrafiących zaimplementować stosu...

Proponuję Geany jako pierwszy edytor kodu (oczywiście jak ktoś nie ma cierpliwości do ViM-a ;))

Druga sprawa to wybór systemu operacyjnego.
IMHO jeżeli zaczynasz programować to warto spróbować na platformach unix-like. Tam po prostu wyłazi to, że system jest głównie robiony przez programistów dla programistów ;) Jako początkującemu polecam np. Xubuntu ;)

Kolejna sprawa to wybór języka. Sam zaczynałem od C, ale mam wrażenie, że powszechne rozpoczynanie nauki od Pascala(FreePascal) nie jest takie do końca głupie. Wcale nie chodzi o to, że sam język jest jakiś super-łatwy, rozwojowy itd.
Po prostu książki o nim traktujące są w większości pisane pod osoby, które swoją przygodę z programowaniem dopiero rozpoczynają co dość rzadko występuje w książkach traktujących o innych językach.

Pozdrawiam
[#79] Re: Wziąłem się za C# i potrzebuje pomocy

@Benedykt Dziubałtowski, post #21

Aby pisać w czystym C, musisz zainstalować Visual C++ Express. W projekcie musisz tworzyć pliki z rozszerzeniem .c, tylko takie będzie kompilował jako czyste C. Domyślnie będzie ci proponował tworzenie plików .cpp które są kompilowane jako C++.

Aby zacząć po prostu utwórz "Empty Project". Potem dodaj do niego pusty plik .c (prawy przycisk na nazwie projektu w Solution Explorerze - new, wybierasz "C++ file" ale zamieniasz w nazwie ".cpp" na ".c").

C to dla ciebie najlepszy wybór. W C możesz pisać dla każdej platformy, od Commodore 64 czy ZX Spectrum, poprzez Amigę aż po PC.

Visual Studio gorąco polecam głównie ze względu na genialny debugger, DUŻO wygodniejszy i prostszy w użyciu niż np. gdb. Może ci się wydawać, że skoro jesteś początkującym programistą to nie potrzebujesz debuggera. Otóż to nieprawda, on bardzo przydaje się na początku, ogólnie powinieneś się ograniczyć do ustawiania breakpointów. Breakpointy to miejsca w których zatrzymuje się wykonywanie programu. Dzięki nim możesz na przykład zobaczyć jakie wartości mają zmienne w danym momencie. Tworzy się je klikając na pusty obszar na lewo od kodu źródłowego. Po odpaleniu programu zatrzyma się on w miejscach gdzie są czerwone kropki.

Jakbyś miał jakieś pytania albo jeśli wyraziłem się gdzieś niejasno to wal śmiało :)
[#80] Re: Wziąłem się za C# i potrzebuje pomocy

@Benedykt Dziubałtowski, post #58

A przeczytałeś artykuł Asman'a i zrobiłeś wszystko co w nim opisane? Bo inaczej nie da rady korzystać z VS do kompilowania pod Ami. Niestety bez zastosowanych tam tricków nie da się kompilowac pod windowsem programów na Amigę.

Co do Codebloxa to na jakiś czas Ci wystarczy, żeby nauczyć się podstaw C (i tłumaczenia kilku słów po angielsku, bo mimo, że sporo osób chętnie Ci pomoże to tłumaczenie każdego błędu kompilatora będzie uciążliwe).
[#81] Re: Wziąłem się za C# i potrzebuje pomocy

@Benedykt Dziubałtowski, post #75

A przecież w #44 o tym chyba pisałem :) Co do wad zintegrowanych IDE - uczysz się, codeblocks tę naukę umożliwia i pozwala korzystać z nowych GCC, w przeciwieństwie do dawno nie aktualizowanego devcpp. Problemy mogą się pojawić, jak będziesz musiał dolinkować biblioteki - ale wszystko w ustawieniach projektu sobie można zrobić - tak samo optymalizacje itp. To teraz przed Tobą zabawa z budowaniem funkcji i przekazywaniem wartości, później wskaźniki, kompilacja z wielu plików źródłowych itp :) Tak na start :] Polecam programik do liczenia pola trójkąta albo wyznaczania całki oznaczonej jakiejś funkcji dla zadanych granic.
[#82] Re: Wziąłem się za C# i potrzebuje pomocy

@Benedykt Dziubałtowski, post #67

@Benek
No i właśnie o to mi chodzi....

to co piszesz i o co pytasz to sa najprostrze rzeczy, które gdybyś zechciał posłuchać i użył zamiast VS2010 gcc'a z linii komend to
1. kod by ci się skompilował od razu
2. zrozumiał byś co robisz a tam połowa twoich problemów wynika z błędnie skonfigurowanego VS i błędne wybranych typów projektów.

pisałem o tym wcześniej a Krasham tylko potwierdził...
- weź sobie gcc 2.95 + CLI
- napisz gcc -o mojprogram.exe mojkod.c

i zadziała ci od pierwszego uruchomienia
naprawdę chcę dla ciebie dobrze - a ty myślisz że się nabijam i wymądrzam.

Nauka C od pracy w Visual Studio to największa pomyłka - powie ci to każdy nauczyciel/wykładowca... no chyba że jest opłacany przez Microsoft :D

pozdrawiam
[#83] Re: Wziąłem się za C# i potrzebuje pomocy

@carrion, post #82

tak jeszcze mnie wzięło na dygresję.
nadal uważam że nauka kodowania od linii komend, zrozumienia kompilatora, linkera itp oraz ręczne klepanie kodu typu hello world to jest dorby sposób na nauczenie się programowania w dowolnym języku...
przykład?

otóż jakieś 8-9 lat temu brałem udział w kursie JAva for C programmers... zapisałem się w pracy i mnie wysłali do SUNa (szkoda że już go nie ma)... wszystkie tutoriale jakie wtedy próbowałem robić zaczynały od otwarcia okienka w SWINGu, "dziedziczenia po Panelach" itp itd... niby podstawy ale jakoś tak ciężko było zakumać po co i skąd to się bierze.
na tym szkoleniu o którym wspomniałem mieliśmy do dyspozycji stacje SUNa (słąbe jakieś) gdzie Pani (!!!) uczyła nas programować w Javie aplikacje od Hello World po komunikator typu Gadu gadu... tzn jak w poniedziałek powiedziała że w piatek napiszemy taki mini kleint server to wszyscy się w czoło pukali....
ale udało się napisaliśmy... wszystko powstawało w bash'u w VI kompilowane javac'em w linii komend...

JAva może nie jest językiem dla Amigii, ale chodzi mi o pokazanie że to jest jedyny sposób na dobre zrozumienie języka i środowiska, bo jak to się mówi: tworzenie oprogramowania to nie tylko pisanie kodu w edytorz i kompilowanie to jest też cała otoczka jak, linkowanie, debugowanie, tworzenie bibliotek, zarządzenie i kodem (wersjonowanie i praca zespołowa), dokumentowanie itp, itd...
panie Benek... walcz dalej i pytaj, ale nie porywaj się na cuda niewidy Visuale i inne takie...

Ostatnia aktualizacja: 18.10.2012 19:07:53 przez carrion
[#84] Re: Wziąłem się za C# i potrzebuje pomocy

@x3nU, post #79

Visual Studio gorąco polecam głównie ze względu na genialny debugger


:), ten genialny jak twierdzisz deburgger to Benkowi za bardzo nie pomoze, sam bledow nie usunie. Visual Stdio jest bardzo rozbudowanym narzedziem i dla poczatkujacego moze to stanowic duza trudnosc.

Na miejscu Benka wybralbym prosty maly szybki kompilator tylko do C, bez C++ np: na Windows w/w TCC, albo malo znane LCC-win32 czy win64... Przy malych czesto jednoplikowych programach w C nie ma sensu wchodzic w cos bardziej rozbudowanego... i zniknie wiele problemow .

ps. i latwiej chyba bedzie przeskoczyc na jakis amigowy system i narzedzia...

Ostatnia aktualizacja: 18.10.2012 19:43:32 przez gx
[#85] Re: Wziąłem się za C# i potrzebuje pomocy

@carrion, post #83

używanie narzędzi ułatwiających jest ok ale jak się na nich polega nie znając podstaw to wychodzi potem że prosty problem staje się przeszkodą nie do pokonania i taki początkujący użytkownik załamuje ręce...

dopiero ręczna kompilacja gwarantuje pojęcie na czym to tak naprawdę polega, poza tym tak naprawdę jest to szybsze niż dziubanie w Visualu

ze zintegrowanych IDE to mogę polecić DevCPP, symaptyczne środowisko programistyczne :)

z dziwnych kompilatorów osobiście używałem kiedyś do ręcznego kompilowania dmc (Digital Mars - szybki kompilator, mają oni też fajny język "D", dużo lepszy od C++)

a Visuala to bym nie tykał tak długo jak się da. Nie da się od niego uwolnić jak się chce jakiś program/ddl zmienić i trzeba przez niego się przemęczyć a tak to na własne życzenie lepiej się w niego nie pakować.

ps. najlepszy kompilator to kompilator Intela. Konkurencja jest lata świetlne za nim jeśli chodzi o wydajność. Ma też opcje integracji z Visualem. Robiłem testy wydajnościowe na porcie quake tenebrae i wychodzi że optymalizacje intela mogą dać kilkadzieścia % fps więcej Tańczący banan

ps2. do nauki programowania polecam bardziej Pascala niż C.
Lazarus jest super, można łątwo robić programy okienkowe i konsolowe. Ma też obsługę wszystkich wynalazków z Turbo Pascala więc każdy kurs od niego będzie dobry. Nawet grafika turbo pascalowa działa w okienku Same IDE jest podobne do Delphi i można przykłady dla Delphi spokojnie klepać. Obiect Pascal jest też sensowniej zorganizowany od C++ jeśli chodzi o obiektowe programowanie, mniejsze zamotanie jest, tak samo składnia i wszystko inne. Osobiście najbardziej lubię własnie Obiect Pascala OK

Ostatnia aktualizacja: 18.10.2012 20:35:57 przez XoR
[#86] Re: Wziąłem się za C# i potrzebuje pomocy

@XoR, post #85

ps. najlepszy kompilator to kompilator Intela

Intel i tak przykłada rękę do GCC, dodatkowo icc w przeciwieństwie do gcc nie wspiera arm, avr, powerpc itp. itd. :) Jak się programuje tylko x86 to nie ma sprawy, ale jak chce się bawić też innymi arch. to jednak nie ma chyba nic lepszego niż gcc
[#87] Re: Wziąłem się za C# i potrzebuje pomocy

@abcdef, post #86

Ale jak cos jest do wszystkiego to jest do d...., jak mowi przyslowie OK

Mamy tutaj 3 arch.: x86, 68k, PPC. Na pierwszej gcc jest slabsze od konkurencji (intel, ms...), na drugiej tez, nie mam natomiast pojecia co do PPC :). Pomijam juz inne wady gcc..., jedyna niezaprzeczalna zaleta gcc ponad konkurencja jest owa uniwersalnosc i wszechobecnosc na niemal wszystkim, oraz otwartosc.
[#88] Re: Wziąłem się za C# i potrzebuje pomocy

@gx, post #87

No więc klepie sobie kod z kalkulatorem :)


Powiedzcie mi proszę czy to klepie tak jak powinno być czy też coś jest nie tak?


Benedykt Dziubałtowski



Ostatnia aktualizacja: 19.10.2012 21:08:00 przez Benedykt Dziubałtowski
[#89] Re: Wziąłem się za C# i potrzebuje pomocy

@Benedykt Dziubałtowski, post #88

Kod jest poprawny. Pozwoliłem sobie wprowadzić małe poprawki kosmetczne. OK

Np. zawsze dobrze jest określać rozmiar zmiennej (tak jak w tym wypadku mówimy kompilatorowi jasno, że int ma 32-bity), poprawna definicja funkcji main powinna zawierać argc i argv, brakowało znaku nowej linii po wpisaniu wyniku.


Ostatnia aktualizacja: 19.10.2012 21:34:07 przez strim
[#90] Re: Wziąłem się za C# i potrzebuje pomocy

@strim, post #89

poprawna definicja funkcji main powinna zawierać argc i argv


poprawnie moze tez byc int main(void)

zamiast return 0;
mozna return EXIT_SUCCESS; lub return EXIT_FAILURE; (w przypadku bledu)

a moze zamiast int;
uzyc float;
w koncu to ma byc kalkulator ?;)
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem