Aktywne Wpisy

Fekalny_okuratnik +260
Statlook to chyba najbardziej niewolniczy i januszexowy system kontroli pracowników zdalnych jaki istnieje XD Co o takim czymś myślicie? Da się to w ogóle jakoś obejść?
#pracbaza #it #korposwiat #pracait #pracazdalna #homeoffice #januszebiznesu #programista15k
#pracbaza #it #korposwiat #pracait #pracazdalna #homeoffice #januszebiznesu #programista15k
źródło: statlook
Pobierz
wortor +343
Powiem wam, że mam już dość tej p---------j Hiszpanii.
Gdzie nie pójdę, to albo p--o/sangria za 2 euro, albo żresz i pijesz ile chcesz za 7,99 albo tapas bary jak niżej.
Chcę już do Polski i do pizz za 60zl albo pierogów z ziemniakiem po 50 dych za 6 sztuk ;((
#gastronomia #hiszpania #januszebiznesu #patogastro #heheszki
Gdzie nie pójdę, to albo p--o/sangria za 2 euro, albo żresz i pijesz ile chcesz za 7,99 albo tapas bary jak niżej.
Chcę już do Polski i do pizz za 60zl albo pierogów z ziemniakiem po 50 dych za 6 sztuk ;((
#gastronomia #hiszpania #januszebiznesu #patogastro #heheszki
źródło: IMG_5086
Pobierz




Mam problem programirki. Robię z kolegą remake pewnego starego programu korzystając z bibliotek Qt. No i natrafiliśmy na kłopot. Po pierwsze wersja oryginalna tego programu jest skompilowana w 32 bitach na jakimś archaicznym środowisku CodeGear. Nawet nie wiem w sumie jaki tam jest kompilator. My korzystamy z 64 bitowego MSVC AMD.
Problem jest następujący. Stary program ma sobie wczytywanie i zapisywanie plików jakiegoś swojego formatu. To jest oczywiście byte array. Wymagana jest wsteczna kompatybilność z odczytywaniem tych plików, więc trzeba te stare pliki jakoś wczytywać i zapisywać do tego samego formatu. I nic nie jest problemem poza jednym miejscem - gdzie funkcja C++ fwrite/fread zapisuje/odczytuje structa w całości zajmując miejsce w pamięci na sizeof(struct). No i Qt nie ogarnia z tego co mi wiadomo czegoś takiego. Operatory >> QDataStream obsługują tylko typy podstawowe + qtowe, drugą opcją jest ReadRawData, więc po prostu wzięcie tego nieszczęsnego sizeof i odczytanie tablicy bajtów na yolo. No ale jak ja mam z tego skleić znowu structa? Ja mam kod źródłowy tego structa i już go wrzuciłem do nowego programu, ale nie jestem pewien czy rzutowanie tego tutaj zadziała? A nawet jeśli da się rzutować char array na struct, to czy kompilator na jakim to było zrobione nie ma znaczenia? W sensie - czy on odzyska wtedy faktycznie oryginał?
Ogółem chciałbym wiedzieć jak to zrobić po Qtowemu i czy to jest w ogóle możliwe. Bo opcją ostateczną jest po prostu, cóż - użycie tych samych funkcji C++, którymi plik był zapisywany. Ale chciałbym tego uniknąć aby po prostu nie sklejać frankenstaina raz odczytując tak a raz tak.
Prawda jest taka, że z tego structa interesują mnie dosłownie trzy pola będące unsigned intami, ale nie jestem wróżką aby wiedzieć, które bajty w zajmowanej pamięci to właśnie te wartości. A tam jeszcze wchodzą takie śmieci jak jakieś funkcje + konstruktory. Gdybym wiedział, które to bajty, to bym je po prostu wybebeszył z char array, rzutował na uint i miał to w dupie.
long, wskaźniki i inne typy mogą mieć róƶne wielkości pomiędzy architekturami.Na windowsie na pewno x64 i x86 mają róƶne wielkości wskaźników (chociaƶ przy
freadraczej ich tam nie ma), ale mimo wszystko bym uwaƶał z wczytywaniem kodu w całości i wypełniał/zapisywał te struktury po kaƶdym członku.https://gist.github.com/anonymous/d6b7654bdfce13e97e7e
To jest cały struct. On jest prosty, ale zawiera funkcje. A ja chcę wybebeszyć pola tylko i wyłącznie.
Ah, problem jest w tym, że ja nie mam możliwości go skompilować na tym starym dziadostwie za bardzo. Muszę szukać po omacku jak już. Mając po prostu zapisane pliki z już skompilowanego programu.
jak w klasie są zawarte funkcje wirtualne, to wtedy ewentualnie jest jeszcze vtable
#include
#include
QDataStream* stream
Tak wstępnie. Wychodzi na to, że same pola są chyba.
źródło: comment_UUJqmCecA2NaAyy4Anj4Mpe8KThFrAcG.jpg
Pobierz