Artykuł: O c++ - Hacking security download hack programowanie bezpieczenstwo w sieci

Login:

Hasło:

Zapamiętaj mnie

       

Zarejestruj się.    Zapomniane hasło?





Portal
  Strona Główna
  Artykuły
  Download
  FAQ
  Forum
  Linki
  Kategorie Newsów
  Kontakt
  Reklama
  Regulamin
  Szukaj
  Statystyki Serwisu

Różne
  Namierz IP
  Zarażone programy
  Google h4x0r
  Przetestuj gry
  Site map
  Bramka proxy
  Encyklopedia
  Sprawdź otwarte porty

Skanery





Tylko zalogowani mogą dodawać posty w shoutboksie.

~breakeheart
DATA: 21/12/2011 01:49
Witam mam wielki kłopot za pomoc zapłacę potrzebuje żeby ktoś sciagnol mi bana na server MexiliaMt2 to gierka Morrg ale za wiele kasy w nia wsadzilem podam gadu jak ktos sie zna na tym to zapraszam do

~pawello1852
DATA: 10/04/2011 04:53
[Sleep]

~vi0
DATA: 01/03/2011 06:51





~vi0
DATA: 08/02/2011 11:10
jest tu kto?

xD

czy to ghost_forum :{}

~kewin155
DATA: 05/12/2009 08:30
elo wszystkim

~Pavel9099
DATA: 20/01/2009 09:17
Straszna jest organizacja tego konkursu, naprawdę. Żeby tyle czekać na wyniki. BARDZO jestem zawiedziony.

~Pavel9099
DATA: 03/01/2009 00:20
trzy pięć zero

~bejkolczasty
DATA: 29/12/2008 14:43
elo

@Pallas
DATA: 28/12/2008 03:24
Jeszcze dziś postaram się ogłosić wyniki smiley

~Pavel9099
DATA: 27/12/2008 12:29
Zostały 4 dni do 31.12. Mam nadzieję że konkurs zostanie w tym czasie rozstrzygnięty tak jak @Pallas mówiłeś.




2008895 Unikalnych wizyt


Język C++ jest jednym z najpopularniejszych języków programowania ogólnego przeznaczenia, zarówno w zastosowaniach komercyjnych, jak i hobbystycznych.

Główne cechy

Kompilacja


Programy napisane w języku C++ są kompilowane do kodu maszynowego. W tym wypadku mogą one bezpośrednio zarządzać alokacją pamięci, dzięki czemu są bardzo szybkie i efektywnie gospodarują zasobami systemowymi. Efektywność kodu napisanego C++ wynika także z wieloletnich doświadczeń w optymalizacji kompilatorów dla tego języka.

Jezyk C++ może być również kompilowany do kodu pośredniego .NET. Wymaga to jednak zastosowania specjalnych rozszerzeń języka, np. Managed C++ lub C++/CLI (ten ostatni uznawany jest za osobny język programowania i zawiera rozwiązania chronione patentami). W tym wypadku program może skorzystać z mechanizmów automatycznego zarządzanie alokacją pamięci. Powoduje to, że co prawda programy są nieco wolniejsze, jednak zawierają mniejszą ilość błędów związanych z nieprawidłową alokacją pamięci lub błędy te są neutralizowane przez automatyczne mechanizmy zarządzania pamięcią (Garbage collection).

Cechy standardów

Projekt języka C++ usiłuje zachować możliwie jak największą zgodność (na poziomie kodu źródłowego) z językiem C. Projektanci C++ za idealną uznaliby sytuację, w której język C byłby podzbiorem języka C++ (tj. każdy program w C byłby takim samym programem w C++, ale nie odwrotnie). Zgodność pomiędzy obu językami nie zawsze była całkowita, ale jak dotąd ewentualne różnice były w praktyce nieistotne [1]. Większym problemem związanym ze zgodnością była niekompatybilność kompilatorów języka C++ w zakresie obsługiwanej składni - przez wiele lat programy napisane pod jednym nie działały pod innym. Biblioteki C++ związane z interfejsami systemów nie są przenaszalne poza ich obręb, co wynika z faktu, że takie interfejsy są specyficzne dla dane systemu i nie jest to specyficzne tylko dla C++.

Większość użytecznych programów w C++ wymaga stosowania bibliotek niestandardowych. Są one łatwo dostępne w Sieci zarówno jako produkty komercyjne, jak i typu Open Source. W szczególności programy napisane w C++ mogą korzystać z ogromnych zasobów bibliotek języka C.

Język C++ posiada swój oficjalny standard (aktualnie jest to IEC14882:2003) z 2003 r.

Język C++ nie jest własnością żadnej osoby, instytucji czy korporacji.

Właściwości języka

* Język C++ jest językiem wieloparadygmatowym [2]. Oznacza to, ze można w nim stosować (jednocześnie!) różne style programowania, w tym programowanie proceduralne, obiektowe, generyczne, a nawet programować na poziomie asemblera.

* Język C++ zakłada ścisłą statyczną kontrolę typów; posiada też elementy dynamicznej kontroli typów.

* Język C++ umożliwia bezpośrednie zarządzanie pamięcią wolną.

* Projekt języka zakłada, że żadna nowa (względem języka C) cecha języka C++ nie może mieć negatywnego wpływu na szybkość działania programu lub zapotrzebowanie na pamięć operacyjną. Dzięki temu dobrze napisany program w C++ jest z reguły co najmniej równie szybki, jak jego odpowiednik napisany w C; co więcej, dzięki możliwości zastosowania algorytmów generycznych w wielu przypadkach C++ jest wyraźnie szybszy od C (np. podczas sortowania).

* Język C++ ze względu na bardzo rozbudowaną składnię oraz surowe wymogi w zakresie wydajności kodu stanowi duże wyzwanie dla twórców kompilatorów.

* Do dziś (2006 r.) żaden wiodący kompilator nie jest w pełni zgodny z obowiązującym standardem języka, aczkolwiek ewentualne niezgodności dotyczą już tylko raczej mało pożądanych cech języka (np. implementacji słowa kluczowego export.

* Język C++ nie zmusza programistów do wyboru określonego stylu programowania czy stosowania określonych rozwiązań. Otwiera to ogromne pole do popisu dla doświadczonych programistów, jednak powoduje też, że początkujący adepci C++ z reguły tworzą kod bardzo marnej jakości, często nie mając świadomości rzeczywistego sposobu działania swojego kodu.

Historia


Język C++ został stworzony w latach osiemdziesiątych XX wieku przez Bjarnea Stroustrupa jako obiektowe rozszerzenie języka C. Poza językiem C, na definicję języka C++ miały wpływ takie języki, jak Simula (z której zaczerpnął właściwości obiektowe) oraz Algol, Ada, ML i Clu.

Początkowo język C++ był dostępny w takim standardzie, w jakim opracowano ostatnią wersję kompilatora Cfront (tłumaczący C++ na C), później opublikowano pierwszy nieformalny standard zwany ARM (Annotated Reference Manual), który sporządzili Bjarne Stroustrup i Margaret Ellis. Standard języka C++ powstał w 1998 roku (ISO/IEC 14882-1998 "Information Technology - Programming Languages - C++"). Standard ten zerwał częściowo wsteczną zgodność z ARM w swojej bibliotece standardowej; jedyne, co pozostało w stanie w miarę nienaruszonym to biblioteka iostream.

Początkowo najważniejszą rzeczą wprowadzoną w C++ w stosunku do C było programowanie obiektowe, później jednak wprowadzono do niego mnóstwo ulepszeń, czyniąc ten język wygodniejszym i bardziej elastycznym od swojego pierwowzoru. Nie od rzeczy jest też wspomnieć, że niektóre zmiany w standardzie języka C były w większości zainspirowane językiem C++ (np. słowo inline w C99).

Nazwa języka została zaproponowana przez Ricka Mascitti w 1983 roku, kiedy to po raz pierwszy użyto tego języka poza laboratorium naukowym. Odzwierciedla ona fakt, że język ten jest rozszerzeniem języka C. Wcześniej używano nazwy "C z klasami". Nazwa języka C++ nawiązuje do faktu bycia "następcą języka C", przez użycie w niej operatora inkrementacji o 1 - "++".

Pierwsze kompilatory języka C++, podobnie jak Cfront, były wyłącznie translatorami na język C. Kompilatory takie dostępne są i dziś. Jednym z nich jest Comeau C++ - jeden z niewielu kompilatorów oferujących pełne wsparcie dla standardu języka. Pierwszym kompilatorem natywnym (produkującym od razu kod asemblerowy) dla języka C++ był g++ z pakietu GCC, którego pierwszym autorem był Michael Tiemann, założyciel Cygnus Solutions.

Obecnie (2006) trwają prace nad rewizją i rozszerzeniem standardu C++ zwane roboczo C++0x. Wprawdzie przewidziane są nieznaczne zmiany w samym języku C++, ale rozszerzana jest przede wszystkim biblioteka standardowa języka. Rozszerzenia te znane są pod nazwą TR1 (od Technical Report No. 1) i zawierają przede wszystkim komponenty przejęte z biblioteki Boost.

Nowe cechy języka C++ (względem języka ANSI C)

Niektóre z nich trafiły do języka C, najpierw nieoficjalnie, później zaś zostały ustandaryzowane w C99, IEC14882:1998, IEC14882:2003. Aktualne wypracowywany jest nowy standard, który opisano w roboczym dokumencie [3]

* Klasy wraz z innymi elementami języków zorientowanych obiektowo takimi jak: dziedziczenie, metody wirtualne
* Dodatkowe ulepszenia klas, konstruktory, destruktory (język C++ był pierwszym językiem w którym użyto nazwy "konstruktor" w tym właśnie znaczeniu i pierwszym językiem, który posiadał destruktory)
* Szablony (wzorce) klas i funkcji
* Obsługa wyjątków
* Deklaracje zmiennych jako instrukcje (w ANSI C wszystkie zmienne lokalne funkcji musiały być zadeklarowane przed pierwszą jej instrukcją)
* Dynamiczna inicjalizacja zmiennych globalnych i lokalnych zmiennych statycznych (tzn. mogły być inicjalizowane wynikiem wywołanej funkcji)
* Przestrzenie nazw
* Referencje
* Operatory new i delete
* Operator zasięgu (::) (w ANSI C nie istnieje możliwość odwołania się do zmiennej globalnej o tej samej nazwie, co zmienna lokalna)
* Dynamiczna kontrola typów RTTI
* Przeładowanie funkcji
* Przeciążanie operatorów
* Wskaźniki do składowych (pól i metod)
* Funkcje rozwijalne (inline) (również C99)
* Nowy typ bool i stałe true i false (również C99, z tym że w C++ są to słowa kluczowe)
* "Szeroki" typ znakowy, wchar_t (również C89) wraz ze wszystkimi zależnościami (wiostream i reszta, nagłówek , wstring)
* Operatory rzutowania: static_cast, dynamic_cast, reinterpret_cast i const_cast
* Pojemniki (w postaci szablonów klas, np.: vector, map, list) oraz zestaw podstawowych algorytmów (w postaci szablonów funkcji, np.: sort, find, for_each)
* Słowo kluczowe const służące do definiowania stałych symbolicznych, a także stałych wskaźników, wskaźników na stałe, stałych referencji i stałych funkcji składowych.
* Koncepty

Przykładowy program:

prosty kaukulator:
#include
using namespace std;

int main(int argc, char *argv[]) //argc - ilość argumentów podanych przy uruchomieniu,
{ //argv[] - tablica argumentów
double a, b, wynik;
int dzialanie;

cout << "Wybierz dzialanie :" << endl << "1. Dodawanie" << endl << "2. Odejmowanie" << endl
<< "3. Mnozenie" << endl << "4. Dzielenie" << endl << endl
<< "Wybierz inna liczbe aby wyjsc" << endl << endl;
cin >> dzialanie;

switch (dzialanie){ //instrukcja warunkowa sprawdzająca wartość zmiennej w nawiasach
case 1:
cout << endl << "Podaj skladniki :" << endl;
cin >> a >> b;
wynik = a + b;
break;
case 2:
cout << endl << "Podaj odjemna i odjemnik :" << endl;
cin >> a >> b;
wynik = a - b;
break;
case 3:
cout << endl << "Podaj czynniki :" << endl;
cin >> a >> b;
wynik = a * b;
break;
case 4:
cout << endl << "Podaj dzielna i dzielnik :" << endl;
cin >> a >> b;
wynik = a / b;
break;
default : //dowolny, niewyszczególniony przedtem przypadek
cout << endl << "Koniec programu." << endl;
wynik = 0;
}

cout << endl << "Wynik wynosi " << wynik << endl << endl;

return 0; //Wysłanie do systemu informacji o pomyślnym zakończeniu programu.
}


Dodane przez Pallas dnia listopad 20 2006 06:55:10
1 Komentarzy ~ 1924 Czytań Drukuj


Defozo dnia grudzień 18 2006 06:18:38
Po co tyle kłopotu smiley Wystarczy ściągnąć Dev-Cpp
Ale może się przydać smileysmileysmileysmiley


Zaloguj się, żeby móc dodawać komentarze.


Dodawanie ocen dostępne tylko dla zalogowanych Użytkowników.

Proszę się zalogować lub zarejestrować, żeby móc dodawać oceny.

Brak ocen.
Bezpieczeństwo w sieci newsy IT, autorskie artykuły Bezpieczeństwo w sieci
Projekty domów pozycjonowanie tworzenie stron projekt domu krzesla wizualizacje darmowe aliasy laptopy wyposazenie obiektów sportowych jak napisac cv bielizna erotyczna implanty Kraków meble Warszawa smieszne filmy counter strike
brak autoryzacji system wymiany linkow no auth no auth nieautoryzowano