Skocz do zawartości

Zbior bledow w VC++ .NET


Specter

Recommended Posts

Zaczne odnapisania wprowadzenia do dzialu:
"Zalozylem ten dzial, poniewarz sam zaczynam programowac w M$ VC++ i juz jest jeden nielogiczny chyba blad. Wiec jesli ktos bedzie mial na tym kompilatorze bledy wedlug niego nie rozwiazywalne prosze umieszczac tu. Inne wpisy beda usuwane :P ;)

Moj blad ktory mi podsunol pomysl zalozenia takowego dzialu:
error C2061: syntax error : identifier 'DWORD'

void PrintProcessNameAndID( DWORD processID )
{ ... }

chyba dobrze? a tak sie odnsze do funkcji

DWORD aProcesses[1024];
for ( i = 0; i < cProcesses; i++ )
PrintProcessNameAndID( aProcesses );
}

wszytko odbrze wie ktos co moze byc powodem?

Link do komentarza
Udostępnij na innych stronach

Na wstępie chciałbym napisać, że ok 0.001% (jeżeli nie mniej) błędów programu to błędy kompilatora, natomiast pozostałe 99.999% to błędy programistów. Wnioski z tego wyciągnij sam. ;-)

Teraz odnośnie błędów:
1. Błąd z DWORD.
DWORD nie jest typem C ani C++ tylko WinAPI (zadeklarowany np w windows.h). Ty natomiast (wnioskuję z tego co tu napisałeś), stworzyłeś sobie projekt konsolowy, który nie używa bibliotek WinAPI i dlatego nie rozpoznaje typu DWORD.

2. Błąd z precompiled header.
Przy wyborze projektu podejrzewam, ze wybrałeś opcję "Precompiled header", wygenerował Ci się "jakiś kod", który usunąłeś i wrzuciłeś własny. Ewentualnie wyrzuciłeś "jakieś niepotrzebne" nagłówki.

Zgadłem???

Link do komentarza
Udostępnij na innych stronach

bialy wiec dzieki za dopowiedz ;]

lecz jesli chodzi o punkt 1 u ciebie, fakt jest ze dalem to w konsoli na poczatku (lecz dodalem windows.h i bylo wszytko dobrze prucz wyzej wspomnianego bledy "Precompiled header". Lecz blad wystapil przy projekcie .NET -owym i Active(win32) czyli winapi jagby nie? nie konsola.

jesli chodzi o punkt 2 twojej wypowiedzi ;] wiec nie wiem czy wybralem "precompiled header" bo nie weim dgzie to jest sprawdze zaraz ;] lecz zgadles ze stworzylem kawalek zrodla i potem edytowalem (lecz inaczej prjektu bym nie stworzyl ), lecz nie moze miec to wplywu bo wlasnie tez sobie pomyslalem moze ten VC++ chce to co stworzyl i teoretycznie wszytko przywrocilem do poczatku prucz 3 funkcji i innych badziewiuw w funkcji main().

nadal nie wiem jak to poprawic bo bledy sa ;/

Link do komentarza
Udostępnij na innych stronach

Nie wiem jak innym, ale mi jest trochę trudno zrozumieć co Ty do mnie piszesz (najbardziej dla mnie zrozumiała była Twoja wypowiedż zapisana w innym wątku pomiędzy znacznikami [ Code ] :) ). Dlatego to, co tu wyjaśniam może nie do końca być tym, o co Ci chodzi. ;-)

ad 1. Zapis Win32 oznacza, ze program pisany jest na patformę 32 bitową. Moze to być zarówno projekt konsolowy jak i okienkowy. Z tego co piszesz wnioskuję, że poradziłes sobie z problemem dotyczącym typu DWORD.

ad 2. Skoro mówisz, że wróciłeś do stanu (według Ciebie) wyjściowego i program również nie działa, to wydaje mi się, że jedynym rozwiązaniem (choć może trochę bolesnym) będzie stworzenie nowego projektu i przeniesienie do niego Twojego kodu. Najpierw jednak zastanów się jaką aplikacje chcesz pisać i przy tworzeniu projektu zaznacz tylko te opcje, które będą Ci potrzebne.

Link do komentarza
Udostępnij na innych stronach

  • 2 weeks later...

Wyzszego problemu mi nie pomogliscie ;] znow czesc uznla ze zjebaem program ale cuz ;] PS. byl skopiowany z msdn M$ ;] ale moze mi teraz pomorzecie ;] dwie sprawy:

1. Jak ustawic w VC++ zeby wszytkie pliki biblitoeki zlaczyl do exeka po kompilacji bo na komputerze gdzie nie ma VC++ kompilatora nie uruchamia sie wyskakuej blad brak pliku mfc71d.dll screen bledu jest tu:
https://www.czakol.prv.pl/blad.jpg

2. Ktory projekt w VC++ .NET pisze w czystym winapi? ale jagby 'jawnie' czyli widze cale zrodlo wraz z funckja WinMain czy innymi...

Link do komentarza
Udostępnij na innych stronach

Moze zacznijmy od tego. Po co chcesz pisac w Visual Studio .NET w czystym api? Do tego jest Visual 6.0. .NET byl pisany specjalnie z mysla o C#, tak jak VC 6.0 o C++. Wiec zastanow sie pozadnie zanim wezmiesz do reki jakis kompilator, co tak naprawde i w czym chcesz pisac, bo to wyglada mniej wiecej tak jakbys wzial Dev c++ i pisal w assemblerze... a apropo sampli MS, narazie w MSDN nie znalazlem ani jednego bledu, moze maja troche za duzo niepotrzebnych rzeczy w sobie ale dzialaja.

Link do komentarza
Udostępnij na innych stronach

Nicon osoba ktora wrescie psize do mnie z sensem :D
Wiec Visual 6.0 nie mam, mam VC++ .NEt version 2003 nowy kompilator.
Dalej piszac napisales Visual Studio .NET byl pisany specjalnie z mysla o C#, lecz ja nie mam Visual Studio .NET ( 2500zł :)  ) lecz VC++ .NET czyli glownie C++, bez C#, VisualBasic, i inne dodatki.
"Wiec zastanow sie pozadnie zanim wezmiesz do reki jakis kompilator, co tak naprawde i w czym chcesz pisac, bo to wyglada mniej wiecej tak jakbys wzial Dev c++ i pisal w assemblerze... " napisales... nie rob ze mnie idioty ;] Do czystego winapi uzywam na przemian Dev-C++ i VC++ .NET, lecz sam pisze cale zrodla winapi co mnie juz meczy... a co prawda nie znam dorbze winapi a juz mnie meczy ;) moze nie meczy lecz nudzi pisanie... czy kopiowanie wszytkiego :> Lecz wiem ze czyste winapi nie MFC czy C++Builder to winapi daje mi możliwość 100% kontroli nad programem nad zródłem, i zapytałem czy VC++ posiada projekt w ktorym tworzy program (kod programu) w czystym winapi (jagbym ja napisal to on zapisze) w skrocie UDOGODNIENIE czasowe...

Co do "a apropo sampli MS, narazie w MSDN nie znalazlem ani jednego bledu, moze maja troche za duzo niepotrzebnych rzeczy w sobie ale dzialaja." no zgadzam sie z toba bo blad nie tkwi w programie, lecz w ... i na to szukalem odpowiedzi...

Pytanko: Jak ustawic w VC++ zeby wszytkie pliki biblitoeki zlaczyl do exeka po kompilacji bo na komputerze gdzie nie ma VC++ kompilatora nie uruchamia sie wyskakuej blad brak pliku mfc71d.dll screen bledu jest tu:
https://www.czakol.prv.pl/blad.jpg

Link do komentarza
Udostępnij na innych stronach

hmm jest takie cos jak linker pewnie to samo ale on ma z 10 pozycji i w kazdej po 10-15 opcji ;/ ktore teraz jest to potrzebne ;) Jesli chodzi o to winsock.dll ;] C++builder karzysta z tych dll co VC++ raczej, lecz jesli sie ustawi opcje by zalaczyl potrzebna czesc dll czy liba do exeka to exek jest wiekszy nie raz o 20% nie raz mniej lecz nie potrzeba zadnych dll czy libow dodatkowo w czasie uruchomienia exeka. dalej piszac napisalem winsock.dll no masz racje lecz jest pewne ale winsock.dll musi isntalowac kompilator bo wystapiluje blad brak dll nie? czyli jest dopiero po isntalacji kompilatora (a nie ma standardowo przy isntalacji windows) wiec bylo by nielogiczne przy kazdym programie zalaczac 300 dll i libow z kompilatora przy swoim exeka 200kilobajtow tylko zalazyc w 300kilobajtow czesc dll ale w jednym pliku. Nie wiem czy dorzbe napisalem bo duzo i sie spiesze spac ;] ale mysle ze w miare tak :)

druga strona!! ----------->

Link do komentarza
Udostępnij na innych stronach

Pytanie 1:
a) Podczas toworzenia projektu MFC na zakładce (tam są takie dziwne te zakładki z boku) "Application Type" jest npis "Use of MFC:" i tam wybierasz czy chcesz zeby biblioteki MFC były łączone dynamicznie czy statycznie.
b) Jeżeli chcesz to zmienić po stworzeniu projektu to wchodzisz w opcje projektu i tam na zakładce "General" również jest pole "Use of MFC:".

Pytanie 2:
Nie wiem jak jest u Ciebie, bo ja mam całe Visual Studio i u mnie jest (w takim katalogu Visual C++ Projects) Win32 Project.

Link do komentarza
Udostępnij na innych stronach

  • 2 weeks later...

Wiec blad byl, ale na poprzedniej stronie tematu ;)

Czakol napisał:
processes.cpp(153): fatal error C1010: unexpected end of file while looking for precompiled header directive
taki blad gdzie 152 linia to koniec pliku zamkniecie calkowite funkcj int main(); czyli znak " } " a blad jest na lini 153 czyli jagby za wszytkim wie ktos o co tu chodzi? ;]
Link do komentarza
Udostępnij na innych stronach

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gość
Odpowiedz...

×   Wkleiłeś zawartość bez formatowania.   Usuń formatowanie

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Utwórz nowe...