logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Czy mogę programować w C++ na Linuxie i wysyłać pliki do Windows?

Cryks 07 Lis 2018 19:04 1731 22
REKLAMA
  • #1 17544657
    Cryks
    Poziom 6  
    Posty: 27
    Ocena: 1
    Mam pewien problem. Posiadam Windowsa (narazie) i robię sobie w C++ proste programy, generalnie takie o banały do szkoły.(Mam Dev C++).
    Teraz chcę przenieść się na Linuxa z pewnych powodów przymusowych. Czy na Linuxie tez będę mógł programowac w c++? Będzie można pobrac sobie Dev C++? Czy wygląd okna programowania bedzie taki sam? A teraz ważna sprawa. Jeżeli w C++ na Linuxie zrobiłbym jakiś prosty program to czy moge wysłac ten program w załączniku przez gmaila to osoby która ma Windowsa? Jeżeli tak, to czy jest to trudne i czego wymaga. I czy ta osoba odbierająca może mieć jakieś błędy w wyniku przesłania i czy w ogóle czy będzie mogła zobaczyć że plik nie pochodzi z Windowsa tylko z Linuxa? Dowiedziałem się o takim czymś jak crosscompiling. Co to?
  • REKLAMA
  • #2 17544675
    dedito
    Poziom 39  
    Posty: 4770
    Pomógł: 527
    Ocena: 593
    Cryks napisał:
    Czy na Linuxie tez będę mógł programowac w c++? Będzie można pobrac sobie Dev C++? Czy wygląd okna programowania bedzie taki sam?
    Tak.
    Cryks napisał:
    A teraz ważna sprawa. Jeżeli w C++ na Linuxie zrobiłbym jakiś prosty program to czy moge wysłac ten program w załączniku przez gmaila to osoby która ma Windowsa?
    Oczywiście.
    Cryks napisał:
    Jeżeli tak, to czy jest to trudne i czego wymaga.
    Robisz tak samo jak na Windows.
    Cryks napisał:
    I czy ta osoba odbierająca może mieć jakieś błędy w wyniku przesłania i czy w ogóle czy będzie mogła zobaczyć że plik nie pochodzi z Windowsa tylko z Linuxa?
    Nie powinna.
    Cryks napisał:
    Dowiedziałem się o takim czymś jak crosscompiling. Co to?
    Takie podstawy wytłumaczy wujek wyszukiwarka.

    Napisz może co, po co i na co ... wtedy można zaproponować coś konkretnego.
  • REKLAMA
  • #3 17544684
    Cryks
    Poziom 6  
    Posty: 27
    Ocena: 1
    dedito napisał:
    Cryks napisał:
    Czy na Linuxie tez będę mógł programowac w c++? Będzie można pobrac sobie Dev C++? Czy wygląd okna programowania bedzie taki sam?
    Tak.
    Cryks napisał:
    A teraz ważna sprawa. Jeżeli w C++ na Linuxie zrobiłbym jakiś prosty program to czy moge wysłac ten program w załączniku przez gmaila to osoby która ma Windowsa?
    Oczywiście.
    Cryks napisał:
    Jeżeli tak, to czy jest to trudne i czego wymaga.
    Robisz tak samo jak na Windows.
    Cryks napisał:
    I czy ta osoba odbierająca może mieć jakieś błędy w wyniku przesłania i czy w ogóle czy będzie mogła zobaczyć że plik nie pochodzi z Windowsa tylko z Linuxa?
    Nie powinna.
    Cryks napisał:
    Dowiedziałem się o takim czymś jak crosscompiling. Co to?
    Takie podstawy wytłumaczy wujek wyszukiwarka.

    "Pisze się tak samo ale problem jest z kompilowaniem. Domyślnie kompilatory kompilują w Windows tylko dla Windows a w LInuxem tylko dla Linuxa. Proces kompilacji w Windows dla Linuxa (i na odwrót) nazywa sie cross-compiling i wymaga odpowiednich narzędzi, bibliotek, plików nagłówkowych. Zwykle jednak łatwiej (wygodniej) jest przesiąść się na docelowy system, zainstalować standardowe narzędzia i skompilować w standardowy sposób."
    To cytat z innego forum, troche te odpowiedzi sie różnią.
  • #4 17544736
    dedito
    Poziom 39  
    Posty: 4770
    Pomógł: 527
    Ocena: 593
    Nie bardzo rozumiem o jakie odpowiedzi Ci chodzi.
    Trochę więcej konkretów by się przydało.
  • #5 17544751
    Cryks
    Poziom 6  
    Posty: 27
    Ocena: 1
    dedito napisał:
    Nie bardzo rozumiem o jakie odpowiedzi Ci chodzi.
    Trochę więcej konkretów by się przydało.

    Dajmy przykład że zrobiłem jakiś prosty programik w C++ na Linuxie. I teraz chcę go wysłac do kolegi przez gmaila, który ma Windowsa. Co robię? Dodaje jakieś biblioteki czy co? Można krok po kroku?
  • REKLAMA
  • #6 17544769
    dedito
    Poziom 39  
    Posty: 4770
    Pomógł: 527
    Ocena: 593
    Wysyłasz źródła i kolega sam je sobie kompiluje.
    Ewentualnie stosujesz wspomniane cross-compiling.
    To nie jest dział dla "krok po kroku".
  • #7 17544783
    Cryks
    Poziom 6  
    Posty: 27
    Ocena: 1
    dedito napisał:
    Wysyłasz źródła i kolega sam je sobie kompiluje.
    Ewentualnie stosujesz wspomniane cross-compiling.
    To nie jest dział dla "krok po kroku".

    A mogę dowiedzieć się jak stosować ten cross-compiling?
  • #8 17547213
    Cryks
    Poziom 6  
    Posty: 27
    Ocena: 1
    Powie mi ktoś jak zainstalować C++ na Linuxa?
    Jakieś komendy to termiana czy co? Bo mi tak normalnie nie działa.
    Jak coś to proszę o linki!
  • #9 17547382
    rzymo
    Poziom 34  
    Posty: 2476
    Pomógł: 206
    Ocena: 322
    Ogólnie proste szkolne programiki zadziałają niezależnie od systemu...

    C++ domyślnie już jest w systemie, myślę, że chodzi Ci o całe środowisko okienkowe. DevC++ jest już naprawdę stary i niewspierany, do wyboru masz np. Code::Blocks, Eclipse CDT, NetBeans.
  • #10 17548809
    Cryks
    Poziom 6  
    Posty: 27
    Ocena: 1
    rzymo napisał:
    Ogólnie proste szkolne programiki zadziałają niezależnie od systemu...

    C++ domyślnie już jest w systemie, myślę, że chodzi Ci o całe środowisko okienkowe. DevC++ jest już naprawdę stary i niewspierany, do wyboru masz np. Code::Blocks, Eclipse CDT, NetBeans.

    Chciałbym po prostu wiedzieć jak zainstalować taki program jak Dev C++. Jak go uruchomić.

    Dodano po 2 [godziny] 5 [minuty]:

    Czy mogę programować w C++ na Linuxie i wysyłać pliki do Windows?
    Pobierając Dev C++ ze strony: https://sourceforge.net/projects/orwelldevcpp/
    Co dalej?
  • #11 17549125
    Konto nie istnieje
    Konto nie istnieje  
  • REKLAMA
  • #12 17549625
    rzymo
    Poziom 34  
    Posty: 2476
    Pomógł: 206
    Ocena: 322
    Nie wiem jak w 14.04, ale sprawdziłem na nowszym Ubuntu (18.04 LTS) - po kliknięciu Wine uruchamia się automatycznie, instalacja przebiega dokładnie tak samo jak pod Windows.
    Dev jako taki działa, prosty kod się kompiluje, ale żeby zobaczyć wynik działania i tak trzeba się udać do konsoli.

    Z tego co widzę wersja linuxowa powstała, ale nie wyszła poza fazę testów. Nie ma sensu się męczyć :)
  • #13 17552659
    Cryks
    Poziom 6  
    Posty: 27
    Ocena: 1
    rzymo napisał:
    Nie wiem jak w 14.04, ale sprawdziłem na nowszym Ubuntu (18.04 LTS) - po kliknięciu Wine uruchamia się automatycznie, instalacja przebiega dokładnie tak samo jak pod Windows.
    Dev jako taki działa, prosty kod się kompiluje, ale żeby zobaczyć wynik działania i tak trzeba się udać do konsoli.

    Z tego co widzę wersja linuxowa powstała, ale nie wyszła poza fazę testów. Nie ma sensu się męczyć :)

    Czy co, nie będę mógł programować w c++ na linuxie?
    Jakie mam inne wyjście?
  • #14 17552673
    rzymo
    Poziom 34  
    Posty: 2476
    Pomógł: 206
    Ocena: 322
    Zainstalować cokolwiek innego niż DevCpp.
    Po prostu :)
  • #15 17553345
    Epic
    Poziom 30  
    Posty: 1098
    Pomógł: 147
    Ocena: 108
    DevC++ to stare środowisko nawet na Windows, dobre do nauki prostych programów i tyle.

    Na Linuxie masz pełno fajnych IDE, na początek proponuje CodeBlocks do poważniejszych rzeczy np. Kdevelop.

    Nie napisałeś nic jakie programy tworzysz, z czego korzystasz itp. Jeżeli korzystasz z WinAPI to na Linuxie nie będziesz mógł korzystać z tych bibliotek(bez bardziej skompilowanych nieopłacalnych zabaw).

    Generalnie w C/C++ na Linuxie programuje się lepiej i przyjemniej. O ile znasz tylko DevC++ to proponuje zapoznać się z jednym z wielu IDE na Linuxa i wybrać które, Ci najbardziej odpowiada.
    Na Windows do poważniejszych rzeczy masz praktycznie tylko Visual Studio, a ono uczy złych przyzwyczajeń.

    Jak chcesz na Linuxie bawić się cross-compile to poczytaj o mingw i cygwin.
    Ogólnie sporo czytania przed tobą. :)
  • #16 17555245
    Cryks
    Poziom 6  
    Posty: 27
    Ocena: 1
    Epic napisał:
    DevC++ to stare środowisko nawet na Windows, dobre do nauki prostych programów i tyle.

    Na Linuxie masz pełno fajnych IDE, na początek proponuje CodeBlocks do poważniejszych rzeczy np. Kdevelop.

    Nie napisałeś nic jakie programy tworzysz, z czego korzystasz itp. Jeżeli korzystasz z WinAPI to na Linuxie nie będziesz mógł korzystać z tych bibliotek(bez bardziej skompilowanych nieopłacalnych zabaw).

    Generalnie w C/C++ na Linuxie programuje się lepiej i przyjemniej. O ile znasz tylko DevC++ to proponuje zapoznać się z jednym z wielu IDE na Linuxa i wybrać które, Ci najbardziej odpowiada.
    Na Windows do poważniejszych rzeczy masz praktycznie tylko Visual Studio, a ono uczy złych przyzwyczajeń.

    Jak chcesz na Linuxie bawić się cross-compile to poczytaj o mingw i cygwin.
    Ogólnie sporo czytania przed tobą. :)

    A w jakich przypadkach trzeba stosować cross-compile? Dla przykładu: Wysłanie kodu programu C++ z Linuxa na Windows?
  • #17 17555309
    Konto nie istnieje
    Poziom 1  
  • #18 17555853
    dedito
    Poziom 39  
    Posty: 4770
    Pomógł: 527
    Ocena: 593
    Cryks napisał:

    A w jakich przypadkach trzeba stosować cross-compile? Dla przykładu: Wysłanie kodu programu C++ z Linuxa na Windows?

    drobok napisał:
    Dokładnie, w wypadku gdy platforma jest inna niż ta na której programujesz. Np gdy piszesz pod windows, albo na przykład na arm.

    Wręcz przeciwnie.
    Gdyby jak pisze, wysyłał kod, wystarczyłaby kompilacja na platformie docelowej.

    Na moje logiczne rozumowanie, jeśli na platformie docelowej jest możliwość kompilacji programu, to w przypadku prostych programów, wybór cross-compiling jest pozbawiony sensu (nie znam środowiska, które dawałoby to do wyboru na etapie kompilacji czy zakładania projektu).

    Co innego jak ktoś te oprogramowanie rozpowszechnia, ale jak kolega wysyła koledze lub samemu sobie program, no to mam wątpliwości co do wyboru tej metody w tym przypadku.
  • #19 17556100
    Epic
    Poziom 30  
    Posty: 1098
    Pomógł: 147
    Ocena: 108
    Dokładnie tak jak napisał @dedito jeżeli rozpowszechniasz sam kod programu, cross-compile Cię nie interesuje.

    Kod prostych programów nie korzystających z zależnych od platformy bibliotek np. Windowsowego WinAPI lub bibliotek Linuxowych, można bez problemu rozsyłać na różne platformy i bez problemu powinien on się na nich skompilować i docelowo uruchamiać.

    Jeżeli chcesz dystrybuować gotowy skompilowany na Linuxie program, tak by dało się go uruchomić na Windows musisz kombinować z Cross-compile.
  • #20 17560420
    Cryks
    Poziom 6  
    Posty: 27
    Ocena: 1
    Dobra yy, nie wiem już jak to zrobiłem, no chociaz pamietam kroki.
    Pobrałem Code Blocks na Linuxa. Coś tam poszperałem na YT i otworzyłem ten program, napisałem jakiś banał typu: cin>>x; cout<<2*x; (oczywiście z całą strukturą) zapisałem na pulpicie i wysłałem gmailem na Windowsa. I na Windowsie jak otworzyłem to wszytko spoko działa. Kompiluje się i w ogóle. Tak ma być? :)
  • #21 17560488
    rzymo
    Poziom 34  
    Posty: 2476
    Pomógł: 206
    Ocena: 322
    Jak już pisałem wcześniej "Ogólnie proste szkolne programiki zadziałają niezależnie od systemu... ", więc tak, jest to normalne że cin >> x; cout << 2*x; skompiluje się i działa tak samo poprawnie na Win i Lin ;)
  • #22 17560509
    Cryks
    Poziom 6  
    Posty: 27
    Ocena: 1
    rzymo napisał:
    Jak już pisałem wcześniej "Ogólnie proste szkolne programiki zadziałają niezależnie od systemu... ", więc tak, jest to normalne że cin >> x; cout << 2*x; skompiluje się i działa tak samo poprawnie na Win i Lin ;)

    A program ze switchem,petlami for, while itd. Też zadziałała?
  • #23 17565926
    rzymo
    Poziom 34  
    Posty: 2476
    Pomógł: 206
    Ocena: 322
    Oczywiście, że tak.

Podsumowanie tematu

✨ Użytkownik z Windowsa planuje przejść na Linuxa i pyta, czy może programować w C++ oraz przesyłać pliki do użytkowników Windowsa. Odpowiedzi wskazują, że programowanie w C++ na Linuxie jest możliwe, a proste programy powinny działać na obu systemach. Dev C++ jest przestarzałym środowiskiem, a zaleca się użycie nowoczesnych IDE, takich jak Code::Blocks, Eclipse CDT czy NetBeans. Cross-compiling jest procesem kompilacji kodu na inną platformę, ale dla prostych programów wystarczy przesłać źródła, które odbiorca skompiluje na swoim systemie. Użytkownik potwierdził, że jego programy działają poprawnie po przesłaniu z Linuxa na Windowsa.
Wygenerowane przez model językowy.
REKLAMA