Skocz do zawartości

C++


XxMichałxX

Rekomendowane odpowiedzi

Dużo razy zaczynałem z c++ ale teraz chce zacząć i kontynuować i proszę o pomoc, wprowadzenie i takie tam.

 

No to zaczynam:

 

1. Jaki kompilator pobrać? Od kraka słyszałem że nie Dev C++ tylko jakiś inny bo to i tamto. Fajnie by było jakbyście podawali nazwę i link, ale do samej nazwy też możecie się ograniczyć, też będę wdzięczny.

2. Jak korzystać z Dll'i w C++? Jakiś opis, krok po kroku, czy namiary na jakiś artykuł proszę bo by sie przydal 39dll do c++.

3. Grafika. I tu jest najgorsze. Bo w c++ jak grafike to WinAPI i inne cuda. A mi wystarczyłaby tylko funkcja taka jak w gm'ie jest "draw_pixel" bo z tym wszystko da rade zrobic. Sobie porobic skrypty, czyli bodajże w c++ tj. function(draw_kwadrat) {for(icostamsralala){draw_pixel...)} no ale np juz bedzie trudno z obrazkiem bo nie wiem jak otworzyc z danej sciezki obrazek i go narysowac (pixel po pixelu).. No tak czy siak chciałbym to draw_pixel, a jeszcze lepiej jakbyscie podali jakis gotowy silnik graficzny z samymi podstawami ze rysuje podstawowe figury, text jak mu podam obrazek kazdej litery chociaz to juz sam moge zrobic no i wazna funkcja: rysowanie danego obrazka.

 

I takie pytanie ktore w sumie powinno byc na początku ale "dla zwały" dam na końcu: czy z moimi umiejętnościami i podejściem warto się za to brać?

Odnośnik do komentarza
Udostępnij na innych stronach

a jeszcze lepiej jakbyscie podali jakis gotowy silnik graficzny z samymi podstawami ze rysuje podstawowe figury, text jak mu podam obrazek kazdej litery chociaz to juz sam moge zrobic no i wazna funkcja: rysowanie danego obrazka

:D ale byś się przeraził gdybyś zobaczył kod, nie chodzi o to że zły, tylko trudny do ogarnięcia dla amatora c++ niestety :/

Odnośnik do komentarza
Udostępnij na innych stronach

1. Microsoft Visual C++ Express Edition

2. Prosta sprawa - masz DLLa, liba, i headera - ładujesz i używasz funkcji do woli ;]

3. Grafikę możesz zrobić nawet prostą biblioteką Allegro, i uważaj... nie chodzi o to, że naładujesz program samymi pętlami... on jeszcze ma być optymalny (przynajmniej w miarę) ;]

 

Pytanie "dla zwały" - musisz ciężko pracować... oj ciężko.

 

E: ALE SIĘ SPÓŹNIŁEM ;|

Odnośnik do komentarza
Udostępnij na innych stronach

kup sobie symfonie c++ a nie kursy w necie...

która jest w necie :>

ja się uczyłem tylko i wyłącznie z tego co znalazłem w sieci, żadnej ksiązki jak dotąd nie kupowałem, więc nie piernicz że w necie nc nie ma - trzeba umieć szukać konkretnych zagadnień najlepiej, a nie ogólne hasło rzucisz i myślisz że Ci encyklopedie rzuci :)

 

he co??? ja korzystam z dev c++ na bibliotece allegro i nie widzę problemów środowisko idealne

dla początkujących owszem, ale nie masz pojęcia jakich błędów nie wykrywa Dev. Mowiłem wiele razy, ale przytoczę to jeszcze raz - kiedyś byłem zapalonym hardkorem kochającym deva, ale odkąd przeniosłem silnik pod Visuala to uczucie wygasło - jak zobaczyłem jakie błędy wywala które dev olewał, to niemal natychmiast przeniosłem się na visuala, poza tym ma boski debugger <3

Odnośnik do komentarza
Udostępnij na innych stronach

wybrałem dev c++ bo w visual c++ jest jakiś inny schrzaniony c++ nie ma np count tylko jakies drawline console.

Dobre :D Po pierwsze "cout",. Po drugie C++ to jest język i jest taki sam niezależnie od IDE. Po trzecie możesz użyć cout, ale najpierw musisz "dodać" odpowiedni plik nagłówkowy. Polecam zapoznać się z podstawami języka.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 tygodnie później...

jak narazie chcę zrobic pewien program konsolowy, ale 39dll właśnie bym chciał wsadzić i najlepiej zeby juz poprostu w plik .exe był wpięty a nie ze w folderze z nim musi byc, no i jeszcze jakaś instrukcja raz jak to zrobić, dwa jak sobie zrobić funkcje, czy moze jak tego "lib-a" sie wezmie to juz sa gotowe funkcje?

Odnośnik do komentarza
Udostępnij na innych stronach

a jak to na konsole przełożyć bo z tym WinAPI taki syf jest że nie moge tego ogarnąć. cały kod związany z winapi wywaliłem ale i tak pod koniec musi coś tam zwrócić i jest źle i errory będą

e:

ja bym chciał żeby to było mniejwięcej tak:

 

#include to

#include tamto

/*

 

tutaj kod który tworzy te wszystkie funkcje

 

*/

 

...

 

/*

 

a tutaj już sobie piszę program

i chce mieć wszystkie funkcje z 39dll tak

samo jak w gm, a nie ze widzialem tam

w tym kodzie ze bylo receivemessage z trzema

arugmentami :(

 

*/

 

 

 

e2:

 

takie cos mam:

 

#include <windows.h>

#include <iostream>

#include <string>

#include <sstream>

 

 

typedef double (WINAPI *DLLINIT)();

typedef double (WINAPI *WRITEBYTE)(double, double);

typedef double (WINAPI *WRITESTRING)(char*, double);

typedef double (WINAPI *WRITESHORT)(double, double);

typedef double (WINAPI *WRITEINT)(double, double);

typedef double (WINAPI *WRITEFLOAT)(double, double);

typedef double (WINAPI *WRITEDOUBLE)(double, double);

typedef double (WINAPI *READBYTE)(double);

typedef char* (WINAPI *READSTRING)(double);

typedef double (WINAPI *READSHORT)(double);

typedef double (WINAPI *READINT)(double);

typedef double (WINAPI *READFLOAT)(double);

typedef double (WINAPI *READDOUBLE)(double);

typedef double (WINAPI *CLEARBUFFER)(double);

typedef double (WINAPI *SETPOS)(double, double);

typedef double (WINAPI *GETPOS)(double, double);

typedef double (WINAPI *BUFFSIZE)(double);

typedef double (WINAPI *WRITECHARS)(char*, double);

typedef char* (WINAPI *READCHARS)(double, double);

typedef double (WINAPI *CREATEBUFFER)();

typedef double (WINAPI *FREEBUFFER)(double);

typedef double (WINAPI *WRITEUSHORT)(double, double);

typedef double (WINAPI *WRITEUINT)(double, double);

typedef double (WINAPI *READUSHORT)(double);

typedef double (WINAPI *READUINT)(double);

typedef double (WINAPI *COPYBUFFER)(double, double);

typedef double (WINAPI *COPYBUFFER2)(double, double, double, double);

typedef double (WINAPI *BYTESLEFT)(double);

typedef double (WINAPI *BUFFEREXISTS)(double);

typedef char* (WINAPI *READSEP)(char*, double);

typedef double (WINAPI *TCPCONNECT)(char*, double, double);

typedef double (WINAPI *TCPLISTEN)(double, double, double);

typedef double (WINAPI *TCPACCEPT)(double, double);

typedef double (WINAPI *SENDMESSAGE)(double, char*, double, double);

typedef double (WINAPI *RECEIVEMESSAGE)(double, double, double);

typedef double (WINAPI *SETSYNC)(double, double);

typedef double (WINAPI *SETFORMAT)(double, double, char*);

typedef double (WINAPI *UDPCONNECT)(double, double);

typedef char* (WINAPI *HOSTIP)(char*);

typedef char* (WINAPI *LASTINIP)();

typedef double (WINAPI *CLOSESOCK)(double);

typedef char* (WINAPI *TCPIP)(double);

typedef double (WINAPI *SOCKLASTERROR)();

typedef char* (WINAPI *MYHOST)();

typedef double (WINAPI *COMPAREIP)(char*, char*);

typedef double (WINAPI *SOCKEXIT)();

typedef double (WINAPI *SOCKSTART)();

typedef char* (WINAPI *GETMACADDRESS)();

typedef double (WINAPI *PEEKMESSAGE)(double, double, double);

typedef double (WINAPI *SETNAGLE)(double, double);

typedef double (WINAPI *TCPCONNECTED)(double);

typedef double (WINAPI *GETSOCKETID)(double);

typedef double (WINAPI *LASTINPORT)();

typedef double (WINAPI *FILEOPEN)(char*, double);

typedef double (WINAPI *FILECLOSE)(double);

typedef double (WINAPI *FILEWRITE)(double, double);

typedef double (WINAPI *FILEREAD)(double, double, double);

typedef double (WINAPI *FILEPOS)(double);

typedef double (WINAPI *FILESETPOS)(double, double);

typedef double (WINAPI *FILESIZE)(double);

typedef char* (WINAPI *MD5STRING)(char*);

typedef char* (WINAPI *MD5BUFFER)(double);

typedef double (WINAPI *ADLER32)(double);

typedef double (WINAPI *BUFFERENCRYPT)(char*, double);

typedef double (WINAPI *IPTOUINT)(char*);

typedef char* (WINAPI *UINTTOIP)(double);

typedef double (WINAPI *NETCONNECTED)();

 

DLLINIT dllInit = NULL;

WRITEBYTE writebyte = NULL;

WRITESTRING writestring = NULL;

WRITESHORT writeshort = NULL;

WRITEINT writeint = NULL;

WRITEFLOAT writefloat = NULL;

WRITEDOUBLE writedouble = NULL;

READBYTE readbyte = NULL;

READSTRING readstring = NULL;

READSHORT readshort = NULL;

READINT readint = NULL;

READFLOAT readfloat = NULL;

READDOUBLE readdouble = NULL;

CLEARBUFFER clearbuffer = NULL;

SETPOS setpos = NULL;

GETPOS getpos = NULL;

BUFFSIZE buffsize = NULL;

WRITECHARS writechars = NULL;

READCHARS readchars = NULL;

CREATEBUFFER createbuffer = NULL;

FREEBUFFER freebuffer = NULL;

WRITEUSHORT writeushort = NULL;

WRITEUINT writeuint = NULL;

READUSHORT readushort = NULL;

READUINT readuint = NULL;

COPYBUFFER copybuffer = NULL;

COPYBUFFER2 copybuffer2 = NULL;

BYTESLEFT bytesleft = NULL;

BUFFEREXISTS bufferexists = NULL;

READSEP readsep = NULL;

TCPCONNECT tcpconnect = NULL;

TCPLISTEN tcplisten = NULL;

TCPACCEPT tcpaccept = NULL;

SENDMESSAGE sendmessage = NULL;

RECEIVEMESSAGE receivemessage = NULL;

SETSYNC setsync = NULL;

SETFORMAT setformat = NULL;

UDPCONNECT udpconnect = NULL;

HOSTIP hostip = NULL;

LASTINIP lastinIP = NULL;

CLOSESOCK closesock = NULL;

TCPIP tcpip = NULL;

SOCKLASTERROR socklasterror = NULL;

MYHOST myhost = NULL;

COMPAREIP compareip = NULL;

SOCKEXIT sockexit = NULL;

SOCKSTART sockstart = NULL;

GETMACADDRESS getmacaddress = NULL;

PEEKMESSAGE peekmessage = NULL;

SETNAGLE setnagle = NULL;

TCPCONNECTED tcpconnected = NULL;

GETSOCKETID getsocketid = NULL;

LASTINPORT lastinPort = NULL;

FILEOPEN fileopen = NULL;

FILECLOSE fileclose = NULL;

FILEWRITE filewrite = NULL;

FILEREAD fileread = NULL;

FILEPOS filepos = NULL;

FILESETPOS filesetpos = NULL;

FILESIZE filesize = NULL;

MD5STRING md5string = NULL;

MD5BUFFER md5buffer = NULL;

ADLER32 adler32 = NULL;

BUFFERENCRYPT bufferencrypt = NULL;

IPTOUINT iptouint = NULL;

UINTTOIP uinttoip = NULL;

NETCONNECTED netconnected = NULL;

 

HINSTANCE hLib;

 

 

hLib = LoadLibrary("39dll.dll"); // Tu jest pierwszy error nie wiem jak dalej

 

dllInit = (DLLINIT)GetProcAddress(hLib, "dllInit");

writebyte = (WRITEBYTE)GetProcAddress(hLib, "writebyte");

writestring = (WRITESTRING)GetProcAddress(hLib, "writestring");

writeshort = (WRITESHORT)GetProcAddress(hLib, "writeshort");

writeint = (WRITEINT)GetProcAddress(hLib, "writeint");

writefloat = (WRITEFLOAT)GetProcAddress(hLib, "writefloat");

writedouble = (WRITEDOUBLE)GetProcAddress(hLib, "writedouble");

readbyte = (READBYTE)GetProcAddress(hLib, "readbyte");

readstring = (READSTRING)GetProcAddress(hLib, "readstring");

readshort = (READSHORT)GetProcAddress(hLib, "readshort");

readint = (READINT)GetProcAddress(hLib, "readint");

readfloat = (READFLOAT)GetProcAddress(hLib, "readfloat");

readdouble = (READDOUBLE)GetProcAddress(hLib, "readdouble");

clearbuffer = (CLEARBUFFER)GetProcAddress(hLib, "clearbuffer");

setpos = (SETPOS)GetProcAddress(hLib, "setpos");

getpos = (GETPOS)GetProcAddress(hLib, "getpos");

buffsize = (BUFFSIZE)GetProcAddress(hLib, "buffsize");

writechars = (WRITECHARS)GetProcAddress(hLib, "writechars");

readchars = (READCHARS)GetProcAddress(hLib, "readchars");

createbuffer = (CREATEBUFFER)GetProcAddress(hLib, "createbuffer");

freebuffer = (FREEBUFFER)GetProcAddress(hLib, "freebuffer");

writeushort = (WRITEUSHORT)GetProcAddress(hLib, "writeushort");

writeuint = (WRITEUINT)GetProcAddress(hLib, "writeuint");

readushort = (READUSHORT)GetProcAddress(hLib, "readushort");

readuint = (READUINT)GetProcAddress(hLib, "readuint");

copybuffer = (COPYBUFFER)GetProcAddress(hLib, "copybuffer");

copybuffer2 = (COPYBUFFER2)GetProcAddress(hLib, "copybuffer2");

bytesleft = (BYTESLEFT)GetProcAddress(hLib, "bytesleft");

bufferexists = (BUFFEREXISTS)GetProcAddress(hLib, "bufferexists");

readsep = (READSEP)GetProcAddress(hLib, "readsep");

tcpconnect = (TCPCONNECT)GetProcAddress(hLib, "tcpconnect");

tcplisten = (TCPLISTEN)GetProcAddress(hLib, "tcplisten");

tcpaccept = (TCPACCEPT)GetProcAddress(hLib, "tcpaccept");

sendmessage = (SENDMESSAGE)GetProcAddress(hLib, "sendmessage");

receivemessage = (RECEIVEMESSAGE)GetProcAddress(hLib, "receivemessage");

setsync = (SETSYNC)GetProcAddress(hLib, "setsync");

setformat = (SETFORMAT)GetProcAddress(hLib, "setformat");

udpconnect = (UDPCONNECT)GetProcAddress(hLib, "udpconnect");

hostip = (HOSTIP)GetProcAddress(hLib, "hostip");

lastinIP = (LASTINIP)GetProcAddress(hLib, "lastinIP");

closesock = (CLOSESOCK)GetProcAddress(hLib, "closesock");

tcpip = (TCPIP)GetProcAddress(hLib, "tcpip");

socklasterror = (SOCKLASTERROR)GetProcAddress(hLib, "socklasterror");

myhost = (MYHOST)GetProcAddress(hLib, "myhost");

compareip = (COMPAREIP)GetProcAddress(hLib, "compareip");

sockexit = (SOCKEXIT)GetProcAddress(hLib, "sockexit");

sockstart = (SOCKSTART)GetProcAddress(hLib, "sockstart");

getmacaddress = (GETMACADDRESS)GetProcAddress(hLib, "getmacaddress");

peekmessage = (PEEKMESSAGE)GetProcAddress(hLib, "peekmessage");

setnagle = (SETNAGLE)GetProcAddress(hLib, "setnagle");

tcpconnected = (TCPCONNECTED)GetProcAddress(hLib, "tcpconnected");

getsocketid = (GETSOCKETID)GetProcAddress(hLib, "getsocketid");

lastinPort = (LASTINPORT)GetProcAddress(hLib, "lastinPort");

fileopen = (FILEOPEN)GetProcAddress(hLib, "fileopen");

fileclose = (FILECLOSE)GetProcAddress(hLib, "fileclose");

filewrite = (FILEWRITE)GetProcAddress(hLib, "filewrite");

fileread = (FILEREAD)GetProcAddress(hLib, "fileread");

filepos = (FILEPOS)GetProcAddress(hLib, "filepos");

filesetpos = (FILESETPOS)GetProcAddress(hLib, "filesetpos");

filesize = (FILESIZE)GetProcAddress(hLib, "filesize");

md5string = (MD5STRING)GetProcAddress(hLib, "md5string");

md5buffer = (MD5BUFFER)GetProcAddress(hLib, "md5buffer");

adler32 = (ADLER32)GetProcAddress(hLib, "adler32");

bufferencrypt = (BUFFERENCRYPT)GetProcAddress(hLib, "bufferencrypt");

iptouint = (IPTOUINT)GetProcAddress(hLib, "iptouint");

uinttoip = (UINTTOIP)GetProcAddress(hLib, "uinttoip");

netconnected = (NETCONNECTED)GetProcAddress(hLib, "netconnected");

 

using namespace std;

 

int main()

{

cout << "siema!" << endl;

return 0;

}

 

xD

Odnośnik do komentarza
Udostępnij na innych stronach

wrzuć źródła 39dll do swojego projektu i z nim przekompiluj, a z tamtego kursu korzystaj jako wskazówek co jak ma wyglądać aby działało. Oczywiście używając swojej nie wiadomo po co potrzebnej konsoli.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...