Wszystko
Najnowsze
Archiwum
Zapraszam na nowy post o tematyce #programowanie w #jezykc #cpp (。◕‿‿◕。)
http://cpp-polska.pl/post/malo-znany-kuzyn-statica-threadlocal
http://cpp-polska.pl/post/malo-znany-kuzyn-statica-threadlocal
Deklaruję wskaźnik na wskaźnik na longa:
Teraz próbuję się odwołać do wartości long:
long **return_vals = calloc(10, sizeof(long*));Teraz próbuję się odwołać do wartości long:
printf("%ld ", *return_vals[i]);Oglądałem weekly filmik od Jasona Turnera, w którym pojawia się jego CMake file wraz z warningami. Gość na filmiku wybiera aktywne warningi, opisujac komentarzem ich sens. W praktyce robiłem odwrotnie, blacklistując kompletnie zbędne przy włączonym maksymalnym (albo jakoś bardzo wysokim) poziomie.
Naszło mnie do zapytania: w jaki sposób definiujecie jakie warningi pozostaną w trakcie kompilacji?
#cpp #jezykc
Naszło mnie do zapytania: w jaki sposób definiujecie jakie warningi pozostaną w trakcie kompilacji?
#cpp #jezykc
Dla gcc mam listę przygotowaną na podstawie https://stackoverflow.com/a/9862800 .
Jak tworzysz „bardzo wysoki” poziom ostrzeżeń? W gcc
Jak tworzysz „bardzo wysoki” poziom ostrzeżeń? W gcc
-Wall -Wextra wcale nie są wybitnie wymagające.- 1
@Golem_Piotr: używam takiego o
Na podlinkowanej przez Ciebie liście jest wyłączony
Taka lista oparta o whitelistowanie ma zasadniczą wadę: jeżeli nowa wersja kompilatora wprowadziłaby nowe warningi dla przypadków dotyczących np. nowszej wersji języka, o ile nie wejdą
-Werror -Weverything w clangu: https://embeddedartistry.com/blog/2017/3/7/clang-weverything. Do całości 10 wykluczeń i gra gitara.Na podlinkowanej przez Ciebie liście jest wyłączony
-Wno-unused. Sam autor sugeruje, że irytuje go ten warning w trakcie developmenu, ale dobrze czasem włączyć. To potencjalnie error-prone.Taka lista oparta o whitelistowanie ma zasadniczą wadę: jeżeli nowa wersja kompilatora wprowadziłaby nowe warningi dla przypadków dotyczących np. nowszej wersji języka, o ile nie wejdą
Zapraszamy na kolejną porcję ciekawostek.
cpp-polska.pl/post/cppnews-tydzien-20-2018
Zapraszamy ( ͡° ͜
cpp-polska.pl/post/cppnews-tydzien-20-2018
Zapraszamy ( ͡° ͜
- 1
Treść przeznaczona dla osób powyżej 18 roku życia...
@Tytyka: zacznijmy od tego dlaczego inicjalizujesz 2 takie zmienne ze śmieciowymi rozmiarami?
wygląda tak jakbyś przespał cały semestr wykładów (✌ ゚ ∀ ゚)☞
pomijam nieświadomy fakt użycia VLA
wygląda tak jakbyś przespał cały semestr wykładów (✌ ゚ ∀ ゚)☞
pomijam nieświadomy fakt użycia VLA
źródło: comment_9BEI0z7PxGQMr0KFAri6OVZ4sP9Sf1Sc.jpg
Pobierz- 15
Początkowo nie planowałem tego wpisu, ale wiedza na temat programu make okazała się bardziej rozległa, niż przypuszczałem. Zapraszam na drugą część skoncentrowaną na plikach Makefile ( ͡° ͜ʖ ͡°)
cpp-polska.pl/post/potwor-przeszlosci-makefile-cz-2
cpp-polska.pl/post/potwor-przeszlosci-makefile-cz-2
Hej! Zapraszam serdecznie na garść nowinek ze świata #programowanie w #jezykc oraz #cpp ( ͡° ͜ʖ ͡°)
http://cpp-polska.pl/post/cppnews-tydzien-19-2018
http://cpp-polska.pl/post/cppnews-tydzien-19-2018
Komentarz usunięty przez autora
- 3
@FedoraTyrone: Masz lepszy język do programowania STM32 z 64KiB Flasha?
Albo do pisania programików, które mają działać w tle cały czas i nie zeżreć przy tym tony RAMu?
Albo do pisania programików, które mają działać w tle cały czas i nie zeżreć przy tym tony RAMu?
- 12
Hej wszystkim! Właśnie przed chwilą światło dzienne ujrzał pierwszy artykuł na świeżym jak poranne bułeczki blogu o #programowanie w #cpp i #jezykc! Zatem do dzieła! Klikamy w link Powtór przeszłości... Makefile cz. 1 i czytamy! :) Serdecznie zapraszam.
- 1
@CppPolska: Chciej pisać o
Kurde, kisne z tego artykułu:
Nie to że zwykły bash zrobi dokładnie to samo i jest dużo prostszy. Jedyne czym się różni to szybkość, pomijanie już skompilowanych kawałków i równoległe budowane,
C++, znacznij od make... ¯\_(ツ)_/¯Kurde, kisne z tego artykułu:
choć - w wielu przypadkach - może to być nader skomplikowane
Nie to że zwykły bash zrobi dokładnie to samo i jest dużo prostszy. Jedyne czym się różni to szybkość, pomijanie już skompilowanych kawałków i równoległe budowane,
- 2
@CppPolska: Ale bym sobie tak takiego bloga popisał, ale nie mam kiedy o tym, że mi się nie chce to już nie wspominając :(
I tak od lat żałuje, że dalej nie zrobiłem (╯︵╰,)
Szanuję za CLion i całkiem dobry artykuł!
I tak od lat żałuje, że dalej nie zrobiłem (╯︵╰,)
Szanuję za CLion i całkiem dobry artykuł!
'gcc' is not recognized as an internal or external command,operable program or batch file.
pora zainstalować Code Blocks?
#jezykc
pora zainstalować Code Blocks?
#jezykc
@konik_polanowy albo po prostu Linuxa. Programowanie w C czy C++ na windows to katorga.
@DerMirker by może zapomniałem dodać: moim zdaniem.
Programując w C++ dużo korzystam z konsoli a robienie tego na Windows doprowadza mnie do placzu. Ostatnio próbowałem zmusić qt na W7 do współpracy - debugger odmawiał. Na Linuxie po prostu mi zadziałało.
Poza tym, mam wrażenie że obecnie dużo (większość?) developmentu dla C++ robi się na Linuxie: embedded jest po prostu wygodniej - nie wiem jak z gamedev.
Programując w C++ dużo korzystam z konsoli a robienie tego na Windows doprowadza mnie do placzu. Ostatnio próbowałem zmusić qt na W7 do współpracy - debugger odmawiał. Na Linuxie po prostu mi zadziałało.
Poza tym, mam wrażenie że obecnie dużo (większość?) developmentu dla C++ robi się na Linuxie: embedded jest po prostu wygodniej - nie wiem jak z gamedev.
Hej. Mam problem z wyświetleniem wartości bajta w systemie dziesiętnym. W skrócie - koniecznie wykorzystując unie muszę zinterpretować wartość int na pojedyncze bajty. Dla niektórych wartości działa to dobrze, lecz dla wartości int np.255 program wyświetla mi -1 0 0 0 jako wartości dziesiętne bajtów. Dlaczego nie wyświetli wartości 255 skoro wykorzystując %d powinno to interpretować jako wartość dodatnią dla tak małej wartości. Zamienienie w kodzie %d na %u tylko pogarsza sprawę.
@WalterSobchak: zamień na unsigned char
@WalterSobchak: jeżeli to jest C, to wszystko spoko, jeżeli C++ to już undefined behaviour (niekorzystnie)
Ogarniam wątki, ale nie rozumiem póki co jednej rzeczy. Dlaczego ten program https://pastebin.com/aHN0ugAk nie za każdym razem wykonuje funkcję którą przekazałem do funkcji tworzącej wątek? Jak widać na obrazku, w tym konkretnym uruchomieniu utworzyłem 10 wątków, a funkcja która wyświetla ID z poziomu wątku wykonała się 8 a nie 10 razy. W dodatku dwa razy wykonała się w wątku ósmym. O co tu chodzi?
#jezykc #programowanie
#jezykc #programowanie
źródło: comment_812XdXRlH31XNORu5d0gYM8VExqSpWPA.jpg
Pobierz- 3
@Matt23: program się kończy przed wykonaniem wątków dodaj tam sleepa albo jakoś poczekaj na zakończenie ich.
- 2
@Matt23: ogolnie to wypisuje, z tym, ze dostep do bufora nie jest zabezpieczony dla integralności. Ogólnie sposób programowania jeśli taki jest jak pokazany, to nie jest najlepszy.... exit winien być ostatecznością, a nie wywoływany ot tak ze środka kodu przy drobnym błędzie... Mozliwe, że ksiązka jest dobra jeśli chodzi o merytorykę dotyczącą systemów informatycznych, ale programowania bym się z niej nie uczył...
Wiem, mam w notatkach. Zapytam, gdyż może ktoś znalazł coś nowego.
Materiały nauki C
#naukaprogramowania #c #jezykc
Materiały nauki C
#naukaprogramowania #c #jezykc
- 0
@konik_polanowy: a co chciałbyś działać w C? Ten język to obecnie mikrokontrolery, sterowniki do sprzętu, aplikacje konsolowe(Linux motzno). Do kucowania w tym polecał Linuksa na maszynie wirtualnej, albo normalnie postawionego, bo w windowsie to Cię k-----a weźmie już na etapie ustawiania środowiska.
Ja zaczynałem na mikrokontrolerach AVR od tego kursu:
http://www.hobby.abxyz.bplaced.net/index.php?pid=4&cid=1
To jest przydatne, ale to nie kurs, tylko raczej taka ściągawka jak co robić
http://goalkicker.com/CBook/
Ja zaczynałem na mikrokontrolerach AVR od tego kursu:
http://www.hobby.abxyz.bplaced.net/index.php?pid=4&cid=1
To jest przydatne, ale to nie kurs, tylko raczej taka ściągawka jak co robić
http://goalkicker.com/CBook/
#programowanie #jezykc #cpp
Czy ktos ma moze pomysl, co jest nie tak z funkcja wypelniajaca wektory?
https://pastebin.com/de5BSgPn
Czy ktos ma moze pomysl, co jest nie tak z funkcja wypelniajaca wektory?
https://pastebin.com/de5BSgPn
@wieczniezielony: mnie się zdaje że pomyliłeś nierówności w linii 41
- 1
@KolejnyWykopowyJanusz: @square: Faktycznie pomylilem, ale operator logiczny. poniewaz w tym miejscu sprawdzam czy rozmiar jest w przedziale 0 - 100. Troche zamotalem sie w tym miejscu, ale nie wplywalo to na blad z powodu ktorego napisalem post. Blad musi byc konkretnie w funkcji wypelniajacej wektory.
@Feargan: Nie ma lepszej metody( ͡° ʖ̯ ͡°)
@Feargan: Nie ma lepszej metody( ͡° ʖ̯ ͡°)
- 9
Witajcie mireczki. Wczoraj i dziś miałem czas, więc dorobiłem do mojego nano serwera http na #esp8266 bardziej zaawansowany interfejs do zmiany ustawień WiFi z wykorzystaniem AJAXa. Nawet jest dynamicznie generowana ikonka zasięgu+czy sieć jest zabezpieczona.
Bierzcie i kucujcie z tego wszyscy ( ͡°( ͡° ͜ʖ( ͡° ͜ʖ ͡°)ʖ ͡°) ͡°):
https://github.com/QB4-dev/esp_nano_httpd_advanced_example
#qbadev #
Bierzcie i kucujcie z tego wszyscy ( ͡°( ͡° ͜ʖ( ͡° ͜ʖ ͡°)ʖ ͡°) ͡°):
https://github.com/QB4-dev/esp_nano_httpd_advanced_example
#qbadev #
źródło: comment_YKuodTJt8GOctwxs5g4WqIK9JjQYZyI8.jpg
Pobierz@QBA__ w sumie może kiedyś skorzystam, bo mam takie cudo na stanie :d
- 1
Mircy, zgłupiałem całkowicie. Ten program https://pastebin.com/ns0wnLxr raz zwraca, że nieistniejący katalog istnieje, a raz że nie. Póki co zaobserwowałem to na dwóch maszynach wyposażonych w system
Dzieje się to nie tylko z jednym katalogiem. Inny mój program losowo identyfikuje typ danego pliku na komputerze, czasem nawet identyfikując go jako żaden z możliwych, to znaczy ani jako folder, ani plik zwykły, nie socket co
debian8 i kompilator gcc w wersji gcc (Debian 4.9.2-10) 4.9.2Dzieje się to nie tylko z jednym katalogiem. Inny mój program losowo identyfikuje typ danego pliku na komputerze, czasem nawet identyfikując go jako żaden z możliwych, to znaczy ani jako folder, ani plik zwykły, nie socket co
- 2
@Matt23: ale S_ISDIR zwraca Ci czy to jest katalog czy plik.
https://www.gnu.org/software/libc/manual/html_node/Testing-File-Type.html
https://www.gnu.org/software/libc/manual/html_node/Testing-File-Type.html
This macro returns non-zero if the file is a directory.
raz zwraca, że nieistniejący katalog istnieje, a raz
- 4
@Matt23: jeśli plik nie istnieje, to stat/fstat/lstat nie zapisuje nic do struktury i zwraca błąd ENOENT, który tutaj pięknie ignorujesz
Dlaczego wyskakuje mi takie coś? W zależności od tego co napiszę, to raz jest w tym miejscu pusta linijka, a raz jakieś losowe znaki.
Tutaj kodzik:
{
char tablica[255];
int index;
for(index
Tutaj kodzik:
{
char tablica[255];
int index;
for(index
źródło: comment_NkHb9KEzmLi9tYJZlMpD3IYi82OXsq3P.jpg
Pobierz- 1
@Pierrdonauta: w C stringi kończone są nullem. Nigdzie go nie umieszczasz.
- 1
@Pierrdonauta: Normalnie.
tablica[index] = 0; Albo zainicjalizuj tablicę zerami na początku.dlaczego jak chce wyświetlić jakiś element tej tablicy, to wyskakują mi losowe liczby?
for(index = 1, potega[0] = 2; index < 8; index++){
potega[index] *= 2;
}
for(index = 1, potega[0] = 2; index < 8; index++){
potega[index] *= 2;
}
@Pierrdonauta: a co Ty tam mnożysz... powinno być
bo w swoim rozwiązaniu mnożysz obecny element * 2 który pewnie zawiera śmieci w pamięci
a powinieneś mnożyć poprzedni element
potega[index] = potega[index-1] * 2;bo w swoim rozwiązaniu mnożysz obecny element * 2 który pewnie zawiera śmieci w pamięci
a powinieneś mnożyć poprzedni element
@Pierrdonauta:
zainicjalizowałeś potęga[0]=2, prawdopodobnie reszta tabeli potega to śmieci(jeżeli zainicjalizowałeś np. tylko int potega[8];), które były wcześniej w pamięci. następnie mnożesz te śmieci x2.
edit: całe życie drugi
zainicjalizowałeś potęga[0]=2, prawdopodobnie reszta tabeli potega to śmieci(jeżeli zainicjalizowałeś np. tylko int potega[8];), które były wcześniej w pamięci. następnie mnożesz te śmieci x2.
edit: całe życie drugi
#programowanie #jezykc
Jaki cel ma przekazywanie parametrów przez struct, kiedy można by je przekazać normalnie? Czasem jest stosowane takie coś w #winapi
Jaki cel ma przekazywanie parametrów przez struct, kiedy można by je przekazać normalnie? Czasem jest stosowane takie coś w #winapi
- 2
@RicoElectrico: jak chciałbyś przekazać 20 elementową strukturę argument po argumencie?
- 2
@RicoElectrico: bo jak masz bardziej zawiklany kod, to lepiej jest sobie pewne dane grupowac. Dodatkowo struktury mozna wykorzystac do tego by moc projektowac obiektowo, co tez ulatwia niekiedy myslec nad schematem aplikacji. Dodatkowo, czesto strukture przekazujesz jako wskaznik, a wiec jest szybciej, az w koncu przy optymalizacjach adres struktury moze byc przekazany w jednym rejestrze, miast przez stos, co jest szybsze.


















cpp-polska.pl/post/cppnews-tydzien-21-2018
Zapraszamy!