@Rilekt: Ogólnie masz 5 wyjścia:
a) Nuget lub inny package manager
b) wczytujesz "direct link library", czyli pliki z rozszserzeniem .dll
c) wrzucasz .dll do "GAC" (global assembly cache)
d) masz kody źródłowe, np. .cs, .fs, .fsx, ewentualnie .sln i dokładasz je do swojego projektu
e) wrzucanie kodu "niezarządzanego", czyli dokładasz .dll do projektu i wywołujesz go poprzez PInvoke (Platform Invoke)
  • Odpowiedz
@Rilekt: .dll to jest tzw. "biblioteka", czyli projekt, dodany do solucji jako "library".

Z tego co widzę, to w tym linku co wrzuciłeś jest kod z rozszerzeniami w .c oraz .h, czyli zwykły C, nawet nie C++. Są tam jakieś pliki "makefile". Z tego co pamiętam, to takie rozwiązania to się kompiluje w gcc, a nie w visual studio.

Jeżeli chcesz wykorzystać ten kod w Visual Studio, to obawiam się, że będziesz
  • Odpowiedz
@Pan_Mirek: przy uzyciu zapisu lista.push_back(Czlowiek(...)) odpala sie konstruktor kopiujacy i na liscie tworzy sie tak na prawde jeszcze inny obiekt. Obiekt tymczasowy stworzony w mainie jest niszczony po dodaniu na liste.
  • Odpowiedz
@Pan_Mirek: Z dalszych ciekawostek... zamień na:

lista.emplace_back(numer1, numer2, numer3);
...to przestaną (o ile masz kompilator obsługujący tę część standardu, ale jeżeli siedzisz na najnowszym Visual Studio to obsługuje).
  • Odpowiedz
Po co są settery i gettery? W sensie, rozumiem, że dzięki nim dostaję się do składowych prywatnych klasy ale dlaczego nie mogę dać wszystkich pól jako publiczne? To brzmi tak, jakbym miał nimi chronić kod przed sobą samym(kimś innym?).
#pytanie #cpp #naukaprogramowania
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@RaVo: a jak byś opublikował kod w postaci biblioteki i jakiś typ przez przypadek nadpisał wewnętrzną zmienną(i zgłosił że coś nie teges z biblioteką)? Albo skasował wskaźnik?
Settery/Gettery można automatycznie generować przecież.
  • Odpowiedz
jest dużo powodów:
- w razie czego można dodać walidacje danych.
- można usunąć pole zachowując kompatybilność kodu tylko edytując settey/gettery tak by pasowały do nowego kodu.
- czasami mamy np pola x/y/z ale chcemy mieć settera/gettera jako np Vector (tylko przykład)
- też właśnie dla fieldów read/write-only.
- No i nie do wszystkich wgl potrzebujesz gettera/settera, czasem lepiej zachować je prywatnie, bez żadnego dostępu.
  • Odpowiedz
@Leinnan: Z czysto "kodowego" punktu widzenia:

- nie stosuj takich dzikich zmiennych globalnych
- inicjalizuj zmienne wartościami początkowymi.
- kompiluj kod z włączonymi flagami -Wall i -Werror - brak returna z funkcji nie pozwoliłby na skompilowanie tego kodu
- takie skomplikowane wyrażenia logiczne jak w Twoim if-ie lepiej odpowiednio pootaczać nawiasami, żeby usunąć wszelkie wątpliwości co do kolejności
  • Odpowiedz
#komputery #programowanie #cpp

Mireczki mam taki plan ambitny, bądź nie - jeszcze nie mam pewności jakie to trudne. Będę miał do przetwarzania ogromne ilości danych, mówimy tutaj np. o 8 albo 10 milionach danych typu double, czasem pewnie i więcej nawet. No i na tych danych trzeba będzie cośtam liczyć. No i tak sobie pomyślałem, że może by przyszpanować (o ile będę w stanie) i spróbować
  • 14
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#sublimetext #cpp #programowanie
Podłączyłem sobie kompilator do Sublime Text, ale niestety mam problem, bo wywala mi błędy jak tylko korzystam ze standardu C++11, próbowałem dołożyć sublime-cpp11 package, ale tutaj z kolei przy próbie kompilacji poza błędami np o braku bibliotek (które są w 11) wyskakuje taki błąd: g++: unrecognized option -std=c++1y'`
Jakieś pomysły jak to naprawić? Dodam, że korzystam z win7
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

via Android
  • 0
@kalectwo: Wiesz co, ja już chyba próbowałem wszystkiego i raz na kilka(naście?) prób zadziała innym razem już nie działa, więc naprawdę nie wiem co może być nie tak. Tak że stwierdziłem że szkoda mojego czasu na zabawę z tym i zostaje przy IDE
  • Odpowiedz
#cpp #naukaprogramowania
Mam pytanie, rozwiązuję zadanie z książki Praty o takiej treści:

Write a program that asks you to enter an automobile gasoline consumption figure in the European style (liters per 100 kilometers) and converts to the U.S. style of miles per gallon. Note that in addition to using different units of measurement, the U.S approach (distance / fuel) is the inverse of the European approach (fuel /
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#hacking krytyczny błąd w libc pozwala atakować prawie każdy program sieciowy (o ile robi on "getaddrinfo" - np jeżeli wysyła zapytania DNS). Poprawki już wyszły (np debian), wystarczy update i reboot.

#linux #security #itsecurity ; nie wiem czy też nie #bsd czy tam inny mac.
CVE-2015-7547
https://googleonlinesecurity.blogspot.com/2016/02/cve-2015-7547-glibc-getaddrinfo-stack.html
https://news.ycombinator.com/item?id=11109967
  • 12
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mireczki, czy jest sens jeszcze siedzieć w Delphi, czy już czas zacząć siedzieć w C++ i uczyć się portując swoje aplikacje? W sumie odpowiadam sobie sam na to pytanie: coraz ciężej znaleźć pomoc do Delphina, a jak zamienię słówko Delphi na C++ to pomoc znajdę nawet na 10 stronie w Google... #delphi #cpp
  • 16
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#programowanie #qt #cpp

Pytanie do programistów Qt i w sumie nie tylko.

Potrzebujemy w Qt pojemnika do przechowywania dużych ilości próbek typu double. Mówimy tutaj o ilościach próbek przekraczających nawet 4 miliony.

Logika
  • 18
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

  • 0
@levil: ustaw breakpointa z warunkiem aby odpalił się wtedy kiedy chcesz. gdb: b blabla.cpp if warunek a msvc możesz wyklikać.
  • Odpowiedz
@levil: A nie możesz walnąć jakiegoś printfa, który by ci za każdym razem wyświetlał na którym poziomie jest rekurencja i jaka jest wartość zmiennej?
  • Odpowiedz
#programowanie #cpp #algorytmy #bioinformatyka
kolejny post z cyklu jestem w dupie bo obijałem się przez cały semestr ( ͡° ʖ̯ ͡°) nie wiedzieć czemu ( ͡° ʖ̯ ͡°). Zadanie wygląda następująco: http://www.cs.put.poznan.pl/mkasprzak/akb/zad4.html
mój kod: http://pastebin.com/mJxSH2ZL
i teraz jak widzicie nie działa, nie wiem czemu nie wraca pomimo znalezienia błędnego rozwiązania. ma ktoś jakieś uwagi ?
  • 15
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@levil: Sory ze się czepiam, ale wszędzie korzystasz z WielkosZbioru zamiast poprostu z zbior.size() a nie widzę problemów byś miał jakieś rożne rozmiary, zamiast:

int ZnajdzMaxWartosc(int c, vector tab)

zrób:

int ZnajdzMaxWartosc(vector const&
  • Odpowiedz