Programowanie C/C++ (Linux)W dziale tym zajmę się programowaniem w C i C++ głównie dla Linuxa (ze względu na wykorzystywane funkcje systemowe tego systemu i testowanie w nim prezentowanych rozwiązań). Nie będzie to jednak typowe omówienie czy kurs tego języka, prócz krótkiego wprowadzenia w podstawy tego języka, zamieszczę tutaj szereg bogato komentowanych, niewielkich programów ilustrujących poszczególne zagadnienia. Omówię również korzystanie z ważniejszych/ciekawszych bibliotek (w tym bibliotek standardowych C i C++). Na wstępie zachęcam do zapoznania się z przykładem zamieszczonym w części "wstępu do techniki" poswięconej porgramowaniu. podstawy programowania C/C++
podstawy programowania Unixa/Linuxa
rzeczy trochę ciekawsze
graficzny interfejs użytkownika (GUI)GTK jest biblioteką do tworzenia GUI, stworzoną na potrzeby GIMPa oraz wykorzystywaną w projekcie GNOME. Napisana jest w sposób obiektowy w języku C. Inną biblioteką do tworzenia GUI (i nie tylko ma moduły obsługi baz danych, sieci, grafiki 3D - OpenGL, ...) jest Qt, w której powstaje KDE. Jest to w pełni obiektowa biblioteka C++.
multimediaDźwięk w Linuxie obsługiwany jest najczęściej przez sterowniki Alsa lub OSS - w obu przypadkach dostępne jest urządzenie /dev/dsp jednak w przypadku Alsa nie jest ono natywnym sposobem obsługi tego sterownika. Często także powyżej sterownika funkcjonują serwery dźwięku takie jak "jack" lub "arts" Z kolei SDL jest biblioteka multimedialna, obsługująca grafikę 2D i 3D, dźwięk, urządzenia wejścia/wyjścia. W zastosowaniach graficznych wykorzystuje OpenGL (niskopoziomowy interfejs graficzny). OpenGL posiada również własne wyżej poziomowe biblioteki (GLU, GLUT, GLUI, ...). Można powiedzieć że SDL stanowi swego rodzaju wieloplatformowy odpowiednik dla DirectX (OpenGL jest rozwiązaniem konkurencyjnym dla Direct3D). W tym miejscu warto też wspomnieć że istnieją również wyżej poziomowe, wieloplatformowe biblioteki wyspecjalizowane w tworzeniu gier, takie jak: Allegro (grafika 2D), Crystal Space (grafika 3D), ... .
bliżej sprzętu i jądra
metody numeryczneJest to zbiór funkcji prezentujących podstawy metod numerycznych. Jako że programy te napisałem pewien czas temu nie jestem w stanie obecnie zagwarantować że działają one w pełni poprawnie. Zachęcam do zapoznania się z skryptem z metod numerycznych dostępnym na stronie Strona o Metodach Numerycznych (1) ... więcej o metodach numerycznych także na Strona o Metodach Numerycznych (2).
Linki i moje projektyZachęcam także do zapoznania się z moimi projektami związanymi z językiem C/C++: Sterowanie magnetowidem, detekcja radiometeorów, powiadamiacz o IM dla jabberd2 (serwer - mysql, autoryzacja PAM, parsowanie napisów, klient - AVR NutOS), sterownik ogrzewania (AVR), sterownik oświetlenia (AVR). Zobacz w Sieci: C++ bez cholesterolu, C++ FAQ LITE (PL), C++ w Elektronika Wirtualna, C Programming Reference, Wiki o C/C++, C++ @ Wikibooks, C @ Wikibooks, niekompatybilności między C a C++. | |
|
|
Copyright (c) 1999-2008, Robert Paciorek (http://www.opcode.eu.org/), BSD-type license
Redystrybucja wersji źródłowych i wynikowych, po lub bez dokonywania
modyfikacji JEST DOZWOLONA, pod warunkiem zachowania niniejszej informacji o
prawach autorskich. Autor NIE ponosi JAKIEJKOLWIEK odpowiedzialności za skutki
użytkowania tego dokumentu/programu oraz za wykorzystanie zawartych tu informacji.
This program is free software. Redistribution and use in source and binary
forms, with or without modification, ARE PERMITTED provided save this copyright
notice. This document/program is distributed WITHOUT any warranty, use at YOUR
own risk.
Dokument ten (URL: http://www.opcode.eu.org/c_cpp)
należy do serwisu OpCode. Autorem tej strony jest Robert Paciorek,
wszelkie uwagi proszę kierować na adres e-mail serwisu: webmaster@opcode.eu.org.
Data ostatniej modyfikacji artykulu: 2008-07-11 01:23:16 (UTC) (data ta może być zafałszowana niemerytorycznymi modyfikacjami artykułu).