Press "Enter" to skip to content

Kategoria: c++

Władca czasu

Chyba wrócę do bycia interopem. Można dostać euforii (żeby nie nazwać tego inaczej) kiedy wywołuje się w swoim kodzie czyiś kod, zwłaszcza, jeżeli nie był on dedykowany specjalnie na Twoją platformę. Kiedy wywołujesz jakąś losową dllkę, napisaną w czymkolwiek pod cokolwiek… a już najwyższym stopniem tejże euforii będzie … wywołanie funkcji z dllki systemowej. Takiej wiecie, System32 czy coś… takiej, no weźmy kernel32.dll. Brzmi strasznie. Zróbmy coś, od czego komp nie wybuchnie. Ustawmy mu czas.

Misz masz: kod/ACTA/forum

Miałam napisać parę słów, na temat tego, co się u mnie działo ostatnio. I coś tam naskrobię, w kolejności bodaj odwrotnej do chronologicznej (od najnowszego do najstarszego). Skorzystam z tego, że rwę noc.

 

Sprawa 1:  q3k postawił forum dla listków.  Jest ono dostępne na http://listekklonu.q3k.org/bbs/index.php . Nielistki ofc też mogą się rejestrować i używać. W końcu informacja chce być wolna.

Sprawa 2. Zakodziłam sobie (i każdemu kto chce się pobawić) pingera. Na wypadek, gdyby komuś się chciało pingiem ACTA pomścić. Aplikacja dostępna pod piatkosia.k4be.pl/Pinger.exe .  Jedyne czym mogę się „pochwalić” to będzie kod raptem jednej funkcji, którą musiałam napisać. Resztę wygenerował mi visual w procesie tworzenia designu. Prymitywny windows forms, na 1 rzut oka widać.

Operator new – kilka słów na jego temat

Operator new – kilka słów na jego temat

Operator new, jak zapewne wszyscy wiedzą służy w językach obiektowych/ zorientowanych obiektowo do kreacji nowych obiektów. W przypadku języka C++ używamy go również do tworzenia zmiennych dynamicznych typów wbudowanych, na które pokazuje wskaźnik. Zmienna dynamiczna bowiem sama w sobie nazwy niestety nie ma. Ale ma adres który można przypisać do wskaźnika, a to nam w zupełności wystarczy do posługiwania się nią. Zmienna dynamiczna nie podlega prawom zakresu ważności (co innego wskaźnik, który na tą zmienną pokazuje). Jeżeli w danym zakresie ważności mamy dostęp do przynajmniej jednego wskaźnika na zaalokowany obszar pamięci, będzie od dostępny. Tracimy zmienną dopiero po użyciu bliźniaczego operatora delete (którym nie będziemy się zajmować w tym artykule).  Wybaczcie mi to masło maślane.
Zmienne tworzone dynamicznie w języku c++ nie są zerowane, należy o tym pamiętać.
Artykuł ten stanowi vademecum posługiwania się tym operatorem na (prawie) wszystkie możliwe sposoby. Ograniczymy się przy tym do języka c++. Ma on także za zadanie rozbudzić waszą ciekawość do zbadania tego, co nieznane.

hexdump

Czasami zdarza się, że człowiek nie ma aktualnie potrzebnego narzędzia.  Pobieranie z neta jest albo niemożliwe, albo zajmie zbyt dużo czasu, a człowiek chce plikowi w bebechy zajrzeć. No i poczułam coś takiego i klepnęłam taki kawałek kodu (thx widmo za podpowiedź co do zmiany define na wartość predefiniowaną)

Walka z kodowaniem

Chciałabym nawiązać do posta, w którym pisałam o kodowaniu (jego kopia znajduje się tutaj).
Próbuję kodzić coraz więcej ( w tym przypadku na system windows) i zaczyna mi przeszkadzać już fakt konwertowania

gżegżółką po każdej poprawnej kompilacji, i kompilacja wyniku. Mogłabym dodać wersję tego programu i utworzyć

makefile ale…
Zawsze to nadprodukcja śmieci i dodatkowe dziesiątki milisekund i operacje na plikach, których możnaby uniknąć.
Jest na to sposób. A mianowicie (działa tylko przy czcionce Lucida Console, przy standardowej krzaczy:( )

wystarczy na początku wpisać linijkę system(„chcp 1250>NUL”); zaś na końcu programu , system(„chcp 852>NUL”); by

zostawić tak, jak jest defaultowo. Aaa i nie mylić NUL z NULL, tam serio nie ma błędu. Nie zapomniałam tego L. Po

prostu tak się ten pseudo plik zwie. Obecnie mój kod wygląda niestety tak

wtf czyli filozofowanie nt. c++

Dobra. Jakiś czas mnie nie było, może zacznę więc od krótkiego co u mnie. Jakiś tydzień temu wyszłam z dołka i nadrabiam zaległości, poza tym semestr zakończyłam bez poprawki, z wynikiem „do przyjęcia”, choć mogło być lepiej.
Tak się ostatnio bawię kodem, bo mi się nudzi. Nie wychodzi z tego zbyt wiele, ale zawsze coś. Jestem z natury „filozofką”, chciałam zobaczyć, czy przypadkiem programowanie c-like nie jest w cpp tylko jako nakładka dla wstecznej kompatybilności. W jaki sposób szukałam tego dziwnego „czegoś”? Szukałam obiektowości tam, gdzie wg języka C nie powinno jej być, a mianowicie w interpretowaniu jako klas typów wbudowanych, struktur i unii.

zabawa

Ostatnio się bawiłam w kodzie. (Thx idlecode za podsunięcie pomysłu) i wyszło mi coś takiego. Poziom może niski, ale przynajmniej działa. Jak co pejstnę: #include…