Wątek przeniesiony 2022-11-16 14:39 z C/C++ przez kq.

Przeglad kodu roszerzenia PHP

0

Watek nawiazuje do wczesniejszego zalozonego przeze mnie Błąd kompilacji rozszerzenia do PHP.
Rozszerzenie napisane, wlasciwie to raczej szkic/przymiarka, ale majac do czynienia z C++ niecale 2 tygodnie to chwilowo wszystko na co mnie stac.
Potrzebuje nie tyle typwej CR'ki ile faktycznego poprawienia kodu i "wyprowadzenie" go do stanu zgodnego ze standardami - oczywiscie za odpowiednie honorarium.
Rozszerzenie znajduje sie w repo php-cpp-ext, chociaz wlasciwy kod do poprawki znajduje sie w katalogu ./Extensions/paneric_ext_matrix. Raptem 4 krotkie klasy.
Kwota tutaj lub na priv'ie.

0
proximus-prime napisał(a):

Watek nawiazuje do wczesniejszego zalozonego przeze mnie Błąd kompilacji rozszerzenia do PHP.
Rozszerzenie napisane, wlasciwie to raczej szkic/przymiarka, ale majac do czynienia z C++ niecale 2 tygodnie to chwilowo wszystko na co mnie stac.
Potrzebuje nie tyle typwej CR'ki ile faktycznego poprawienia kodu i "wyprowadzenie" go do stanu zgodnego ze standardami - oczywiscie za odpowiednie honorarium.
Rozszerzenie znajduje sie w repo php-cpp-ext, chociaz wlasciwy kod do poprawki znajduje sie w katalogu ./Extensions/paneric_ext_matrix. Raptem 4 krotkie klasy.
Kwota tutaj lub na priv'ie.

A po co to chcesz zrobić? Tzn jaki jest Twój końcowy cel?

0
this->math = *new Math();

🤮

https://dsp.krzaq.cc/post/176/ucze-sie-cxx-kiedy-uzywac-new-i-delete/

Php::Value a = new Php::Value;

To się w ogóle kompiluje?

Po przejrzeniu dokumentacji Php::Value, wygląda to trochę na koszmarek programistyczny. Przyjrzyj się działaniu tego programu pod valgrindem i przejedź jakimś address sanitizerem, bo to co robisz z alokacją/dealokacją w Utils.cpp wygląda bardzo dziwnie i jestem przekonany, że masz tam niejedno UB.

A tak swoją drogą, nie byłoby lepiej trzymać tej macierzy w natywnym C++ i tylko eksponować obiekt Matrix do PHP? I dopiero po zakończeniu obliczeń zamieniać go na tablicę tablic PHP?

0
Riddle napisał(a):

A po co to chcesz zrobić? Tzn jaki jest Twój końcowy cel?

Na tym etapie celem jest napisanie dedykowanego rozszerzenia PHP'owego (z naciskiem na PHP'owe) zawierajacego niezbedne narzedzia do operacji na macierzach.
Najwazniejsza jest predkosc i prawidlowa alokacja pamieci. Ostatecznym celem jest CUDA i odpalanie PHP'owej konsoli na GPU.

kq napisał(a):
this->math = *new Math();

🤮

https://dsp.krzaq.cc/post/176/ucze-sie-cxx-kiedy-uzywac-new-i-delete/

Tak jak napisalem w swoim pierwszym poscie, a na co przede wszystkim powinienes zwrocic uwage, nie o CR'ke mi chodzi, ale o porzadny szlif kogos kto zna sie na rzeczy.
Nie mam czasu studiowac linkow ktore zapodajesz, dlatego od razu wspomnialem o honorarium.

kq napisał(a):
Php::Value a = new Php::Value;

To się w ogóle kompiluje?

Tak, jak najbardziej i samo rozszerzenie da sie podpiac i normalnie uzywac.

kq napisał(a):

Po przejrzeniu dokumentacji Php::Value, wygląda to trochę na koszmarek programistyczny.

Powtorze to co napisalem wczesniej. Nie prosilem o recencje, tymbardziej nie swojego kodu. Moj kod znajduje sie wylacznie w katalogu Extensions reszta to rodzaj frameworka stworzony przez holenderska firme na wlasne potrzeby. Jakosci nie komentuje ani nie oceniam, poza tym w tej chwili jest to jedyny istniejacy instrument pozwalajacy robic takie rzeczy w C++.

kq napisał(a):

... Przyjrzyj się działaniu tego programu pod valgrindem i przejedź jakimś address sanitizerem, bo to co robisz z alokacją/dealokacją w Utils.cpp wygląda bardzo dziwnie i jestem przekonany, że masz tam niejedno UB.

Z pewnoscia masz racje, ale na tym etapie, po niecalych dwoch tygodniach stycznosci ze specyfika c++ niewiele wiecej jestem w stanie zrobic z wlasnym kodem wiec propozycja uzywania specjalistycznych narzedzi chwilowo jest nietrafiona

kq napisał(a):

A tak swoją drogą, nie byłoby lepiej trzymać tej macierzy w natywnym C++ i tylko eksponować obiekt Matrix do PHP? I dopiero po zakończeniu obliczeń zamieniać go na tablicę tablic PHP?

Nie.
Nie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1