kategorie: ANSI C, C++, MUI, Reaction
[#1] Miałem sen..
..śniło mi się, że stworzyłem multiplatformową aplikację amigową, taką, że aż panienki piszczały a Krashan stwierdził, że jeszcze coś kiedyś podzierga na MorphOS. Czuję natchnienie!

Chciałbym na początek stworzyć aplikację okienkowego helloworld, do uruchomienia na poniższych platformach, kolejno:
- MorphOS
- OS 3.x
- OS 4

Teraz z Waszą pomocą chciałbym dobrać środowisko programistyczne, użyty język i technologie.

Chciałbym programować na MorphOS. Rozumiem, że raczej powinienem używać SDK 3.10. Językiem dla dostępności na pozostałych platformach i optymizacji jak sądzę powinien być ANSI C. Kompilatorem GCC, choć nie wiem czy OS 3.x łyknie skompilowany program.

I teraz pozostaje jeszcze kwestia obsługi okienek. Niby wszystkie te platformy obsługują MUI, ale chyba są jakieś niekompatybilności między MOS-ową wersją a OS4, w dodatku mam wrażenie, że dla klasyków MUI jest zwyczajnie ciężkie i powolne - przed oczami mam AmiTradeCenter, które mnie dobijało na 030. Czy zatem powinienem wybrać coś bliższego gołemu OS 3.x?

Chciałbym również aby aplikacja korzystała z systemowego API. Pewnie 3.x dla kompatybilności. Gdzie mogę znaleźć dokumentację od takiego API aby dowiedzieć się jakie istnieją możliwości?

Chętnie wysłucham waszych sugestii jak sprawić, żeby kodowanko między tymi platformami było łatwe i przyjemne. Z góry dzięki!

K

Ostatnia aktualizacja: 02.09.2017 06:13:41 przez Sokok
[#2] Re: Miałem sen..

@Sokok, post #1

Polecam AMiDevCpp
[#3] Re: Miałem sen..

@Artur Jarosik, post #2

Dzięki, znam. Nie bardzo mi odpowiada to rozwiązanie. Raz że kodować chcę na MOS-ie, a dwa, że jeśli dobrze rozumiem to wynik wymaga wszędobylskiej biblioteki uruchomieniowej.

Ostatnia aktualizacja: 02.09.2017 08:05:25 przez Sokok
[wyróżniony] [#4] Re: Miałem sen..

@Sokok, post #1

Nie jest tak źle z tym GCC, Cahir ma cały toolchain oparty o gcc/g++ 2.95 a bebbo uaktualnia to do gcc6 tutaj. Mowa o klasyku.

Ostatnia aktualizacja: 02.09.2017 08:08:37 przez teh_KaiN
[#5] Re: Miałem sen..

@teh_KaiN, post #4

No to pięknie, tym bardziej skłaniam się ku GCC. Dzięki za linki!
[#6] Re: Miałem sen..

@Sokok, post #5

No chyba ewentualnie może być tez VBCC, a jak by się uprzeć to i E (ECX i PortablE)
[wyróżniony] [#7] Re: Miałem sen..

@Sokok, post #1

Tylko MUI i tylko GCC. ATC miał jednak dosc skomplikowane gui więc moglo być wolno. Jak miałem 040 więc MUI chodziło u mnie szybko i zawsze się dziwiłem dlaczego opisują je jako wolne :).

Btw. będziesz także potrzebował includów do ułatwionego pisania miedzy platformowego.

Ostatnia aktualizacja: 02.09.2017 10:30:17 przez michal_zukowski
[#8] Re: Miałem sen..

@Sokok, post #1

pytani czy znacz C?
Jeśli tak to środowisko w oparciu np o VBCC zrobisz sam w jeden wieczór.

A co do kodowania w prostszych językach to szczerze powiedziawszy gui intuition zrobisz nawet w Blitzu. W AmiBlitzu to już całkiem niezłe (duże) aplikacje powstawały

C
[#9] Re: Miałem sen..

@michal_zukowski, post #7

OK, zatem wypróbuję GCC/MUI na początek. Brzmi dla mnie najsensowniej.

Tak, dawno temu robiłem pchełki w C, C++, C#. Więc jakoś sobie poradzimy.

Rzookol, wspominasz o include'ach, mógłbyś dać znać co konkretnie będzie potrzebne? BTW, są jakieś restrykcje w używanych wersjach tak aby to co wyrzeźbię w MUI na MOS było do przeniesienia na MUI pod OS3 oraz OS4?

Chciałbym też poprosić aby ktoś podesłał informacje o systemowym (3.x?) API, z którego mógłbym korzystać przy budowaniu programów.

Dzięki raz jeszcze wszystkim!
K

Ostatnia aktualizacja: 02.09.2017 11:03:16 przez Sokok
[wyróżniony] [#10] Re: Miałem sen..

@Sokok, post #9

Poszukaj źródeł do Yam . On był kompilowany multiplatformowo i zawiera przydatne includy.
[wyróżniony] [#11] Re: Miałem sen..

@Sokok, post #9

Chciałbym też poprosić aby ktoś podesłał informacje o systemowym (3.x?) API
http://amigadev.elowar.com

Ostatnia aktualizacja: 02.09.2017 11:28:01 przez Krashan
[#12] Re: Miałem sen..

@Krashan, post #11

Dzięki!
[#13] Re: Miałem sen..

@Sokok, post #12

Jak na mój gust to brakuje tu jeszcze wisienki, na torcie czyli wskazniki w C bez tego przynajmniej dla mnie, mimo że codziennie programuje w X++/.NET znaczna część kodu była nie do konca zrozumiala (zwłaszcza w MUI). I nie ma sie co dziwić skoro w pracy o niszczenie obiektow troszczy sie GC, o ktorym nawet nie myśle, już nie wspominając o allokowaniu pamięci. Nie jest pozycaj dedykowa dla Amigi ale zawsze daje sporą dawkę wiedzy w temacie C zwłaszcza, że w całości jest poświęcna wskaźnikom, a nie tylko 2-4 strony jak to bywa w innych wydawnictwa o C.
[#14] Re: Miałem sen..

@RadziN, post #13

Nie no, cała książka o wskaźnikach to jakaś przesada, bo to w sumie kwestia zaznajomienia się z:

- wyrównaniem zmiennych i pól struktur w pamięci (ang. alignment),
- tablicami i tym jak są one układane w pamięci, zrozumienia tablic dwuwymiarowych tych alokowanych statycznie i dynamicznie,
- pobawienia się funkcjami malloc/free, memcpy
- no i może ze wskaźnikami na funkcję, bo zapis jest trochę podchwytliwy ale w sumie to banał.

Reszta to kwestia wprawy i pamiętania, że nikt za Ciebie nic w C nie robi. ;)
[#15] Re: Miałem sen..

@teh_KaiN, post #14

@teh_KaiN
To może tak na spokojnie powiedz mi to co tu wlasnie zawarłeś w tych kilku linijakach dla przeciętnego Kowalskiego, ktory chce uczyć się programować nie znaczy nic. On nie ma pojecia jak tego użyć. Ba! W większości szajsownych kursów internetów i innych publikacji C/C++ w 24h - nikt nie opisze Ci ani stosu ani stery etc. A o wspomnianych przez Ciebie wskaznikach na funkcje można zapomnieć. To samo tyczy sie nawet developerow co C nie widzieli od czasow studiow (jak ja). Książka, ktora wprowadzi w temat wskaznikow i bedzie wymagać od czytelnik, nie jest przesada tylko pomocą w zrozumieniu tematu tylko tyle. Zresztą jak chcesz to możemy się zgadać to Ci ją pożyczę przeczytasz i się wypowiesz (daleko to raczej do siebie nie mamy) :)
[#16] Re: Miałem sen..

@RadziN, post #15

W sumie czemu nie. Ale to po RKLE bo teraz przez game compo nie mam czasu na czytanie. ;)

Zawarłem w liście punkty zaczepienia, które sobie można wyguglać i poczytać. Sam w toku swojej edukacji ze wskaźnikami miałem do czynienia tylko przez parę zajęć w technikum, gdzie wytłumaczono mi czym jest wskaźnik - i ta rzecz była kluczowa. Bo tak naprawdę trzeba tylko złapać ideę, która jest bardzo prosta, a potem wszystko już nie jest jakimś wielkim wyczynem. Dalsze rzeczy typu stosowanie malloc/free i wskaźniki na funkcję to już sobie doczytałem sam, właśnie z internetu. O stercie się dowiedziałem chyba podczas kursu WinAPI z Dark Cult of C++ przy okazji HeapAlloc() a o stosie już nie pamiętam gdzie. O, do swojej listy dopisałbym jeszcze arytmetykę wskaźników - gdzieś na drugiej pozycji.

Grunt to się tematem interesować i być ciekawskim - wystarczy chęć drążenia tematu. A jeśli czytanie o absolutnych podstawach jest barierą i do kogoś nie przemawia tak jak to było ze mną, to trzeba znaleźć sobie programistę i zza ramienia patrzeć co robi, zadając przy tym pełno elementarnych pytań. ;)
[#17] Re: Miałem sen..

@teh_KaiN, post #16

W sumie czemu nie. Ale to po RKLE bo teraz przez game compo nie mam czasu na czytanie. ;)

Wow, z jednej strony cieszę się, że konkursy RK/LE angażują aż tak mocno, a z drugiej - mam nadzieję, że nie sterroryzowaliśmy środowiska Sorry za OT

Ostatnia aktualizacja: 28.09.2017 17:50:05 przez sachy
[#18] Re: Miałem sen..

@sachy, post #17

@sachy
stary ja po nocach nie śpię - serio. ;)

@teh_kain
Wskaźniki to jest mega prosta sprawa. nawet przez chwilę nie miałem z tym problemu na studiach (i teraz chyba też) z jednego prostego powodu - najpierw nauczyłem się assemblera (co prawda na 6510, ale zawsze). tam to się po prostu nazywa adresami. świat programowania naprawdę jest prosty jak się skuma assembler.

a assembler m68k to w zasadzie prawie C ;)
[#19] Re: Miałem sen..

@retronav, post #18

@Carrion: nie Ty jeden :) Wiem, że calkiem sporo ludków zarywa nocki przez 20 października (włączając mnie :). A co do asm, wskaźników i C - zgadzam sie :)

To może optymistycznie - zostały 3 tygodnie, całkiem sporo czasu OK
[#20] Re: Miałem sen..

@sachy, post #19

@sachy: Bardzo optymistycznie. Czas włączyć turbo i zarywać również poranki :)
[#21] Re: Miałem sen..

@retronav, post #18

Khem ;) Ja nie mowie (pisze), ze wskazniki sa trudne tylko ze sa wazne w programowani w C na Ami. Biorac pod uwage autora watku zakladam, ze chce w miare spokojnie ale dosc komplekswo podejsc do tematu programowania i li tylko nadmienilem, ze to istotne i wskazalem literature. Z tym asemblerem tak na serio...? Bo ja to odebralem jak dobry zart. Ludzie piszacy w wysokopoziomowych jezykach na co dzien (C#/Java) i majacy chec zapoznanie sie z C w naszym amigowym swiatku lepiej niech przy C pozostana. Bo sie tylko zniecheca - i nie uwazam by asembler komkolwiek pomogl na poczatku.
[#22] Re: Miałem sen..

@RadziN, post #21

Wszystkim dzięki za sugestie. Wskaźniki liznąłem podczas edukacji.
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