Książek nie kojarzę, ale jak chcesz mieć międzyplatformową aplikację do obsługi USB to i tak skończysz na libusb. Dokumentacja jest w zupełności wystarczająca, żeby zacząć pisać.
Edit: @MP0WER był szybszy:-)
  • Odpowiedz
#programowanie #cpp
Cześć!, Czy ktoś z Was nie chciał by się podjąć napisania programu do sterowania urządzeniem? Szukam programisty #embedded do zlecenia z myślą o dłuższej współpracy (więcej zleceń, nie etat).

Mam wszystko co trzeba, urządzenia, instrukcje, co i jak ma działać oraz schematy - nie podaje tutaj wynagrodzenia za pracę ponieważ osobą zainteresowanym wyślę na PW o co dokładnie chodzi (a chodzi z grubsza o
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Wybaczcie za spamowanie tagu :( Jak nie chcecie durnych pytań o pierdoły możecie mnie bez wyrzutów sumienia czarnolistować.

Dotychczas zapisywałem sobie kod w postaci txt (archaizm, ale dla mnie wygodny). Teraz skończyłem projekt z paroma plikami - jak mogę łatwo zarchiwizować ten projekt w odrębnych plikach?

#cpp #visualstudio
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

class pojazd{};
enum poradnia{dzien,noc};

Jeżeli mówimy, że "pojazd" jest klasą, to pora
dnia jest .... w prostych słowach? poradnia jest typem - ale, zacznijmy od tego, że klasa też jest typem. To jak w końcu poprawnie to nazywać? Kładę na to nacisk, bo potem łatwiej mi opisać mój problem.
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Cześć,
jako że ostatni problem, którego rozwiązania nie mogłem nigdzie znaleźć (generowanie #qt GUI w .dll) bo jak się okazało qt creator nie może utworzyć (a przynajmniej ja nie wiem jak) .dll którą da się wszczepić do procesu, bo wysypuje milion błędów, zainstalowałem qt do visual studio 2013 i wszystko śmiga tylko jest jeden problem, robienie GUI bez qt creatora to męka. Znalazłem kilka sposobów żeby konwertowały plik .ui na
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@morsisko: QtCreator doskonale sobie radzi z robieniem dll... jeśli Ci nie działało, to po prostu coś robiłeś źle.

Aha, wspomnę tylko, że nie załadujesz dllki skompilowanej pod mingw do apki skompilowanej visualem i vice versa. Nie są kompatybilne.
  • Odpowiedz
@vipe: W takim razie co robiłem źle, skoro identyczny kod działa na visualu a w qt po zainjectowaniu do jakiegoś procesu nie wykrywał żadnego entry pointu?

A co do ładowania to jeśli chodzi ci ładowanie .dll do procesu to jesteś w błędzie, przed chwilą ładowałem ją do aplikacji napisanej w delphi i działało bez zarzutów.
  • Odpowiedz
Dlaczego jak dam konstruktor w takiej postaci to nie trybi:
Person::Person(string x, BDay bo)
{
name = x;
date = bo;

}
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@RaVo: Tak jak ktos napisal w pierwszym przypadku najpierw tworzony jest obiekt BDay konstruktorem domyslnym, ktory nie zostal wygenerowany przez kompilator. Czyli nie dziala bo wolasz konstruktor, ktorego nie ma - w sumie kompilator powinien to podac w opisie bledu.
  • Odpowiedz
void func(T&&)

cout << "rval ref" << endl;

@inplaz: to niekoniecznie musi być r-value reference - to forwarding-reference (a.k.a. universal reference)
Kod jest ok - nie ma duplikacji. Zostanie wybrany wariant z T&&, gdzie T to char (&)[7], bo bardziej pasuje (nie trzeba dodawać const).
  • Odpowiedz
Jak myślicie mierczki #cpp? Tutaj ciekawa strona mówiąca dlaczego język C++ jest do bani:
https://wiki.theory.org/YourLanguageSucks#C.2B.2B_sucks_because

moim zdaniem storna się całkowicie myli i żaden z argumentów się nie trzyma, np. c_str() oczywiście specjalnie jest explicity
inne rzeczy są już poprawione (deklaracja typu throw w nagłówku, od C++11, oraz duża biblioteka std, oraz właściwie-standardowa boost).
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@rfree:
Dobra, krok po kroku:

It is backward compatible with C.

Still with subtle differences that make some C code unable to compile in a C++ compiler.

Yep, w pełni zgoda. Niepełna kompatybilność z C mogłaby zostać ukryta już dawno, nie jest, przez co cały język cierpi. Preprocesor, include'owanie plików i
  • Odpowiedz
@xmesaj2: Problemy są dwa: błędy w tłumaczeniu (w internetach można znaleźć wiele przykładów rozdzierania szat nad błedami językowymi i merytorycznymi) ale również aktualizacje (chcesz kupić wydanie VI PL, a czy to jest najnowsze EN?).
Praty czytałem książkę o C i była całkiem niezła. A może coś od twórcy C++? Miałem książkę w ręku, treść była akceptowalna.
  • Odpowiedz
Cześć,
mam takie małe pytanie: Jaki jest najlepszy sposób na dołączenie GUI do pliku .dll w #qt i #cpp ?
Program i tak będzie działał tylko na windowsie więc sposób może być "typowo" na windowsa. Chodzi o to żeby po zainjectowaniu .dll do jakiegoś procesu pojawiło się GUI aby zwiększyć prostotę obsługi takiego programu, bo w konsoli to tak średnio będzie. I tutaj właśnie moje pytanie, czytałem że
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@morsisko: Czyli chcesz zrobić bibliotekę (która po załadowaniu będzie swego rodzaju aplikacją), a nie aplikację?

Nie wiem czy Ci się to uda. Zależy, czy firefox (o ile w nim docelowo chcesz ładować swoją dllkę) pozwala na integrację pętli zdarzeń i czy załadowana dllka będzie w głównym wątku aplikacji (a bardzo w to wątpię).

Tak czy inaczej, to wykracza trochę poza moją wiedzę.
  • Odpowiedz
(która po załadowaniu będzie swego rodzaju aplikacją), a nie aplikację?

Tak. Głównie dlatego że od momentu gdy jestem częścią procesu mogę łatwo czytać pamięć i używać "kodu" assemblera(__asm) na czym najbardziej mi zależy. :P
  • Odpowiedz
Może mi ktoś wytłumaczyć jak pięciolatkowi, dlaczego lepsze jest zmienianie prywatnych zmiennych za pomocą publicznych funkcji, zamiast robienie ich od razu publicznymi zmiennymi? Przecież to wychodzi dokładnie na to samo, tylko dłużej i więcej kodu. Przeczytałem wyjaśnienia z pierwszych 10 wyników google i wszystkie sprowadzają się do "kiedyś zrozumiesz jak cośtam". No właśnie chciałbym wiedzieć jakie "cośtam".
#programowanie #cpp

  • 28
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Goryptic: robisz to w funkcji, która ma ustawiać wartość zmiennej. W podanym przeze mnie przypadku będzie.
Void setTemp(float val){
If (val >= 0 && val < 100) temp =val;
}
  • Odpowiedz
@Goryptic: bo jak masz czerwone auto i chcesz zmienić jego kolor bez zmiany całej obudowy to zmieniasz farbę na obudowie a nie całą obudowę albo lakier. Metody publiczne używane są przez zewnętrzne klasy i API, wiec musisz pilnować INNYCH żeby zmieniając kolor auta nie podpieprzyli zderzaków na null.
  • Odpowiedz
#cpp #programowanie

Mirki, co będzie najwydajniejszą metodą przechowywania danych wczytywanych z bazy danych w postaci stringów? Czy tablica 2D: std::vector< std::vector< string > > będzie okej, czy są może jakieś sprawniejsze sposoby?
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@adek_es: Jak było napisane wyżej, zależy to od sposóbu dostępu do danych (kolejno, czy po indeksie), ilości zapisów/odczytów i wreszcie ilości danych.
W programach często wystepuje zasada 20/80 - 20% kodu jest odpowiedzialne za 80% czasu pracy programu. Jeżeli te dane nie są krytyczne w odniesieniu do wydajności, lub jest ich niewiele, możesz spokojnie olać kwestię optymalizacji i skupić się na pisaniu kodu, który będzie czytelny i łatwy w utrzymaniu.
  • Odpowiedz
@lukasz1985m: C++ jest obecnie językiem średniego poziomu - nie ma garbage collectora, kod musi być osobno kompilowany na każdą platformę, na program ma wpływ kolejność bitów używana przez procesor, masz bezpośredni dostęp do pamięci, możesz wstawiać wstawki asm, ma dość ubogą bibliotekę standardową (w porównaniu np. do Javy czy C#), niskopoziomową obsługę wyjątków (Java też to odziedziczyła, tak na marginesie).
  • Odpowiedz
Przykład mam prawie że dokładnie taki jak w książce a nie trybi.
http://pastebin.com/M8LTjwJ7
expected type-specifier before '(' token void operator (const typ x) const
oraz no match for call to '(Gruszka <>)(int&)'
Co jest źle? Mam utworzyć funkcję jednoargumentową, która może być używa wraz z std::for_each w celu wyświetlenia podwojonej wartości parametru wejściowego.
#programowanie #naukaprogramowania #cpp
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Zagadka, dlaczego gdy chcę zwrócić adres funkcji (wskaźnik do funkcji) a jest ona typu void, wszystko jest ok, a jak tylko zmienię ją na int, już przestaje działać?
W linku 2 kody oddzielone -------. Górny działa, dolny nie, jedyna różnica to 3x void zmienione na 3x int.

//tutaj jest błąd
//return value type does not match the function type

http://ideone.com/d326Ib
  • 16
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach