Forum CDRinfo.pl

Forum CDRinfo.pl (https://forum.cdrinfo.pl/)
-   Komputery - oprogramowanie i sprzęt (https://forum.cdrinfo.pl/f113/)
-   -   C++ komplikacja (https://forum.cdrinfo.pl/f113/c-komplikacja-95102/)

mgit 17.10.2015 16:45

C++ komplikacja
 
Ilość załączników: 1
Tak sobie przypominam C++, mam bardzo prosty książkowy prawie przykład (lekko zmodyfikowany) o kodzie:
Kod:

//zamiana_celsjusza_na_fahrenheita.cpp
#include <iostream>
#include <locale>

double fahrenheita_licz(int celsjusz);
int main()
{
        setlocale(LC_ALL, "Polish");
        using namespace std;
        cout << "Podaj temperaturę w stopniach celsjusza: ";
        int celsjusz;
        cin >> celsjusz;
        double ff = fahrenheita_licz(celsjusz);
        cout << celsjusz << " stopnie Celsjusz to " << ff << " stopnie Farhrenheita." << endl;
        cout << endl;
        cout << "Aby zakończyć program - naciśnij Enter" << endl;
        cin.get();
        cin.get();
        return 0;
}
double fahrenheita_licz(int celsjusz)
{
        return 1.8 * celsjusz + 32.0;
}

Jak komplikuję pod x86 to program działa ale na wyjściu mam brak plików (output - lewy dolny róg ekranu) - skąd to się bierze - trzeba coś zainstalować dodatkowego czy co?

Zakładam iż czegoś mu brakuje - ale co ???

revolver0 17.10.2015 17:47

Brakuje Ci biblioteki Jednorożec.cpp, a tak poważnie spróbuj to skompilować w normalnym C++.

A gdzie "using namespace std;" /?

mgit 17.10.2015 17:53

A to co nienormalne?

Microsoft Visual Studio Express 2015 - brakuje mu czegoś na bank, ale nie wiem czego - w sensie jakiegoś komponentu z serią tych bibliotek - do których się on odnosi, ale ich nie znajduje...

Jak pisałem, program po skomplikowaniu działa, ale niepokoją mnie te komunikaty o braku plików...

revolver0 17.10.2015 17:54

Z tego co pamiętam miedzy C++ a C++ od Microsoftu są jakieś drobne różnice... "using namespace std;" to chyba powinno być w kodzie.

mgit 17.10.2015 17:59

No przecież jest w funkcji głównej

int main() <-- przyjżyj się kodowi, zaraz pod setlocale

Kod jest poprawny, nie ma problemu ze skomplikowaniem i uruchomieniem programu.... problem jest to co wyświetla się podczas komplikacji w polu output o braku plików

revolver0 17.10.2015 18:00

Fakt jest ale powinno być chyba na początku, a program się wykonuje i działa, sprawdziłem w Codeblock, jak chcesz to Ci podeśle skompilowany program.

Fakt, jest i kompiluje się tam gdzie jest....

joujoujou 17.10.2015 18:03

Przeprowadzka do odpowiedniego działu.

mgit 17.10.2015 18:05

Cytat:

Napisany przez revolver0 (Post 1339865)
Fakt jest ale powinno być chyba na początku, a program się wykonuje i działa, sprawdziłem w Codeblock, jak chcesz to Ci podeśle skompilowany program.

using namespace std; wcale nie musi być na początku (ba nawet może go nie być wcale) to tylko przestrzeń nazw równie dobrze mogę używać std::cout <- do każdego cout a użycie przed int main spowoduje użycie tego dla każdej funkcji, nawet do takiej co tego nie wymaga...

A teraz raz jeszcze przeczytaj ten wątek uważnie i zastanów się o co się rozchodzi w tym wątku...

revolver0 17.10.2015 18:07

A masz zainstalowane Visual C++ Redistributable x86?

mgit 17.10.2015 18:10

Ilość załączników: 1
Cytat:

Napisany przez revolver0 (Post 1339868)
A masz zainstalowane Visual C++ Redistributable x86?

Tak mam :taktak:

revolver0 17.10.2015 18:14

uruchom program jako administrator, tzn vse 2015....

mgit 17.10.2015 18:15

To samo:

Kod:

'Ćwiczenie 6 - Rozdział 2.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ntdll.dll'. Cannot find or open the PDB file.
'Ćwiczenie 6 - Rozdział 2.exe' (Win32): Loaded 'C:\Windows\SysWOW64\kernel32.dll'. Cannot find or open the PDB file.
'Ćwiczenie 6 - Rozdział 2.exe' (Win32): Loaded 'C:\Windows\SysWOW64\KernelBase.dll'. Cannot find or open the PDB file.
'Ćwiczenie 6 - Rozdział 2.exe' (Win32): Loaded 'C:\Windows\SysWOW64\vcruntime140d.dll'. Cannot find or open the PDB file.
'Ćwiczenie 6 - Rozdział 2.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcp140d.dll'. Cannot find or open the PDB file.
'Ćwiczenie 6 - Rozdział 2.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ucrtbased.dll'. Cannot find or open the PDB file.
'Ćwiczenie 6 - Rozdział 2.exe' (Win32): Loaded 'C:\Windows\SysWOW64\advapi32.dll'. Cannot find or open the PDB file.
'Ćwiczenie 6 - Rozdział 2.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcrt.dll'. Cannot find or open the PDB file.
'Ćwiczenie 6 - Rozdział 2.exe' (Win32): Loaded 'C:\Windows\SysWOW64\sechost.dll'. Cannot find or open the PDB file.
'Ćwiczenie 6 - Rozdział 2.exe' (Win32): Loaded 'C:\Windows\SysWOW64\rpcrt4.dll'. Cannot find or open the PDB file.
'Ćwiczenie 6 - Rozdział 2.exe' (Win32): Loaded 'C:\Windows\SysWOW64\sspicli.dll'. Cannot find or open the PDB file.
'Ćwiczenie 6 - Rozdział 2.exe' (Win32): Loaded 'C:\Windows\SysWOW64\cryptbase.dll'. Cannot find or open the PDB file.
'Ćwiczenie 6 - Rozdział 2.exe' (Win32): Loaded 'C:\Windows\SysWOW64\bcryptprimitives.dll'. Cannot find or open the PDB file.


revolver0 17.10.2015 18:18

Zobacz to "Try go to Tools->Options->Debugging->Symbols and select checkbox "Microsoft Symbol Servers", Visual Studio will download PDBs automatically."

mgit 17.10.2015 18:31

O to działa:

Kod:

'Ćwiczenie 6 - Rozdział 2.exe' (Win32): Loaded 'D:\Users\Mateusz\Documents\Visual Studio 2015\Projects\Ćwiczenie 6 - Rozdział 2\Debug\Ćwiczenie 6 - Rozdział 2.exe'. Symbols loaded.
'Ćwiczenie 6 - Rozdział 2.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ntdll.dll'. Symbols loaded.
'Ćwiczenie 6 - Rozdział 2.exe' (Win32): Loaded 'C:\Windows\SysWOW64\kernel32.dll'. Symbols loaded.
'Ćwiczenie 6 - Rozdział 2.exe' (Win32): Loaded 'C:\Windows\SysWOW64\KernelBase.dll'. Symbols loaded.
'Ćwiczenie 6 - Rozdział 2.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ucrtbased.dll'. Symbols loaded.
'Ćwiczenie 6 - Rozdział 2.exe' (Win32): Loaded 'C:\Windows\SysWOW64\vcruntime140d.dll'. Symbols loaded.
'Ćwiczenie 6 - Rozdział 2.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcp140d.dll'. Symbols loaded.
'Ćwiczenie 6 - Rozdział 2.exe' (Win32): Loaded 'C:\Windows\SysWOW64\advapi32.dll'. Symbols loaded.
'Ćwiczenie 6 - Rozdział 2.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcrt.dll'. Symbols loaded.
'Ćwiczenie 6 - Rozdział 2.exe' (Win32): Loaded 'C:\Windows\SysWOW64\sechost.dll'. Symbols loaded.
'Ćwiczenie 6 - Rozdział 2.exe' (Win32): Loaded 'C:\Windows\SysWOW64\rpcrt4.dll'. Symbols loaded.
'Ćwiczenie 6 - Rozdział 2.exe' (Win32): Loaded 'C:\Windows\SysWOW64\sspicli.dll'. Symbols loaded.
'Ćwiczenie 6 - Rozdział 2.exe' (Win32): Loaded 'C:\Windows\SysWOW64\cryptbase.dll'. Symbols loaded.
'Ćwiczenie 6 - Rozdział 2.exe' (Win32): Loaded 'C:\Windows\SysWOW64\bcryptprimitives.dll'. Symbols loaded.

Ale komplikacja przy prostym programie trwa wieczność.

Przestawienie opcji tylko dla specyficznych modułów - w nich lista pusta przestawia to na wyłączone i jest git :)

Teraz zachodzi pytanie co to do jasnej ciasnej to pdb - po co to i na co i czemu jak to włączone to tak długo komplikuje....

revolver0 17.10.2015 18:33

Mnie się od razu skompilował, ale wolno działa...

mgit 17.10.2015 18:36

Cytat:

Napisany przez revolver0 (Post 1339874)
Mnie się od razu skompilował, ale wolno działa...

Za drugim razem jak w kodzie nic nie zmienisz, jest szybko, pierwsza komplikacja trwa wieczność.. jak na tak prosty program...


Lepiej powiedz co to ogóle jest to pdb

EDIt

Już wiem co to.... ale po kiego to jest standardowo włączone to tego nie wiem.... :szczerb:

revolver0 17.10.2015 18:39

Nie mam pojęcia, właśnie vse odinstalowuje, patrzeć na to nie mogę... Ale pomogło to co podałem?, mnie bez tego poszło... Swoją drogą, żeby na Intelu były takie cyrki, to kpina... zazwyczaj to przy AMD są problemy.

Edit1.
Zauważyłem, że przy wyborze co ma być w projekcie, jest opcja "secure coś tam", może odhaczenie tego rozwiązało by problem.

mgit 17.10.2015 18:42

Pomogło...

Jak pisałem wcześniej, bez tego i tak program się komplikował i działał, ale mnie to niepokoiło.

Co do programu to rzecz względna, mi Visual pasuje bardziej od DEV++ (kwestia interfejsu) ;)

EDIT

Ale wiesz, że nawet jak odinstalujesz za pomocą dodaj usuń to aplikacja nadal zostaje w systemie :szczerb:

By się tego pozbyć trzeba w konsoli wydać polecenie odinstalowania z parametrem force :szczerb:

Patrix 17.10.2015 19:19

Komp-lik-acja? A co to? :) Nie używaj polskich znaków w nazwach projektów bo to zły nawyk.

mgit 17.10.2015 19:22

Cytat:

Napisany przez Patrix (Post 1339879)
Komp-lik-acja? A co to? :) Nie używaj polskich znaków w nazwach projektów bo to zły nawyk.

Ok powinno było być kompiluj ale to szczegół

Kwestia polskich znaków - to mnie zaciekawiłeś... dla czego? Uzasadnij ;)

Patrix 17.10.2015 19:48

Po pierwsze kompilator zazwyczaj nie lubi ścieżek, gdzie nie ma zwykłych znaków.
Po drugie wyślij projekt jakiemuś azjacie na przykład to się być może przekonasz ;)

mgit 17.10.2015 20:21

Wysyłanie do Azjatów to mi nie grozi...

:szczerb:

Chociaż kto wie... jak raz wysłałem projekt CAD w polskiej wersji językowej to miałem tyle telefonów od kontrahenta firmy, że następne szły już tylko w English :D


Wszystkie czasy w strefie CET. Aktualna godzina: 00:20.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions Inc.