Zawsze podziwiałem oryginalny program uTorrent. Wyglądało świetnie, było mniej niż 64kb, było niezwykle szybkie i miało wszystkie funkcje, których potrzebowałem. Niestety program jest zamknięty źródło (i coraz bardziej nadęty z dnia na dzień), więc przychodzę do Stackoverflow dla inspiracji.Programowanie cienkich programów w C++ (np. UTorrent) dla Windows
Jakie metody zalecają Ci szybkie pisanie szybkich, wydajnych pamięciowo i eleganckich programów w systemie Windows?
Podczas gdy C# (i cała koncepcja .NET) są fajnymi pomysłami, jestem bardziej zainteresowany "purystycznymi" odpowiedziami i wyzwaniem napisania wydajnego, szybkiego oprogramowania dla platformy Windows, podobnie jak oryginalny klient uTorrent. Nie mam nic przeciwko przydzielaniu własnej pamięci, robieniu własnego zbierania śmieci i tworzeniu własnych struktur danych.
Zalecenia dotyczące książek, artykułów, bibliotek, IDE (nawet skuteczne sposoby na zwiększenie kofeiny w moim systemie) mile widziane.
haha, część o kofeinie rozśmieszyła mnie. Cóż, nie wydaje mi się, żebym miał odpowiedź, ale wiem, że póki co hardcorowi purystowie zwrócą się w kierunku montażu, ale programowanie czegoś tak skomplikowanego, jak klient torrenta w montażu, byłoby prawie niemożliwe. Myślę, że jeśli napisałeś swój własny kod (powstrzymałeś się od używania jakichkolwiek bibliotek), możesz łatwo uzyskać program C/C++ poniżej 64kb. Jeśli pisałeś w zespole, prawdopodobnie mógłbyś go ściągnąć poniżej 1kb. – ldog
AFAIK uTorrent jest wyposażony w kompresor, więc jego masa fizyczna jest niewielka. Ale w czasie wykonywania jest dekompresowany i zużywa znacznie więcej pamięci. Mały rozmiar pliku wykonywalnego uzyskuje się przez unikanie korzystania z wielu bibliotek, w szczególności ze standardowej biblioteki C++ i urządzeń strumieniowych, oraz tworzenia zamienników napisanych specjalnie dla tego programu. (zobacz artykuł na Wikipedii) – Vanuan
Vanuan: "dużo więcej pamięci" jest trochę naciągane. Pakiety wykonywalne zazwyczaj osiągają współczynniki kompresji do 50%, niewiele więcej. Tak więc, podczas gdy μTorrent musi zostać rozpakowany w pamięci, aby go uruchomić, zajmie to około 500 KiB. Niewiele dla dzisiejszych maszyn. – Joey