Interesuje mnie czy istnieje system plików, z mechanizmem gdzie, jeżeli system "zobaczy", że występuje np 5 duplikatów plików, wtedy utworzy jedną fizyczną instancję pliku, oraz pięć wirtualnych (użytkownik nie był by nawet tej warstwy świadomy), aby zaoszczędzić miejsce. Oczywiście fizyczna instancja zostałaby skasowana z chwilą skasowania ostatniej instalacji wirtualnej.
Ps. Właśnie przyszło mi głowy, że jakakolwiek modyfikacja wirtualnego pliku, wymusiłaby natychmiastowe utworzenie kopii :( hmm albo zamiast kopii trzymać info o różnicy..?
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@czlowiek_z_lisciem_na_glowie: rozwiązaniem które będzie zapewne popularne w przyszłości jest VDO, działa to na poziomie urządzenia blokowego, czyli poziom niżej niż system plików i dodatkowo oferuje kompresję. Problem z nim jest jeden - to cudo zostało zakupione wraz z PermaBit przez Red Hata dość niedawno i jeszcze nie jest w upstream kernelu. Kiedy będzie? Ciężko powiedzieć ale patrząc na kod raczej nie prędko. Można się tym pobawić na RHELu i na
  • Odpowiedz
Jak skompilować i odpalić aplikację na 32-bity, na maszynie 64-bitowej, gdzie nie mam uprawnien do roota? Mam kod w C++, ktory kompiluje u siebie lokalnie g++ z flaga -m32 - natomiast nie moge tego zrobic na tej maszynie, bo wywala brak odpowiednich bibliotek 32-bitowych - a nie moge doinstalowac czegos w stylu gcc-multilib, bo nie mam roota.

Da sie jakos wrzucic do projektu potrzebne biblioteki 32-bitowe i powiedziec g++ ze ma je
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Siema wszystkim! ( ͡º ͜ʖ͡º)

Jest mi niezmiernie miło poinformować, że zostaliśmy partnerem medialnym festiwalu 4Developers! ( ͡º ͜ʖ͡º) W tym roku, podobnie jak poprzednio - odbędzie się ścieżka C++, o której będziemy Was informować jak tylko czegoś się dowiemy (
CppPolska - Siema wszystkim! ( ͡º ͜ʖ͡º)

Jest mi niezmiernie miło poinformować, że ...

źródło: comment_rmhhFNN77wNrYlVEp3H0L8KmcwYGR1cF.jpg

Pobierz
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@CppPolska: Byłem rok temu, mocno niedoceniona ścieżka c++ - bardzo mało słuchaczy, ale było sporo prelegentów z górnej półki: Guy Davidson, Mateusz Pusz, Timur Doumler, Nico Josuttis.... Jeśli w tym roku będzie mocna obsada, na pewno wybiore się ponownie :)
  • Odpowiedz
W jaki sposób rozwiązać to zadanie " pięć bajtów kodowane w systemie big endian. Napisz kod konwertujący te bajty do typu long kodowanego w little endian"
#cpp
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@AndrewGolota: Jeśli masz bajty w następującej kolejności A, B, C, D, E (big endian) to by otrzymać long w kodowaniu little endian
musisz użyć operacji na bitach

long wynik = E << 32 || D << 24 || C << 16 || B << 8 || A << 0
  • Odpowiedz
  • 0
Szukam, szukam i nie mogę znaleźć ( ͡° ʖ̯ ͡°) Chcę napisać ładną dla oka desktopową aplikację, która będzie pobierać dane z bazy danych, dajmy na to 1000 różnych próbek klucz-wartość co sekundę, a następnie rysować wykresy personalizowane przez użytkownika. Jakiej technologi użyć? Python na taką ilość danych, że się zapycha, a sam matplotlib wygląda średnio. Prócz Pythona siedzę jescze w c++, ale jak gdzie indziej znajdę lepszą
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@c137:
-1000 różnych próbek klucz-wartość co sekundę, a następnie rysować wykresy personalizowane przez użytkownika
-Python na taką ilość danych, że się zapycha

No nie wiem.. Jak duze sa to dane? Jaki to format? Na pewno bedziesz utrzymywal stale 1000 zapytan na sekunde a nie tylko przy starcie aplikacji/generowaniu wykresu?
  • Odpowiedz
@c137: Jeśli złożoność developmentu nie jest kryterium, to próbuj w Qt. Jeśli chodzi o wydajność to Java ma pewien koszt, ale aplikacja nie wygląda na skomplikowaną, więc nie wiem czy potrzeba tu aż C++. Jak nie chcesz wchodzić w Kotlina to JavaFX też jest spoko. Wygląd według uznania.
Co do Qt, to popatrz wcześniej na licencję na jakiej jest udostępniana i czy takie coś Ci pasuje.

Osobiście wybrałbym C++, ale
  • Odpowiedz
Korzystam ze stringa i na win32 działa szybko, na win64 zamula, im dłuższy string tym gorzej, nie jest to różnica razy 2 tylko razy tysiące w moim przypadku bo obrabiam stringa w pętli. Co zamiast lub jak to obejść?

np taki kod:
gkod +=("S 0\r\n");
Puszczony 100 000 razy na win 32 zajmuje 2-3 sekundy, na win64 to już godziny.
#cpp
  • 26
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mirki z #cpp i #sfml pomóżcie! Napisałem gierke w C++ w VS2017 i w trybie Debug wszystko śmiga. Chciałem ją komuś dać więc przestawiłem na Release i dostaję błąd : "Wykryto niezgodność dla elementu ITERATORDEBUG_LEVEL: wartość 1 "2" jest niezgodna z wartością "0" w elemencie Bloki.obj" Nie rozumiem do końca co mam z tym zrobić
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@mlyn-wodny: Chyba powinien być tam JavaScript. PHP powie ci jaki masz błąd i w jakiej linijce razem z cały stacktracem. JS wypluje z siebie błąd, wyrzuci informację o 10 losowych linijkach w kodzie i radź sobie sam.
  • Odpowiedz
@CukrowyWykop: Problem w tym, że ludziom wydaje się, że RAII kończy się na automatycznym odpaleniu destruktora, co jest oczywiście błędnym przekonaniem. Serio, obiektywnie - widziałeś dobry artykuł o RAII w języku polskim? Być może, ale ja do takiego niego nie dotarłem.
  • Odpowiedz
@terion: Z tym angielskim to taka luźna uwaga, bez spiny. I tak liczy się merytoryka, wszyscyj sa przyzwyczajeni że to srodowisko jest miedzynarodowe i kazdy ma swoje jezykowe nalecialosci.
A mi sie merytorycznie podobalo, dowiedzialem sie paru nowych rzeczy.
  • Odpowiedz
da się zrobić jakby resize 2d tablicy? mam funckje f(int array, int n) n to jej wymiary. tworzę nową tablice w tej funckji jakieś int secArray itd , uzupełniam ją i potem usuwam mojego arraya z parametru i robię array = secArray, i jak patrze to w tej funckji jest ok, ale jak używam tego array w innym miejscu to jest uzupełnione jakimiś losowymi wartościami, zobaczyłem ze mogę return secArray zrobić i
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@agsbajahs: Ponieważ wskaźnik jest wtedy przekazywany przez kopię, jednak dalej wskazuje na ten sam obszar pamięci, więc dalej masz dostęp do tego obszaru w pamięci i jego edycja jest widziana spoza obiektu.
Sytuacja taka sama jak poniżej:

int *a = (int*)malloc(sizeof(int));
int *b = a; //teraz a i b wskazują na ten sam obszar w pamięci
b
  • Odpowiedz
via Wykop Mobilny (Android)
  • 0
Siemano mirasy. Załóżmy, że chciałbym zmodyfikować jakiś obszar pamięci w systemie. Mam adresy, chodzi tylko o modyfikacje. Modyfikacja poprzez *pointer = nowa_wartość; daje mi segfaulta. Jak to mogę zrobić?

Da się to w ogóle zrobić z języka wyższego poziomu typu C, czy muszę sięgać po pomoc asemblera?

#c #cpp #naukaprogramowania #programowanie
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Modyfikacja poprzez *pointer = nowa_wartość; daje mi segfaulta


@TMBRK: i to jest właśnie prawidłowe zachowanie.

musiałbyś mieć uprawnienia na poziomie systemu operacyjnego(lub wyżej), żeby, grzebać w cudzej pamięci
  • Odpowiedz
@TMBRK: *pointer = wartość modyfikuje pamięć pod danym adresem, tyle że najpierw musisz mieć przypięte jakieś strony pamięci z możliwością zapisu w tym obszarze, w innym wypadku SIGSEGV. Jeśli chcesz np. zmodyfikować jakieś rejestry urządzenia które jest zmapowane na fizyczną przestrzeń adresową z userspace, to najpierw otwierasz /dev/mem, następnie mmap(NULL, , PROT_WRITE|PROT_READ, MAP_PRIVATE, fd, ).

Problem jest z wyliczaniem ` i `. IIRC musi to być wyrównane do
  • Odpowiedz
Pytanko do Was, czy np jeśli mam klasę która reprezentuje okno główne programu i chcę w moim interfejsie dać możliwość wyboru trybu pracy przy pomocy radio button to zmienną typu enum deklarowac w klasie czy poza nią, dawać jako private czy public?
Zrobiłem to w ten sposób, że zadklarowalem:
public:
enum operatingMode {Mode1, Mode2, itd..} ;
private:
operatingMode mode;
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Czy moze ktos mi doradzic co wpisac aby w kolejnych kolumnach bylo:
1 2 3 ...
2 4 6 ...
3 6 9 ...

int war[11][11];
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach