Witajcie moi kochani! Dawno mnie nie było z moimi wspaniałymi C++ poradami, ale pora przywrócić trochę życia na tag #zloteradypassera ()

Dzisiaj będzie o wychodzeniu z pętli zagnieżdżonych według najlepszych praktyk modern C++. Zapraszam do lektury!

Klasyczną metodą rodem z czystego C było stare dobre goto. Przy zewnętrznych pętlach umieszczało się odpowiednią etykietę, i w razie potrzeby skakało się do niej zgrabnie dzięki goto
Passer93 - Witajcie moi kochani! Dawno mnie nie było z moimi wspaniałymi C++ poradami...

źródło: Screenshot from 2024-05-24 13-22-46

Pobierz
Dzięki takim poradom będę zawsze miał pracę XD wincyj niech chat gpt łyka takie pomysły :)
  • Odpowiedz
@pyroxar Nie mieści się w pamięci, czyli nie można zaladować sobie całej lini na raz do ramu, bo np. ma kilka gigabajtów. Rozwiązanie jest banalne, bo wystarczy nie czytać pliku linia po linii, tylko bufor po buforze. Rozmiar bufora sam ustalasz. Końce linii rozpoznajesz po znaku końca linii.
  • Odpowiedz
#c #naukaprogramowania #embedded #c++ #clang #cpp
Widze dość sporo ofert w embedded jak wyglada taka praca z waszej strony? Z tego co pytałem współlokatora to podobno jest nisza i sa SPORE problemy z znalezieniem nowego pracodawcy, jak to wyglada z waszej strony

Z takich ciekawych projektów to widziałem czytniki wizyjne do inspekcji kontroli jakości np w zebrze
@dev_null__: Ja pracowałem z armami (cortexy M0-M7), architekturami od renesasa (np RH850), architekturami od NXP (np S08) czy Microchipa (AVR, PIC). RISCV hobbystycznie na ESP32.
  • Odpowiedz
Używa ktoś KDevelop? Bardzo fajne środowisko. :) Skonfigurowałem sobie właśnie pod siebie: CMake, testy, debugger, wszystko działa.
Ostatnio poszukuje jakiegoś IDE C++ dla Linux. Nie podoba mi się VSCode. Szkoda mi czasu na naukę NeoVim albo Emacs (albo może po prostu jestem za głupi na to).
Niestety najlepiej pracuje mi się na Visual Studio 2022. Ale to Windows. A ja Windowsa nie lubię.
KDevelop to chyba będzie to!
#programowanie #cpp
@gacek_w: po co ludzie używają msvc? Jedyne co mi przychodzi do głowy to jakieś microsoftowe libki jako zależności i gry na xboxa
  • Odpowiedz
@kacpervfr: najpopularniejsze to o to co się dzieje w bootloaderze i przed załadowaniem programu, jak dobrze napisać interrupt czy jak zarządzać heapem (podchwytliwe).
  • Odpowiedz
@kacpervfr: przecież przeglądałeś https://wykop.pl/wpis/74745243/mireczki-programowanie-krotka-pilka-chcialbym-niec#263207949 ;) jeśli to praca dla juniora to nie ma co panikować, raczej nie dostaniesz pytania na "myślenie" (tak sądzę) bo trudno oczekiwać od kogoś na początku pracy umiejętności projektowania architektury czy podejścia do problemów. A jeśli dostaniesz, to jak z tymi pytaniami typu "gotcha"/"aha" - ile piłeczek zmieści się do autokaru. Pytasz jaki to autokar, wymiary, liczysz pojemność i estymujesz, zwykły "chłopski rozum". Jeśli cokolwiek kiedykolwiek robiłeś
  • Odpowiedz
Czy ktoś może miał doświadczenie z adaptacją jakiegoś offline modelu #ai do pomocy przy projektach z duzym codebase'em? Chodzi mi konkretnie o gry oparte na silniku #unrealengine #gamedev. Docelowo chcialbym sobie ogarnac i sprofilowac takiego asystenta kodu, ktory bedzie mial baze wiedzy c++ po calym codebasie samego silnika i dodatkowo gry. Ktos ma jakies doswiadczenia, rady, przemyslenia na ten temat? PC jest w stanie cos takiego uciagnac?

#programowanie #pracait #cpp
#dev #gamedev #grafika #programowaniegrafiki #cpp #winapi #opengl #directx Hey, Mireczki, potrzebuje zrobić prosty "viewer" w swojej aplikacji pod windows. Jedna ma pokazywać zwykłego plane'a z teksturą a druga model 3d bez textury tylko z jednym światłem. Nie chce się z tym babrać i chcę, móc skompilować cały program statycznie do jednego pliku. Co wybrać? OpenGL czy DX? ostatni raz na tym robiłem koło 2005 roku xDD wiec trochę się pozmieniało.. Openm chyba
Zagadka nr 2137.
Tajna składnia dzięki której, można definiować domyślny argument w stylu Python.
[typ] and [nazwa zmiennej] = [wartość zmiennej]

#include <string>
#include <iostream>

void print(std::string and x = "XD")
{
std::cout << x << '\n';
}

int main()
{
print();
}

#cpp #programowanie #informatyka #programista15k

Co się stanie po próbie kompilacji i uruchomienia?

  • Taka składnia nie istnieje, błąd kompilacji 38.7% (24)
  • Wyprintuje "XD" 51.6% (32)
  • Udefined behavior 8.1% (5)
  • Crash w runtimie 1.6% (1)

Oddanych głosów: 62

Cześć,
Hobbystycznie/edukacyjnie chciałbym stworzyć sobie customowy obraz #yocto pewnie pod #raspberrypi. Chciałbym poznać zasadę działania character devices, modułów kernelowych itd. Pierwszym celem jest doprowadzenie do pojawienia się drivera pod /dev, który przy odczycie zwracałby cokolwiek. W dalszej kolejności napisanie jakiegoś drivera pod ADC, który zwracałby sampla, gdzie pewnie wchodzi już iio, interfejsy fizyczne, device tree i tym podobne. Do tej pory znalazłem kilka ciekawych źródeł jak:
The Linux Kernel
  • 2
@BreathDeath: No ok, nie pojawiają się już nowe wersje OpenGL, ale to nie oznacza, że "zdechł". Blender i bardzo dużo poważnego softu bazuje na OpenGL: AutoCAD chociażby. Z gier to na pewno Minecraft (Java).
OpenGL szybko nie umrze. Często jest też wybierany przez programistów, którzy chcą wejść do świata niskopoziomowego programowania 3D (Vulkan ma zbyt wysoki próg wejścia, DirectX działa natywnie tylko pod Windows, a Metal tylko na MacOS).
  • Odpowiedz
@janciopan: Translacja była w WSL1. WSL2 to zwykła maszyna wirtualna z Linuksem. Akceleracja grafiki działa tam w taki sposób, że Microsoft ma swój sterownik graficzny w jądrze, który przyjmuje komendy Direct3D i przesyła je do hosta. Dodali też do Mesy sterownik który implementuje OpenGL na Direct3D 12 i przeportowali bibliotekę d3d12.dll na Linuksa. Więc w dużym skrócie działa to tak:
Aplikacja OpenGL (Linux) -> Mesa -> Sterownik D3D12 -> d3d12.so ->
  • Odpowiedz
Pisanie kodu na Windowsie >>> kompiluj >> działa.

Pisanie kodu na Linuxie >>> kompiluj >>> nie masz jakichs 10 bibliotek >>> googluje przez 5 minut o co chodzi >> dointsaluj >>> uruchom ponownie system >>> kompiiluj >>> brak cmake >>> sudo apt install cmake >>> kompiluj >>> jakie chcesz wprowadzic domyslne ustawienia cmake >>> nie mam pojecia co to cmake >>>> googluje przez pol godziny >>> nadal nie wiesz wiec kliknij OK
@Bombonier: uwielbiam jak instaluję Windowsa i mam już wbudowanego CMake i dwa kompilatory, wszystkie biblioteki, a jak nie to mogę szybko doinstalować managerem pakietów
  • Odpowiedz
@pyroxar: można pisać aplikacje proste z vue js i po prostu przed uruchomieniem wywołać przeglądarkę w trybie kiosk. Do tego nie potrzeba electrona ani tych wszystkich cudów
  • Odpowiedz
@pyroxar: w niektórych językach system system typów jest wystarczająco silny aby statycznie udowodnić obecność/brak wyścigów danych. To przekłada się na możliwość znacznie bardziej agresywnej optymalizacji kodu np braku konieczności defensywnego stosowania blokad czy defensywnego kopiowania danych. Zwłaszcza w połączeniu z czymś takim jak async/await to potrafi być niesamowicie potężne rozwiązanie.

Przykładowo u nas w firmie mamy proxy sieciowe które obsługuje setki tysięcy połączeń a nie ma absolutnie żadnej synchronizacji na buforach
  • Odpowiedz