• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Błąd podczas Otwierania programu z pliku .exe

42 Warsaw Coding Academy
0 głosów
163 wizyt
pytanie zadane 25 grudnia 2024 w Systemy operacyjne, programy przez kerpixd Nowicjusz (180 p.)

Uczę się programowania nie za długo i ostatnio wpadłem na wkurzający problem gdy uczyłem sie użycia funkcji charset bądź też system(pause) i chciałem je przetestować wyskakiwał mi ten błąd.

1
komentarz 25 grudnia 2024 przez adrian17 Mentor (353,220 p.)
To trochę mało mówi.

W czym piszesz kod? Co się dzieje jak odpalasz w tym IDE? Jak wygląda kod?

Co się stanie jak odpalisz program z konsoli, coś się pokazuje?

Jeszcze tylko zaznaczę że nowy Windows Terminal teraz normalnie obsługuje utf-8 i ogólnie ludzie dzięki temu nie muszą tyle o charsetach myśleć.
komentarz 25 grudnia 2024 przez kerpixd Nowicjusz (180 p.)

Pisze kod w code blocksie samego kodu to nie dotyczy bo w code blocksie działa normalnie  ten, i jest ten sam błąd jak odpalam program z konsoli.

#include <iostream>

using namespace std;

int liczba[10000000],x=1,ile,suma;
int main()
{
    cout << "ile liczb fibonaciego mam wyznaczyc: " << endl;
    cin>>ile;

    ile+=2;
    liczba[0]=1;
    liczba[1]=1;

    for(int i=2; i<ile; i++)
    {
        liczba[i]=suma;
        suma=liczba[i]+liczba[i-1];
        cout<<suma<<" ";
    }
    return 0;
}

 

komentarz 25 grudnia 2024 przez VBService Ekspert (256,600 p.)
edycja 25 grudnia 2024 przez VBService

Komunikat błędu na obrazku jest nieczytelny.

Poczytaj o:  Zasięg zmiennych w C++, bo zapis w Twoim kodzie wymaga przemyślenia.

int liczba[10000000], x=1, ile, suma;
int main()
{
    ...
}

a

int main()
{
    int liczba[10000000], x=1, ile, suma;
    ...
}

 

BTW,

w podanym kodzie nigdzie nie używasz zmiennej x

int liczba[10000000], x=1, ...

może zamiast

int liczba[10000000],x=1,ile,suma;
int main()
{
    cout << "ile liczb fibonaciego mam wyznaczyc: " << endl;
    cin>>ile;
 
    ile+=2;
    ...
}

zapisz po prostu

int liczba[10000000], ile=2, suma=0;
int main()
{
    cout << "ile liczb fibonaciego mam wyznaczyc: " << endl;
    cin>>ile;

    ...
}

 

komentarz 25 grudnia 2024 przez adrian17 Mentor (353,220 p.)

bo zapis w Twoim kodzie wymaga przemyślenia

VBService, masz rację że globalne zmienne są złe, ale Twój kod jest jeszcze gorszy, bo masz praktycznie gwarantowany stack overflow.

Osobiście, cały czas czekam na

Co się stanie jak odpalisz program z konsoli, coś się pokazuje?

Bo na razie naprawdę za mało wiemy.

komentarz 25 grudnia 2024 przez kerpixd Nowicjusz (180 p.)

kod rzeczywiście jest tragiczny a co do odpalania z konsoli nic sie nie dzieje poza pokazaniem identycznego błędu

 

komentarz 25 grudnia 2024 przez VBService Ekspert (256,600 p.)

Twój kod jest jeszcze gorszy, bo masz praktycznie gwarantowany stack overflow.

masz rację, coś Mnie przyćmiło, zmienna ile jest też wprowadzana przez użytkownika, więc zapis

ile+=2;

ma sens.

1 odpowiedź

0 głosów
odpowiedź 26 grudnia 2024 przez kerpixd Nowicjusz (180 p.)

Problem już rozwiązałem choć zajeło mi to bardzo długo okazało się że aplikacja była źle uruchomiona poprzez skoruptowany plik libstdc++-6.dll(był pobrany w 32bitowej wersji a nie w 64 co nie zgadzało się z moim programem) który znalazłem dzięki pobraniu process monitor po usunięciu pisało o braku tego pliku więc pobrałem go ze strony poza tym byly dwa kolejne errory ktore pisaly o braku libwinpthread-1.dll oraz libgcc_s_seh-1.dll po pobraniu plik .exe działał normalnie

2
komentarz 26 grudnia 2024 przez adrian17 Mentor (353,220 p.)

był pobrany w 32bitowej wersji a nie w 64

…wait, ale nie powinieneś musieć nic pobierać, te pliki już były na Twoim komputerze w miejscu gdzie instalowałeś codeblocksa z mingw, nawet w najgorszym przypadku wystarczyło je przekopiować żeby były obok .exe.

Jeśli pobierasz losowe .dll z internetu to masz 50/50 że właśnie sprawiłeś sobie wirusa.

Podobne pytania

0 głosów
0 odpowiedzi 299 wizyt
–3 głosów
2 odpowiedzi 526 wizyt
pytanie zadane 18 sierpnia 2023 w Systemy operacyjne, programy przez niezalogowany
+1 głos
2 odpowiedzi 874 wizyt
pytanie zadane 25 września 2021 w C i C++ przez DeniS1 Początkujący (410 p.)

93,389 zapytań

142,385 odpowiedzi

322,547 komentarzy

62,749 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...