» »

C++ IDE on Windows

C++ IDE on Windows

kunigunda ::

Po dolgem cajtu rabim spet nekaj naresti v C-ju (verjetno bom C++ uporabil, ker sem se navadil na objekte).

Kateri IDE se priporoca (potrebujem tudi POSIX, ker bom delal veliko s socketi za multiplatform), VS tega ne podpira.
Gledam malo codelite,code:block,netbeans, pa ne bi rad vse zivo instaliral pa probaval.

Razvoj bo sicer na Windows masini.

Mesar ::

Your turn to burn!

Invictus ::

Visual Studio Express ali kako se že reče zastonjski varianti.
"Life is hard; it's even harder when you're stupid."

http://goo.gl/2YuS2x

smoke ::

Invictus, Visual Studio je reko, da ne pride v poštev.

kunigunda, more bit IDE? Za C++ razvoj se dobro obnese tut samo editor. Recimo Sublime Text 3.

trulex ::

Qt Creator

kunigunda ::

smoke je izjavil:

Invictus, Visual Studio je reko, da ne pride v poštev.

kunigunda, more bit IDE? Za C++ razvoj se dobro obnese tut samo editor. Recimo Sublime Text 3.

Ma sm se tok pr eclipsu za javo navadu na autocompletion,refactoring itd. da ne bi cajta se s tem zgublu :)
Sm pa dost let sam v editorju programiru pa ne bi su nazaj :) Ne recem kej mejhnga na hitrco za kak perl al pa shell...
Ze tko se bom s samim C-jem lovil, da nazaj pridm :)

Zgodovina sprememb…

noraguta ::

ma v c-ju AC ni neka nuja, sploh pa za enostavne appe ne. intelisense je fajn če maš kake glomazne frameworke, kjer se enostavno ne splača preletet dokumentacije. soketi so relativno simpl. je prej problem napisat zadevo prav kot pa tist ducat funkcij.
Pust' ot pobyedy k pobyedye vyedyot!

kunigunda ::

tale projekt je kr velik vsaj po arhitekturi kukr sm si zrisu, tko da bi mi AC kr prou prsu.
glede socketov mi zaenkrat s tremi IDE-ji se nc ni ratal, VS posix socketov ne pozna, prav tako tud ostala dva k sm jih probu.
Sicer mi je cudno da ne mingw ne cygwin prav tako nimata sys/socket-ov :S

Mavrik ::

Joj, ti si zdaj celo umetnost naredil okoli tega, da ne veš osnov.

Na windowsih ne boš našel
sys/socket.h
ker je POSIX/BSD kompatibilen socket layer izpostavljen v
winsock.h

Tako da lepo vzameš Visual Studio (ali CLion, ali QT Creator, ali Vim ali karkoli ti ostali govorijo) ter lepo notri vržeš

#ifdef _WIN32 
 
#include <WinSock2.h>
#include <WS2tcpip.h>
#include <stdlib.h>
#include <stdio.h>
 
#pragma comment (lib, "Ws2_32.lib")
#pragma comment (lib, "Mswsock.lib")
#pragma comment (lib, "AdvApi32.lib")
 
#else
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#endif


in pred uporabo pokličeš

#ifdef _WIN32
	int result = WSAStartup(MAKEWORD(2,2), &wsa_data);
	if(result != 0) {
		printf("Error: cannot initialize WinSock.\n");
		WSACleanup();
	}
#endif


če hočeš biti kompatibilen. Prebereš si še pred tem nujno Winsock Programmer's FAQ Articles: BSD Sockets Compatibility ter pogledaš kakšen primer.
The truth is rarely pure and never simple.

Zgodovina sprememb…

  • spremenil: Mavrik ()

phantom ::

Kaj pa Eclipse + CDT, ko si rekel, da si na Eclipse že uporabljal?

Sicer pa je moje najljubši Qt Creator. Nekoliko minimalističen, ampak ima vse kar rabiš, hiter in nehroščat.
~
~
:wq

sisemen ::

kunigunda je izjavil:

VS tega ne podpira.


????? Kaj ne podpira???? Se hecaš? Eclipse in ostala javanska jajčka se lahko skrijejo pred VS, pozabi na vse neumne predloge zgoraj, downlodaj zastonjski visual studio in uzivaj. Kar nimaš v standardnih headerjih spravi pod #ifdef-e, funkcije ki se razlikujejo pa pod #define in jih predefiniraj glede na platformo. Verjetno bos moral tudi _T definirat na drugih platformah, ce bos na windowsih hotel uporabljati unicode. IDE nima sicer nobene veze z "podporo posixu", sploh ne v c/c++u, ti mora biti pa jasno kaj o multiplatformskem developmentu, tukaj ti pa noben IDE ne bo pomagal.

Zgodovina sprememb…

  • spremenilo: sisemen ()

phantom ::

Se hecaš? Meni je VS eden slabših C++ IDE-jev. Eclipse CDT, Qt Creator, KDevelop ... so vsi po vrsti boljši (od zgoraj omenjenih sta samo Eclipse in CLion javanska). Že sam editor v VS je katastrofa.
~
~
:wq

kunigunda ::

Mavrik, nc bat, cel lajf sockete programiram, sam ne v C-ju (java ma zarad VM fajn zrihtan to).
Trenutno mam narjen multithreaded server z winsock, (nocm pa uporabljati raznih APR in ostalih proxy libov, da bom lohk se za linux,mac ipd
prevaju).
Na winsih se sicer da uporabljati tudi posix sockete (naj bi jih imel Cygwin), sam trenutno vidm, da mi bo prevec cajta vzel najdt pravo verzijo,
bom lepo z VS na win platformi najprej framework naredu pa se na koncu ukvarjal z ostalimi sistemi. itak mam objektno tko da bo zlo mal
popravljanja ko bo cajt za to.

phantom je izjavil:

Se hecaš? Meni je VS eden slabših C++ IDE-jev. Eclipse CDT, Qt Creator, KDevelop ... so vsi po vrsti boljši (od zgoraj omenjenih sta samo Eclipse in CLion javanska). Že sam editor v VS je katastrofa.

Ja, tale editor je kr glup (al sem pa prevec navajen eclipse-like ide-ja :)

sisemen je izjavil:

kunigunda je izjavil:

VS tega ne podpira.


????? Kaj ne podpira???? Se hecaš? Eclipse in ostala javanska jajčka se lahko skrijejo pred VS, pozabi na vse neumne predloge zgoraj, downlodaj zastonjski visual studio in uzivaj. Kar nimaš v standardnih headerjih spravi pod #ifdef-e, funkcije ki se razlikujejo pa pod #define in jih predefiniraj glede na platformo. Verjetno bos moral tudi _T definirat na drugih platformah, ce bos na windowsih hotel uporabljati unicode. IDE nima sicer nobene veze z "podporo posixu", sploh ne v c/c++u, ti mora biti pa jasno kaj o multiplatformskem developmentu, tukaj ti pa noben IDE ne bo pomagal.

Sem ze navajen da se MS redko drzi RFCjev. Lohk bi mel podprto, brez toolchainov.

Zgodovina sprememb…

Karlos ::

phantom je izjavil:

Se hecaš? Meni je VS eden slabših C++ IDE-jev. Eclipse CDT, Qt Creator, KDevelop ... so vsi po vrsti boljši (od zgoraj omenjenih sta samo Eclipse in CLion javanska). Že sam editor v VS je katastrofa.


Sem še bolj na začetku programiranja v C++ in testiranju raznih IDE-jev.
Zanimajo me kakšni bolj konkretni argumenti zakaj naj bi bil VS taka katastrofa. V podjetju vsi uporabljajo(mo) VS in mi je zanimivo, da se nobeden ni navadil na kaj drugega.

Kaj jaz trenutno uporabljem / gledam da ima IDE:
* Code completion
* Refactoring
* GIT integration
* Debugger
* CMake support (ni tako zelo pomembno)
* Project navigation
Sai Baba: "Dam vam to, kar hočete, da boste hoteli to, kar vam želim dati."

Zgodovina sprememb…

  • spremenil: Karlos ()

Mavrik ::

kunigunda je izjavil:

Mavrik, nc bat, cel lajf sockete programiram, sam ne v C-ju (java ma zarad VM fajn zrihtan to).
Trenutno mam narjen multithreaded server z winsock, (nocm pa uporabljati raznih APR in ostalih proxy libov, da bom lohk se za linux,mac ipd
prevaju).


Em, saj WinSock socket si POSIX socketi (totalen POSIX API je), samo v drugem headerju so :)
The truth is rarely pure and never simple.

smoke ::

Kaj se mene tiče je bolj problem v Microsoftovemu C++ prevajalniku kot v razvojnem okolju. Visual C++ namreč zelo dobro podpira Microsoftove lastniške razširitve (kako šokantno), ISO C++ standarda pa ne preveč dobro, kar pomeni, da nimaš na voljo vseh teh novih C++11 ter C++14 funkcionalnosti.

Čeprav, če smo čisto iskreni, Visual Studio ni več tako dober produkt kot je bil včasih. Smo ga tudi mi uporabljali na firmi kjer sem delal preko študenta, za razvoj Windows Phone aplikacij (v C# sicer) in se je pogosto dogajalo, da je IntelliSence kar nehal delat, da ti je kar naenkrat celo XAML datoteko podčrtal kot, da je nepravilna, ipd.

kunigunda ::

Jest sm itak dolg rabu da sm sploh su na IDEje, velik jezikov kar v navadnem editorju skoz, pa na roko prevajat :)
Za C sploh (v 90tih, klasicni cc prevajalnik, mislm da je bil takrat turboc eden redkih ide-jev), sam ko sem se v zadnjih letih z javo/eclipse
razvadu, da gre ful hitr razvoj, me pol vse moti pri ostalih. Se bo pac treba navadt se na drugo raso :)

Glede intelisenca sm pa vceri opazu da je zlo pocasn ja, ni blo jasn zakaj neki podcrtano, po 2h minutah pa vse v redu :)

Zgodovina sprememb…

noraguta ::

ker je c++ skrpucalo kjer moraš vso kodo skompajlirat da ugotoviš kater tip je kaj.
anyway, Windows niti niso posix skladni, socketi pa so, tako, da se ne sekiraj preveč.
Pust' ot pobyedy k pobyedye vyedyot!

smoke ::

noraguta, to je seveda tvoje subjektivno mnenje, ki ne spremeni dejstva, da je Visual Studio produkt, ki kar nekaj stane (~5000 eur, če se ne motim za najdražjo različico) in kot kupec pričakuješ, da bo delal kot treba.

noraguta ::

Za vse o čemer se pogovarjamo se dobi zastonj. Da so pa templati deklerativno ničvredni je pa kriva mojA subjektivnost.
pa ne da gre za kako nevem kako fenomenalno orodje.
Pust' ot pobyedy k pobyedye vyedyot!

Zgodovina sprememb…

  • spremenilo: noraguta ()

smoke ::

noraguta, čeprav je Express zastonj, jaz kot uporabnik vseeno pričakujem, da bo delal. Navsezadnje to, da ne dela pove nekaj tudi o plačljivih različicah s katerimi si Express deli kodo (IntelliSense je v vseh različicah enak, predvidevam).

Templati so pa, mimogrede, Turing-complete, torej se da z njimi sprogramirati karkoli, kar pomeni, da niso ničvredni.

Glede opazke, da pa je treba template tip naprej instancirat s konkretnim parametrom, preden dobiš celotno informacijo o tem tipu pa mislim, da je logično. Bistvo templateov je, da so neodvisni od tipov. Ne predstavljam si, da bi recimo sprogramiral podatkovno strukturo dvojno povezan seznam za vsak tip posebaj.

dellon ::

Ma kaki express

Visual studio 2013 pro zastonj:

VS Community eddition

Zgodovina sprememb…

  • spremenil: dellon ()

kunigunda ::

Jest mam Ultimate 2013, karkoli je ze drugacen od communiti pa express. Zaenkrat dela (mal se se lovim z navajenimi tipkami) :)

sisemen ::

phantom je izjavil:

Se hecaš? Meni je VS eden slabših C++ IDE-jev. Eclipse CDT, Qt Creator, KDevelop ... so vsi po vrsti boljši (od zgoraj omenjenih sta samo Eclipse in CLion javanska). Že sam editor v VS je katastrofa.


Ko boš delal bolj kompleksne zadeve kot samo pisal kodo, se boš premislil. Recimo ko boš enkrat potreboval remote debugiranje. Ampak kar uporabljaj te "boljše" GUIje, nekdo, ki mi štalo od Eclipsa da za primer, ne potrebuje visual studia. Mimogrede, tiste detajlčke, zaradi katerih se ti zdijo ostali boljši, kot npr. razni tooli za refaktorirane, sicer dobis pri VS kot 3rd party plugine.

Zgodovina sprememb…

  • spremenilo: sisemen ()

phantom ::

sisemen je izjavil:


Ko boš delal bolj kompleksne zadeve kot samo pisal kodo, se boš premislil. Recimo ko boš enkrat potreboval remote debugiranje. Ampak kar uporabljaj te "boljše" GUIje, nekdo, ki mi štalo od Eclipsa da za primer, ne potrebuje visual studia. Mimogrede, tiste detajlčke, zaradi katerih se ti zdijo ostali boljši, kot npr. razni tooli za refaktorirane, sicer dobis pri VS kot 3rd party plugine.

Ja to je res. VS ima od vseh IDE-jev, ki sem jih uporabljal najboljšo integracijo z debuggerjem, predvsem pa najzanesljivejšo. Pri vseh drugin IDE-jih (Eclipse CDT, KDevelop, QtCreator ...) sem ter tja malo "crkne".

Sam za pisanje C++ kode je, vkolikor v VS 2012 in 2013 ni prišlo do kakšnega čudežnega preboja (jih še nisem probal), eden slabših IDE-jev. V službi smo pred leti (2010) uporabljali VS 2008 + Visual Assist, pa po semantičnem osvetljevanju sintakse, refaktoriranju, predvsem pa performanceu do kolen ni segel Eclipsu. V VS se je naš projekt odpiral ~2 min, da je računalnik nehal mlet in se je dalo delat, medtem ko je Eclipse to odprl v kakšnih 10 s. Plus autocompletion je delal veliko hitreje in predvsem zanesliveje. Tudi VS 2010 se ni dosti bolje odrezal.

Poleg bonbončkov ala semantično osvetljevanje sintakse, refaktorizacija ipd. je problem VS še v čisto osnovnih featurejih editorja. Manjka mu npr. backspace unindents, čiščenje presledkov na koncu, mešano zamikanje z tabi in presledki, poravnavanje vrtice s TAB namesto, da vstavi zamik, camel-case navigation; VS ima retardiran CTRL-backspace, ki ti skoči v prejšnjo vrstico in jo še na koncu še malo pobriše, nerodne default keybininge, itd. Skoraj vsak malo boljši C++ IDE ali programerski editor po tej plati prekaša VS.
~
~
:wq

kunigunda ::

Jest se sicer mal se lovim, samo glede na eclipse (za javo, ne cdt), sm nasel vsaj 20 stvari, ki jih ma eclipse bolje in elegantneje resenih.

sisemen ::

phantom je izjavil:

Poleg bonbončkov ala semantično osvetljevanje sintakse, refaktorizacija ipd. je problem VS še v čisto osnovnih featurejih editorja. Manjka mu npr. backspace unindents, čiščenje presledkov na koncu, mešano zamikanje z tabi in presledki, poravnavanje vrtice s TAB namesto, da vstavi zamik, camel-case navigation; VS ima retardiran CTRL-backspace, ki ti skoči v prejšnjo vrstico in jo še na koncu še malo pobriše, nerodne default keybininge, itd. Skoraj vsak malo boljši C++ IDE ali programerski editor po tej plati prekaša VS.


backspace unindents - shift tab
čiščenje presledkov - dejansko je to feature, ki ga ne bi nikoli uporabil, dejansko nimam pojma zakaj bi to sploh pocel, ce bi pa ze cudezno rabil, regexp search and replace...
mešano zamikanje z tabi in presledki - če bi to počel na mojem projektu bi te lastoročno zadavil, tabi strogo prepovedani (ker te potem zhebe, ko odpres zadevo v viju)
CTRL-backspace - kar se mene tice, deluje pravilno
nerodne default keybininge - stvar okusa

Kar se mene tice, so vsi ti dodatki podpiranje lenobe developerja, edina zadeva, ki mi tukaj steje je refaktoriranje (npr. visual assist) in integracija z debugerjem. Kaj dela s textom mi je cisto vseeno, zaradi mene je lahko notri notepad.

Zgodovina sprememb…

  • spremenilo: sisemen ()

kunigunda ::

Pomoje je bl problem da imas ident size na vi-ju drgac nastiman kot na VS. Ker tab je prakticno zgolj identifikator editorju, kolk identa nardi/prikaze (razen ce ga ne prikaze kot posebn znakc, ala word)

sisemen ::

kunigunda je izjavil:

Jest se sicer mal se lovim, samo glede na eclipse (za javo, ne cdt), sm nasel vsaj 20 stvari, ki jih ma eclipse bolje in elegantneje resenih.


To je bistvo eclipsa, vsi se vecno lovijo. To je pa editor, ki ga raje zamenjam za vim kot uporabljam.

kunigunda je izjavil:

Pomoje je bl problem da imas ident size na vi-ju drgac nastiman kot na VS. Ker tab je prakticno zgolj identifikator editorju, kolk identa nardi/prikaze (razen ce ga ne prikaze kot posebn znakc, ala word)


Vsak trapast editor nekaj cara okrog tabov, najbolj elegantno je, da jih ne uporabljas, nastimas v editorju da replaca tab z 4x space in imas mir za vse vecne case. Da bi pa mesal oboje... fardirbam te...

Zgodovina sprememb…

  • spremenilo: sisemen ()

kunigunda ::

Ja oboje je pa za kozlat, se strinjam, al eno al drugo.

krneki0001 ::

A dev-cpp ne obstaja več al kaj?
http://www.bloodshed.net/dev/devcpp.html
Asrock X99 Extreme 4 | Intel E5-2683V4 ES | 64GB DDR4 2400MHz ECC |
Samsung 250GB M.2 | Asus 1070 TI | 850W Antec | LC Tank Buster

noraguta ::

kumpkicerate, če vam je všeč vim pač pišete v vimu. VS ga čisto lepo gosti kot editor.
Pust' ot pobyedy k pobyedye vyedyot!

phantom ::

ViM in Emacs po defaultu mešata tabe in presledke. Po osem presedkov na začetku vrstice ti avtomatsko združita v tab. To se pogosto uporablja v GNU-jevskih projektih.
~
~
:wq

noraguta ::

huda jeba. vse skp spustiš čez code formater, če je človek res tolk silno občutljiv.
Pust' ot pobyedy k pobyedye vyedyot!

sisemen ::

noraguta je izjavil:

huda jeba. vse skp spustiš čez code formater, če je človek res tolk silno občutljiv.


Pa si upaš? Boš šel na roko gledat nekaj 100k vrstic kode, če je pravilno sformatiral in ni nekje morda pogoltnil kaksno crko, izpustil kaksen {}?

noraguta je izjavil:

kumpkicerate, če vam je všeč vim pač pišete v vimu. VS ga čisto lepo gosti kot editor.


Ne ce vam je všeč, ce na projektu dela X developerjev, si lahko potencialno izmisli vsak svoj editor. Razen tega je včasih treba kaj popravit na unix mašini in scompajlat in ni nujno da je gor kaj drugega kot vi.

Zgodovina sprememb…

  • spremenilo: sisemen ()

BigWhale ::

phantom je izjavil:

ViM in Emacs po defaultu mešata tabe in presledke. Po osem presedkov na začetku vrstice ti avtomatsko združita v tab. To se pogosto uporablja v GNU-jevskih projektih.


Tole pa ne vem kje si pobral, ker niti priblizno ni res.

noraguta je izjavil:

huda jeba. vse skp spustiš čez code formater, če je človek res tolk silno občutljiv.


To je nekaj cesar se ne pocne. Coding standard je nekaj cesar se je treba drzati. Plus tega vsako tako spreminjanje kode ni ravno najboljse, ker nardi totalno stalo v code repositorijih.

Zgodovina sprememb…

  • spremenil: BigWhale ()

krneki0001 ::

Ne vem kaj ima tukaj linux veze, če je pa naslov teme "C++ IDE on Windows".

Devcpp za C in C++ programiranje je na windowsih že dovolj, da napišeš kar nekaj vrstic kode brez problemov.
Asrock X99 Extreme 4 | Intel E5-2683V4 ES | 64GB DDR4 2400MHz ECC |
Samsung 250GB M.2 | Asus 1070 TI | 850W Antec | LC Tank Buster

smoke ::

Dajte no nehat priporočat Dev-Cpp. Ta IDE je bil zastarel že takrat, ko smo ga mi v srednji šoli uporabljali, pa je že nekaj časa odkar sem šel iz srednje. Da ne omenjam dejstva, da ima zraven prastaro različico GCC-ja, ki niti C++98 standarda v celoti ne podpira.

sisemen je izjavil:


Pa si upaš? Boš šel na roko gledat nekaj 100k vrstic kode, če je pravilno sformatiral in ni nekje morda pogoltnil kaksno crko, izpustil kaksen {}?


Orodja za formatiranje praviloma itak brišejo samo "whitespace" znake, torej ni bojazni za kaj takega. Clang-format je recimo en izmed boljših, ker kot back-end uporablja sam Clang prevajalnik.

noraguta ::

seveda se upam, stroji so pri tem dosledni ljudje pa šlampasti.
glede respozitorijev se pa že ti pobrigajo za te stvari tako git kot diff znata mirno požret kakršno koli svinjarijo iz katere delate znanost. prov kar naredi lexer u prevajalniku je da pošlje k vragu ves coding style, ker vse skupaj ni drugega kot nabijanje prazne slame(znakov).
Ne ce vam je všeč, ce na projektu dela X developerjev, si lahko potencialno izmisli vsak svoj editor. Razen tega je včasih treba kaj popravit na unix mašini in scompajlat in ni nujno da je gor kaj drugega kot vi.

če je na mašini kompajler, je lahko tudi jed. sicer pa kakor sem rekel vs editor se da zamenjati za gvim komponento. v splošnem pa dvomimm, da prav veliko hardkor unixsašov razvija v VSju.
Pust' ot pobyedy k pobyedye vyedyot!


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Prišel je Visual Studio 2017 (strani: 1 2 )

Oddelek: Novice / Ostala programska oprema
5019678 (16168) Qushaak
»

Igre na Linuxu še vedno počasnejše kot na Windows (strani: 1 2 )

Oddelek: Novice / Igre
7624993 (20642) MrStein
»

programski jezik C (začetni nivo)

Oddelek: Programiranje
71294 (1156) noraguta
»

Programerski software

Oddelek: Programiranje
93676 (2801) Qushaak
»

V katerem editorju programirate?

Oddelek: Programiranje
404980 (3754) terryww

Več podobnih tem