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...


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

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