Vývoj pro C99

OpicakMurděj

Vývoj pro C99
« kdy: 23. 08. 2018, 20:52:12 »
Zdar jak sviňa!

Dělal jsem v Cčku (ne C++) kdysi dávno, teď potřebuji něco uplácat v Linuxu.

  • Mám Linuxový server, kde to překládám v GCC
  • Na linuxu nemám žádné Gui, Mám sice dobrou, ale Widlí stanici
  • Hodně část knihoven nelze přeložit pod Widlema

A co mám za problém:
  • V čem to psát? Rád bych nějaké napovídání syntaxe. Třeba upozornění, že mi někde chybí })" atd.
  • Editor bych měl rád ve Windows.
  • Největší průser, jak to debugovat, abych viděl, jaké hodnoty mám v té které proměnné?

Z projektu by mohly být nakonec i nějaké prašule, ale musí to mít nějakou štábní kulturu.
Debuger v GCC mi přijde hrozně těžkopádný.
Nechci měsíc studovat debuger, potřebuji se soustředit na problém.
Jako nechci psát něco ve smyslu "ZLATÝ C#", ale zlatý C#.

Co s tím kua?


gegi

Re:Vývoj pro C99
« Odpověď #1 kdy: 23. 08. 2018, 21:06:54 »
Chceš vyvíjet ve Windows  ale zároveň něco tak závislého na linuxovém prostředí, že nemá smysl uvažovat nad multiplatformnim vyvoji? To je docela neprůchodné no. Nejjednodušší budeš mít prostě doma rozjet VirtualBox a jet v tom.

Ale jestli chceš něco jako visual studio tak good luck. Čekej, že ti sem odpoví pár rozohněných individuií co považují IDE za slepou vývojvou uličku a práci s primitivními nástroji jako znak tvrďáka programátora.

C_Lopata_ktora_nema_100k

Re:Vývoj pro C99
« Odpověď #2 kdy: 23. 08. 2018, 21:11:20 »
Zozenies si poriadne Widle, najlepsie 7 zube.. ale aj tie 10 zube sa daju...

a) Na svojom super-gcc-linuxovom stroji si nazdielas (ak ti to dovoluje) sambu alebo donutis windows aby pouzival rsync.
T.j. zdrojaky budes "pisat" /Napr Visual Studio Code/ na WIN, spravis sync na remote a kompilujes na Linuxe.
Na svojom uber-gcc-linuxovom stroji si spustis gdbserver ... z Windowsu sa cez GDB pripojis a debugujes.. nastavis sysroot, solid-paths, debug symbols a pod...

ab) Aby ti GDB nemuselo tahat vsetky libky a dependency, tak si na windowse spravis sysroot targetu, nastavis to do GDB a debugujes nasobne rychlejsie...

Debugujem takto jednu krasnu appku (cross compilacia, cross debug) a na 100mb linke to ide v pohode :). Dokonca to VSC je v pohode..


OpicakMurděj

Re:Vývoj pro C99
« Odpověď #3 kdy: 23. 08. 2018, 21:12:13 »
Teď to Murdějuji v PSpadu, což funguje, program má asi dva tisíce řádek v dvanácti modulech.
Nicméně to nabobtnalo a potřebuji to učesat.
Chci to zdebugovat, ošetřit hraniční hodnoty, deprasifikovat to.

Teoreticky by mi stačil možná debuger, který bude mít rozhraní jako midnighthcommander.
Pseudografické nebo jak se tomu nadává?

Kit

Re:Vývoj pro C99
« Odpověď #4 kdy: 23. 08. 2018, 21:14:57 »
Nasdílej zdrojáky přes Sambu a kompilaci spouštěj třeba přes PuTTY.


gll

  • ****
  • 429
    • Zobrazit profil
    • E-mail
Re:Vývoj pro C99
« Odpověď #5 kdy: 23. 08. 2018, 21:16:34 »

OpicakMurděj

Re:Vývoj pro C99
« Odpověď #6 kdy: 23. 08. 2018, 21:16:39 »
linuxovom stroji si spustis gdbserver ... z Windowsu sa cez GDB pripojis a debugujes..

Hustý, co že si to mám spustit na Widlích, abych to mohl debugovat přes GDBserver?

www.codeblocks.org to asi koukám umí viď?
Interfaces GNU GDB

OpicakMurděj

Re:Vývoj pro C99
« Odpověď #7 kdy: 23. 08. 2018, 21:17:26 »
Nasdílej zdrojáky přes Sambu a kompilaci spouštěj třeba přes PuTTY.

Nepotřebuji, když se to edituje přes WinSCP a PuTTY, kód se synchronizuje.
Funguje to vážně rychle.

OpicakMurděj

Re:Vývoj pro C99
« Odpověď #8 kdy: 23. 08. 2018, 21:18:24 »

Kit

Re:Vývoj pro C99
« Odpověď #9 kdy: 23. 08. 2018, 21:20:30 »
Teď to Murdějuji v PSpadu, což funguje, program má asi dva tisíce řádek v dvanácti modulech.
Nicméně to nabobtnalo a potřebuji to učesat.
Chci to zdebugovat, ošetřit hraniční hodnoty, deprasifikovat to.

Když už PSpad, tak to můžeš rovnou použít Vim přímo na tom serveru, ze kterého se to dá přímo kompilovat a debugovat.

BTW: Dva tisíce řádek ve dvanácti modulech? Takovou prkotinu můžeš psát v čemkoli.

Re:Vývoj pro C99
« Odpověď #10 kdy: 23. 08. 2018, 21:33:06 »
Visual Studio 2017 podporuje programování pro Linux, je jen potřeba při jeho instalaci vybrat příslušný balíček.

Funguje to tak, že se při překladu (a zřejmě i spuštění v debuggeru) zdrojáky nakopírují
 na linuxový server, kde se skrz gcc zkompilují a případně spustí. Myslím, že Visual Studio tam pak používá gdb, takže vás odstíní od "pekla příkazové řádky".

Má to samozřejmě své limity (ta podpora tam myslím není dlouho), ale úspěšně to používám pro ověření, že moje multiplatformní kódy jsou stále multiplatformní co se týče kompilace.

gegi

Re:Vývoj pro C99
« Odpověď #11 kdy: 23. 08. 2018, 21:36:26 »
Visual Studio 2017 podporuje programování pro Linux, je jen potřeba při jeho instalaci vybrat příslušný balíček.

Funguje to tak, že se při překladu (a zřejmě i spuštění v debuggeru) zdrojáky nakopírují
 na linuxový server, kde se skrz gcc zkompilují a případně spustí. Myslím, že Visual Studio tam pak používá gdb, takže vás odstíní od "pekla příkazové řádky".

Má to samozřejmě své limity (ta podpora tam myslím není dlouho), ale úspěšně to používám pro ověření, že moje multiplatformní kódy jsou stále multiplatformní co se týče kompilace.

Tak to jsem vubec netušil, to vypadá to zajímavě.  Umí to i express verze?

OpicakMurděj

Re:Vývoj pro C99
« Odpověď #12 kdy: 23. 08. 2018, 21:36:29 »
Takovou prkotinu můžeš psát v čemkoli.

Taky jsem to napsal v PSpadu ;D

Visual Studio 2017 podporuje Linux

Jenže oni používají to jejich AI, jinými slovy tvůj kód jde někam pryč a pak zase zpět.
https://visualstudio.microsoft.com/cs/services/intellicode/

Microsoftu je do mojí práce houno.
Jestli se nepletu, tak tohle posílání kódu do čmoudu a zpět se dá vypnout jen u verzí PRO.

OpicakMurděj

Re:Vývoj pro C99
« Odpověď #13 kdy: 23. 08. 2018, 21:44:44 »
FYI:

Jsem objevil, že http://www.codeblocks.org/ to vzdálené debugování umí a dokonce u mí i vývoj na Widlows s kompilací na Linuxu.

http://wiki.codeblocks.org/index.php?title=Using_Xming_for_remote_compilation

Budu to muset vyzkoušet.

Ještě jedna věc, nějaký vizuální ksicht pro GDB ve stylu MidnightCommandera, kdybych se rozhodl, že to budu zatím dál patlat v PSpadu? (Který je mimochodem super užitečný.)

D.A. Tiger

  • ****
  • 486
  • Tygr, který žere tučňáka ;-)
    • Zobrazit profil
    • E-mail
Re:Vývoj pro C99
« Odpověď #14 kdy: 23. 08. 2018, 21:46:11 »
linuxovom stroji si spustis gdbserver ... z Windowsu sa cez GDB pripojis a debugujes..

Hustý, co že si to mám spustit na Widlích, abych to mohl debugovat přes GDBserver?

www.codeblocks.org to asi koukám umí viď?
Interfaces GNU GDB

CodeBlocks uz par let pouzivam, podle meho nazoru je to slusne propracovany multiplatomrni IDE pro C/C++ Bez mraku hovadin, ktere jsou tam jen na ozdobu a pro image jako treba v MS VS. Ma interface pro GDB, vcetne takovych veci jako je trasovani, sledovani hodnot promenych a pod. ( ale stejne bych ti doporucil - ze svych skusenosti - naucit se s GDB pracovat primo,jednak to neni tak slozite a jednak tak ziskas jeho plnou silu). Co je blbe, neumi (nebo o tom nevim) spolupracovat s autotools, nebo dokonce primo generovat aspon makefile, preklad projektu si ridi sam. V tomto je zas dobra Anjuta. Nicmene CodeBlocks projekt jako takovy lze (napr.) exportovat do cmake pravidel. 


Jsou i dalsi:
Eclipse, Anjuta, KDevelop (ten je hodne rozsahly, na moje potreby az moc) atd.... staci hledat
Jinak IDE se hodi - dle meho skromneho nazoru - spis na rozsahlejsi projekty. Drobotinu delam rucne. Je to rychlejsi :)
« Poslední změna: 23. 08. 2018, 21:48:39 od D.A. Tiger »