[#1] Potrzebny developer AOS4
Witam
Przepisuje wlasnie moj program z os3 na os4 jednak wystepuje pewien dokuczliwy problem (przedstawie go na przykladzie):

Wybaczcie, przyklad jest bardzo prosty i tak naprawde to nic nie robi, chodzi tylko o poprawne skompilowanie.

1. Przykład z pliku test2.c

#include

int main(int argc, char **argv)
{
char bf[1024];

IUtility->Strlcpy(bf, "Test", 1024);
printf(bf);
}

2. kompilacja
ppc-amigaos-gcc -o test100 test2.c -lauto

ma powstac plik wynikowy test100 a zamiast tego dostaje cos takiego:

/tmp/cc2N7n9N.o (.text+0x1e): In function 'main':
: undefined reference to 'IUtility'

i ponizej trzy podobne (w sumie cztery komunikaty)

uzywam gcc2.95 (niestety z polskiej listy yahoo amigaos4 nikt mi na to pytanie nie odpowiedzial)

Z góry dzićkuje.

[#2] Re: Potrzebny developer AOS4

@adam239, post #1

(niestety z polskiej listy yahoo amigaos4 nikt mi na to pytanie nie odpowiedzial)
Nie przekreslaj jeszcze mozliwosci odpowiedzi z tej listy. Byc moze ze nikt z aktualnie zapisanych nie znal odpowiedzi na Twoje pytanie i/lub poslano pytanie do deweloperow OS4 z poza listy (z poza Polski).
[#3] Re: Potrzebny developer AOS4

@adam239, post #1

A nie pomyslales, ze przyklad nie jest najlepiej napisany!
#include

Library *UtilityBase=NULL;

int main(int argc, char **argv)
{
char bf[1024];

UtilityBase=OpenLibrary("utility.library",0L);
if(UtilityBase)
{
Strlcpy(bf, "Test", 1024);
printf(bf);
}
return 0;
}


mniej wiecej tak to powinno byc prawidlowo - wczesniej ktos mial widac jakies wlasne niestandardowe includy. Pisze oczywiscie z pamieci, wiec z gory sorry za literowki itp...

[#4] Re: Potrzebny developer AOS4

@adam239, post #1

Sprawdź czy -lauto zawiera kod inicjalizujący IUtility. Stawiam, że nie, więc albo do linkera powinieneś podać jeszcze jakąś bibliotekę dedykowaną OS4 (miałbym OS4 SDK, to bym Ci powiedział jaką) albo pliks specs do GCC nie pochodzi od wersji kompilatora przeznaczonej dla AOS4.

[#5] Re: Potrzebny developer AOS4

@Kaczus, post #3

Nie widzisz, że usilnie próbuje wykorzystać te nowe interface'y do bibliotek stworzone w OS4? Nie wiem co prawda po co, ale może w SDK OS4 jest na to odpowiedź.

[#6] Re: Potrzebny developer AOS4

@adam239, post #1

To w OS4 przy wywołaniu każdej funkcji systemowej wstawia się coś takiego, jak w tym przykładzie? (IUtility->...)?

[#7] Re: Potrzebny developer AOS4

@MinisterQ, post #6

Ano wstawia się. To jeden z przykładów "profesjonalnego stylu programowania" w OS4. Bo jak coś było dobre przez 15 lat, to trzeba to zepsuć.

[#8] Re: Potrzebny developer AOS4

@Kaczus, post #3

Po kilku zmianach i poprawkach.
Kompiluje i dalej mam ten sam efekt lub dodatkowo otrzymuje jeszcze kilka innych bledow.

Moze ktos wie gdzie sa dostćpne jakies przyklady do AOS4. (jak pisac prawidlowo wlasny program)
[#9] Re: Potrzebny developer AOS4

@adam239, post #8

Jesli jest tak jak pisze Jacek, tzn, ze nie jest to kompatybilne z os 3.x, to ja nie mam pojecia, coz sdk jest skrzetnie ukrywana, pewnie po to by zbyt duzo programow na os4 nie powstalo...

[#10] Re: Potrzebny developer AOS4

@MinisterQ, post #6

Widać jeszcze nie opanowali makr preprocesora, żeby to ukryć w inkludach. Ale kto wie, może nawet kiedyś dojdą o co chodzi w tych plikach w katalogu "inline"

[#11] Re: Potrzebny developer AOS4

@jrzeuski, post #10

makra preprocesora suxxia.... Nalezy ich uzywac tylko wtedy gdy rzeczywiscie sa niezbedne, w kazdym innym przypadku nie!

[#12] Re: Potrzebny developer AOS4

@Kaczus, post #11

A ja z kolei mam uraz do stubów. To zbędne spowolnienie kodu jak dla mnie. I dlatego używam iniline'ów zamieniających wywołanie funkcji biliotecznej od razu na ASM pozwalając optymalizatorowi kodu wynikowego wyszaleć się do woli.

[#13] Re: Potrzebny developer AOS4

@jrzeuski, post #12

tia tylko, ze
inline int funkcja()
{
wywolanie_funkcji_bibliotecznej
}
a
#define funkcja wywolanie_funkcji_bibliotecznej

to wole to pierwsze - przy optymalizacji powinny dac identyczny kod
wynikowy, a nie blokowana jest przestrzen nazw...

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